Re: [問題] 解係數已回收

看板MATLAB作者 (好聽木琴)時間14年前 (2011/07/19 10:43), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《snaredrum (好聽木琴)》之銘言: 我有個函數,是t,u,v的函數。 say f(t,u,v) = f_0*G_0 + f_1*G_1 + f_2*G_2 G_i 也是t,u,v的函數,不過 f_i 只是u,v的函數。 G_i長的都有點醜。 現在給定f,如何找出來這些長在G_i前面的係數? thanks.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.48.173.107

07/19 08:31,
"coeffs" or look into symbolic math toolbox
07/19 08:31
感謝L大的回答,不過,我google coeffs的功能 還不太夠強大滿足我要的。 syms x y z = 3*x^2*y^2 + 5*x*y^3; coeffs(z) coeffs(z,x) The results are: ans = [ 5, 3] ans = [ 5*y^3, 3*y^2] 讀起來似乎,coeffs功能只做針對 某個固定變數的係數。 可是今天我要展開的的函數 是針對G_1, G_2, G_3的.... 當然其實G那個下標 也就是反映出這個多項式的degree... 這裡的G是所謂的Gegenbauer polynomials 用遞迴關係 定義出來的。 我把定義也打下來 G^n_0(t)=1, G^n_1(t)=t , n是固定的上標,下標0,1,2,3,4這樣跑 G^n_k(t) = [(2k+n-4)*t*G^n_(k-1)(t) - (k-1) G^n_(k-2)(t)]/(k+n-3) 現在我的f是給定的, 想算根據G_k去展開f的 系數.. i.e f=f_0*G_0 + f_1*G_1 +f_2*G_2 .... 然後想找到f_0 , f_1, f_2 這該怎麼做呢? 感謝賜教... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.48.173.107

07/19 19:05, , 1F
如果用subs把G_1 G_2用0代入 G_0用1代入 不知道可不可行
07/19 19:05, 1F

07/20 10:53, , 2F
turn to "MATLAB Answers"
07/20 10:53, 2F

07/20 11:04, , 3F
先expand再coeffs看看
07/20 11:04, 3F
文章代碼(AID): #1E9Eze3s (MATLAB)
文章代碼(AID): #1E9Eze3s (MATLAB)