matlab 曲线拟合
程序员文章站
2022-03-31 20:53:18
...
最近常用matlab画图,画完也没有保存代码的习惯,整理一下,下次画类似的图直接粘代码填数据就好了
一次拟合
x=[10 50 100 150 200 250 300 350];
y1=[9.43 7.93 6.84 6.02 6.32 5.74 5.29 4.90];
y2=[14.15 13.69 11.05 9.70 10.15 9.13 8.62 8.26];
xi=(10:0.1:350);
yi1=interp1(x,y1,xi,'spline');
yi2=interp1(x,y2,xi,'spline');
figure;
plot(xi,yi1,'-')
hold on;
plot(xi,yi2,'--');
hold on;
legend('西勒','克拉泼')
plot(x,y1,'o');
hold on;
plot(x,y2,'o');
xlabel('电容C(pf)');
ylabel('振荡频率f(MHz)');
title('频率与电容关系曲线');
n次拟合
代码为二次拟合,将ployfit中的2改为n,n为想要拟合的次数
x1=[9.43 7.93 6.84 6.02 6.32 5.74 5.29 4.90];
x2=[14.15 13.69 11.05 9.70 10.15 9.13 8.62 8.26];
y1=[1.36 1.44 1.34 1.26 0.94 0.88 0.80 0.68];
y2=[0.15 0.74 1.20 1.48 0.96 1.28 1.48 1.62];
[p21,s21]=polyfit(x1,y1,2);
[p22,s22]=polyfit(x2,y2,2);
y21=polyval(p21,x1);
y22=polyval(p22,x2);
figure;
plot(x1,y21,'-')
hold on;
plot(x2,y22,'--');
hold on;
legend('西勒','克拉泼')
plot(x1,y1,'o');
hold on;
plot(x2,y2,'o');
xlabel('频率f(MHz)');
ylabel('输出电压Vp-p(v)');
title('频率与幅度曲线');
上一篇: Matlab数据拟合
下一篇: Matlab曲线polyfit拟合求参数