[討論] 將級數寫在M檔案裡已回收

看板MATLAB作者 (皮皮)時間14年前 (2011/07/12 19:50), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
小弟想要求解這個問題: 級數[(i*((5/i*h)^2-(5/(i+1)*h)^2)] i=0~inf的累加 h可帶入任何正整數 如果直接在command window輸入 syms i S=symsum(i*((5/i*h)^2-(5/(i+1)*h)^2),i,1,inf) 將h值套入任何整數,是可以直接求出函數值沒錯, 但小弟想要將指令寫在M檔案裡 可以變成funcs(h) = 求解 M檔案如下所示: function S=funcs(h) syms i S=symsum(i*((5/i*h)^2-(5/(i+1)*h)^2),i,1,inf) 在command window下執行funcs(任意整數) 就會出現錯誤訊息 ??? Undefined function or method 'symsum' for input arguments of type 'double'. Error in ==> funcs at 3 S=symsum(i*((5/i*h)^2-(5/(i+1)*h)^2),i,1,inf) 是因為在M檔案裡不能使用toolbox裡的函數的關係嗎? 請好心的高手解答一下 ~.~ 感激不盡!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.187.173

07/12 20:48, , 1F
把function裡的i輸出會發現他把i視為sqrt(-1) 所以會出錯
07/12 20:48, 1F

07/12 20:50, , 2F
把syms i改成i=sym('i') 或是直接把i化成非i,j的指標即可
07/12 20:50, 2F

07/12 20:51, , 3F
不過我也不知道為什麼syms i在function裡會失效
07/12 20:51, 3F

07/12 20:55, , 4F
謝謝ejialan大大,真是厲害呀!!!
07/12 20:55, 4F
文章代碼(AID): #1E73JiKs (MATLAB)