作者perrywu (无尾熊宝宝)
看板MATLAB
标题[其他] 想请问一下多笔资料polyfit的写法
时间Wed Apr 29 19:12:14 2015
各位先进好
小弟是matlab新手
现在有多笔资料需要做polyfit
例:现在有三个matrix(称A,B,C)大小一样 分别存放Data
A=[a11 a12...a1n; B=[b11 b12...b1n; C=[c11 c12...c1n;
a21 a22...a2n; b21 b22...b2n; c21 c22...c2n;
.............; .............; ..............;
am1 am2...amn]; bm1 bm2...bmn]; cm1 cm2...cmn];
现在要求出各自matrix 点对点的斜率
所以小弟的写法是这样
for x=1:m,
for y=1:n,
a=polyfit([1 5 10],[A(x,y) B(x,y) C(x,y)],1);
Data(x,y)=a(1);
end
end
因为实际上m和n的大小有点大 所以在这样跑回圈算结果的时候
需要花真的非常久的时间
所以小弟想请问各位先进
有没有比较不一样的写法可以较快速地完成小弟想做的事
真的很谢谢各位大大!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.82.90
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1430305936.A.344.html
※ 编辑: perrywu (140.116.82.90), 04/29/2015 19:14:05
1F:推 sunev: 三个点做linear fitting应该有简单公式解 04/29 22:13
2F:推 sunev: Data=(13*A+B-14*C)/122; 04/29 22:16
3F:→ perrywu: 想请问大大上面那个式子是怎麽推导的!谢谢 04/29 22:22
5F:→ perrywu: 很感谢大大 04/30 21:27
6F:→ perrywu: 大大你好 有发现一个问题实际上我去做fitting时是拿两笔 05/01 14:06
7F:→ perrywu: 再与原点fiting 所以实际上x=[0 6 12] y=[0 A B]这样带入 05/01 14:08
8F:→ perrywu: 简单公式解会发现最後斜率只有 data=B/12; 只受B影响 05/01 14:10
9F:→ perrywu: 但实际上做polyfit会发现做出来的斜率是会受到0和A的影响 05/01 14:11
10F:→ perrywu: 所以势必可能还是会须 要用polyfit?还想请问各位先进是否 05/01 14:11
11F:→ perrywu: 有其他的方法?非常感谢 05/01 14:12
12F:→ perrywu: SORRY!好像是自己的误解~小弟在测试看看 谢谢!不好意思 05/01 14:17
13F:→ perrywu: 小弟弄错公式了!抱歉 05/01 14:17