How to create a string that depends on user input variables?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi,
I am currently writing a script in which data collected from a separate file is used to plot curve fits.
I also need to include the equation used for the curve fit on the plot.
I encountered an issue when attempting to do this with a general polynomial, as the degree of the polynomial is decided by the user.
A shortened version of my code is this:
data = load('data_1.txt');
x = data(:,1);
y = data(:,2);
d = input('To what degree would you like your polynomial?');
p = polyfit(x,y,d);
yfit = polyval(p,x);
plot(x,y,'bo',x,yfit,'r--')
I need a way to create a string that is the correct form of the equation of the polynomial so that it can be properly displayed on the plot.
For example, if the user chooses degree 2, I need to display the equation "p(1)*x^2 + p(2)*x + p(3)" on the plot.
Is there a way to do this for any value of degree?
Any help is appreciated, thanks.
댓글 수: 0
답변 (2개)
Rik
2021년 2월 28일
You can create this text with sprintf and some minor tweaks:
str=sprintf('p(%d)*x^%d +', [1:d;(d-1):-1:0]);
str=strrep(str,'^1','');
str=strrep(str,'x^0 + ','');
참고 항목
카테고리
Help Center 및 File Exchange에서 Polynomials에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!