欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 拟合