📄 curvefit05.m
字号:
%curvefit05.m
xdata=[0:pi/10:2*pi];
ydata=[-1.0619 -0.4890 0.0896 0.6672 1.2370 1.7922 2.3264 ...
2.8333 3.3069 3.7418 4.1327 4.4751 4.7650 4.9990 ...
5.1743 5.2889 5.3414 5.3312 5.2585 5.1241 4.9295];
x0=[1.2,0.2,-0.2]; %迭代计算中a,b,c的初值
x=curvefit('curvefun',x0,xdata,ydata) %拟合计算,调用已编好的M文件curvefun.m
xi=0:pi/100:2*pi; %将原区间细化,取更多的自变量值
yi=x(1)*sin(x(2)*xi+x(3)); %计算拟合好后的函数值x(1)=a,x(2)=b,x(3)=c
plot(xdata,ydata,'.k','markersize',20) %绘制原数据点图形
hold on
plot(xi,yi,'-r','markersize',40) %绘制拟合函数曲线图
title('y=asin(bx+c)的拟合曲线图')
pause
a=5.345;
b=0.345;
c=-0.2;
x1=0:pi/20:2*pi;
y1=a*sin(b*x1+c); %计算原函数值
hold on
plot(x1,y1,'+b','markersize',5) %绘制原函数曲线图
text(2,2,'拟合曲线')
text(1.5,3.5,'原函数曲线')
legend('实验数据点','拟合曲线','原函数曲线',2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -