matlab回归拟合相关问题
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/27 19:35:47
matlab回归拟合相关问题
我想用多组数据(就是同一变量在相同的一段时间内不同的批次下的测得的三组数据)训练一个一元二次函数,就是有三组数据,自变量都是相同的时间段(测量的时间点不一定相同),但是由于批次的不同,测得的因变量不同,怎么用三组数据拟合成一条曲线
我想用多组数据(就是同一变量在相同的一段时间内不同的批次下的测得的三组数据)训练一个一元二次函数,就是有三组数据,自变量都是相同的时间段(测量的时间点不一定相同),但是由于批次的不同,测得的因变量不同,怎么用三组数据拟合成一条曲线
![matlab回归拟合相关问题](/uploads/image/z/19224127-55-7.jpg?t=matlab%E5%9B%9E%E5%BD%92%E6%8B%9F%E5%90%88%E7%9B%B8%E5%85%B3%E9%97%AE%E9%A2%98)
把三段数据拼接到一起,然后做拟合就可以了,假设自变量都是t,三组数据是x1,x2,x3:
t=1:10;x1=(1:10)+randn([1,10]);x2=(1:10)+randn([1,10]);x3=(1:10)+randn([1,10]);t=[t,t,t];x=[x1,x2,x3]; p=polyfit(t,x,2)figure;hold on;plot(t,x,'k*');t=1:10;f=polyval(p,t);plot(t,f,'r');legend('原始数据','二阶拟合');
效果图:
再问: 如果三个数组的元素个数不同怎么办?
再答: 元素不一样就是t变成对应x1,x2,x3的 [t1,t2,t3] 就行了么。这个不影响拟合。
再问:
我的t,t2,t1长度不一样,报错了,大神怎么解决啊
再答: 哎,孩子,你这个是列向量,肯定就得用分号连接了么,那样连接出来才是一列么~~~~啦啦啦~~~
t=1:10;x1=(1:10)+randn([1,10]);x2=(1:10)+randn([1,10]);x3=(1:10)+randn([1,10]);t=[t,t,t];x=[x1,x2,x3]; p=polyfit(t,x,2)figure;hold on;plot(t,x,'k*');t=1:10;f=polyval(p,t);plot(t,f,'r');legend('原始数据','二阶拟合');
效果图:
![](http://img.wesiedu.com/upload/9/f5/9f543d4d497d4fb3f7f2051dbce1a866.jpg)
再问: 如果三个数组的元素个数不同怎么办?
再答: 元素不一样就是t变成对应x1,x2,x3的 [t1,t2,t3] 就行了么。这个不影响拟合。
再问:
![](http://img.wesiedu.com/upload/4/81/4810b67e2e18d22fdfb5f1d8da5d2395.jpg)
再答: 哎,孩子,你这个是列向量,肯定就得用分号连接了么,那样连接出来才是一列么~~~~啦啦啦~~~