matlab拟合曲线及图形i 20 30 40 50 60 70 80 90 100 110 120vi 0 0 43 143 303 497 650 805 913 1000 1075vi=a+bi
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 16:17:36
matlab拟合曲线及图形i 20 30 40 50 60 70 80 90 100 110 120vi 0 0 43 143 303 497 650 805 913 1000 1075vi=a+bi
matlab拟合曲线及图形
i 20 30 40 50 60 70 80 90 100 110 120
vi 0 0 43 143 303 497 650 805 913 1000 1075
vi=a+bi
matlab拟合曲线及图形i 20 30 40 50 60 70 80 90 100 110 120vi 0 0 43 143 303 497 650 805 913 1000 1075vi=a+bi
>> clear
>> i=[20,30,40,50,60,70,80,90,100,110,120];
>> vi=[0,0,43,143,303,497,650,805,913,1000,1075];
>> A=[i;ones(size(i))]';
>> c=A\vi';
>> a=c(2);
>> b=c(1);
>> vvi=a+b*i;
>> plot(i,vi,'.',i,vvi,'r')
做出的图,点表示原始数值.红线为拟合的直线.
楼上回答者:wacs5 的思路很好,欣赏。咱们的效果一样。
clc;clear
i=[ 20 30 40 50 60 70 80 90 100 110 120] ;
vi=[ 0 0 43 143 303 497 650 805 913 1000 1075 ];
p=polyfit(i,vi,1);
y=poly2sym(p)
a=p(2),b=p(...
全部展开
楼上回答者:wacs5 的思路很好,欣赏。咱们的效果一样。
clc;clear
i=[ 20 30 40 50 60 70 80 90 100 110 120] ;
vi=[ 0 0 43 143 303 497 650 805 913 1000 1075 ];
p=polyfit(i,vi,1);
y=poly2sym(p)
a=p(2),b=p(1)
vip=a+b*i;
plot(i,vi,'o',i,vip)
结果:
y =
3414/275*x-20651/55
a =
-375.47
b =
12.415
收起
i=[ 20 30 40 50 60 70 80 90 100 110 120] ;
vi=[ 0 0 43 143 303 497 650 805 913 1000 1075 ];
p=polyfit(i,vi,1);y=polyval(p,i);
plot(i,vi,'*',i,y),figure(gcf)
呵呵,我给你的程序最简单了,就短短的4行,图像也做...
全部展开
i=[ 20 30 40 50 60 70 80 90 100 110 120] ;
vi=[ 0 0 43 143 303 497 650 805 913 1000 1075 ];
p=polyfit(i,vi,1);y=polyval(p,i);
plot(i,vi,'*',i,y),figure(gcf)
呵呵,我给你的程序最简单了,就短短的4行,图像也做出来了,用的是最小二成拟合法!上面的程序自己执行看看
其中变量p中存的就是参数a和b
收起