[討論] 多項式矩陣用給y(xi), 求xi (已解決)
我將一組 x= 1,2,3,4,5, ..
y= 0.01,0.22,0.4433....(隨意舉例)
作20次方的fitting,得到一組代表y=f(x) 20次方的矩陣, 設為p20
p20=polyfit (x,y,20)
p20=
[a1,a2,a3,.....,a21]
代表:
y=f(x)=a1x^20+a2x^19+a3x^18+.....+a20x+a21
給x求y:
當設定x1=10(某數)時,可以用polyval 解出y1
y1=polyval (p20, 3.3)
給y求x? (解不出來@@')
若假設y2=0.01 (y2 有在x 最大及最小的區間內),
請問該怎麼解出相對應的x2呢?
我有用solve ,解一些x為2次方的問題,是可以解出的,如
sym x
solve (x^2=9)
得:3
-3
但p20 是個矩陣,直接打出20次方的多項試應該是能解出來,
請各位大大指導一下
如何正確寫出solve 語法解矩陣多項式,或有像polyval 快速解出來的
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.24.6
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1405332309.A.8D5.html
※ 編輯: seamonst (140.112.24.6), 07/14/2014 18:12:22
※ 編輯: seamonst (140.112.24.6), 07/14/2014 18:13:28
推
07/14 18:25, , 1F
07/14 18:25, 1F
→
07/14 21:00, , 2F
07/14 21:00, 2F
→
07/14 21:42, , 3F
07/14 21:42, 3F
→
07/14 21:45, , 4F
07/14 21:45, 4F
感謝樓上的推文:將多項試的常數項減去某值在用root就能解了,謝謝
以下是我的寫法:
%設一 a為零向量,再組合同元的要減的常數項(y_ct),
再變成相同空間向量,來減去p20,再用root解
a=zeros (1,length(p)-1) %產生 [0,0,0,,..]20個零的矩陣
shift=[a y_ct] %產生與p有相同空間的矩陣,並得到多項式的常數y_ct
p20_shift=p20-shift
%再用root求解
rootp_shift=roots(p20_shift) %用root解 有虛根項
※ 編輯: seamonst (61.230.182.89), 07/17/2014 14:41:43
※ 編輯: seamonst (61.230.182.89), 07/17/2014 14:42:42
→
07/17 14:45, , 5F
07/17 14:45, 5F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
6
27