看板 MATLAB 關於我們 聯絡資訊
S(i,j) 是一個給定i,j後 就是一個x的多項式的東西.. 我已經寫好成.m file 在那邊.. 所以我一開始 已經有寫個syms x 在前面,宣告x是一個symbolic變數. 現在問題來了,這個已經帶x變數的東西不能寫在迴圈內.. ex: p=zeros(1,5) for i=1:5 p(i) = S(i,1); end 這樣就跑不動了 錯誤訊息如下 ??? The following error occurred converting from sym to double: Error using ==> mupadmex Error in MuPAD command: DOUBLE cannot convert the input expression into a double array. If the input expression contains a symbolic variable, use the VPA function instead. 我如果用手動的 p=[S(1,1),S(2,1),S(3,1),S(4,1),S(5,1)] 就沒問題.. 但是其實我需要的 是i=1:100 我不可能這樣手動寫 太白吃了.. 我也找了 VPA http://www.mathworks.com/help/toolbox/symbolic/vpa.html 可是看不懂!? 可以請先進指教 我該如何 用迴圈來跑symbolic的東西嗎? 感恩~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.48.173.107
ejialan:刪掉 p=zeros(1,5) 11/17 16:03
snaredrum:還是不行內.. 11/17 16:55
Raymond0710:p = zeros() 不要打 11/17 20:17
Raymond0710:你的for是k 下面是i? 11/17 20:19
sorry已修正 變數都是i... 試過p=zeros() 還是不行 ※ 編輯: snaredrum 來自: 68.48.173.107 (11/18 14:12)
okgogogo:p=sym(zeros(1,5)); 11/18 14:27
Raymond0710:我隨便跑沒什麼問題 你貼code出來吧 11/18 17:00
sorry~ R大 you are right~~ 我發現是我自己沒有clear all... 打個clear all清除之前定義的P就可以了. 有點不理解,為什麼先定義P這個向量長度,並且預設內容都是0就不能跑了 反而沒有預設P =zeros(1,5)就可以跑? why? ※ 編輯: snaredrum 來自: 68.48.173.107 (11/19 14:50) ※ 編輯: snaredrum 來自: 68.48.173.107 (11/19 14:51)
okgogogo:你前面宣告zeros(1,5),又怎麼放<1x5 sym> ??? 11/19 18:03
okgogogo:除非宣告完轉成sym 11/19 18:03
snaredrum:請問宣告zeros(1,5) 後 如何轉成sym ? 11/20 14:31
Raymond0710:參考5F的方法 11/20 16:35
snaredrum:感謝R大根ok大的指教..清楚了.. 11/22 13:36