matlab 画 y = 0.4425 * x^2 + 10.2174 * x + 78.6547

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:48:26
x = [-10.8974 -16.7715 -19.3780 -23.9206 -24.5095]
y = [20 30 50 80 100]
p = polyfit(x, y, 2)
v = p(1) * x.^2 + p(2) * x + p(3)
plot(x, y, 'o', x, v)
我是这么画的,可是得到的曲线不是圆滑的,怎样才能改成圆滑曲线(那几个圆点一定要在图里面);其他要求是:x坐标轴要每10个刻度有一个标记,范围是10到100;y坐标轴默认就行。图的右上角加个label=“曲线拟合对比”。
谢谢高手解答!

%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%

clc
clear
x = [-10.8974 -16.7715 -19.3780 -23.9206 -24.5095] ;
y = [20 30 50 80 100] ;
p = polyfit(x, y, 2) ;
xi=0:0.1:100;
yi=polyval(p,xi);
subplot(211)
plot(x, y,'o-')
subplot(212)
plot(xi,yi,'r')
xtick=0:5:100;
for ii=0:2:21
xticklabel{ii+1}=ii*5;
end
legend('曲线拟合对比')
set(gca,'xtick',xtick,'xticklabel',xticklabel)

interp1一维插值就好

画坐标系 在上边找出坐标点