[繪圖] 常出現 Conversion to double from sym is not possible.已回收

看板MATLAB作者時間13年前 (2011/06/05 18:26), 編輯推噓3(307)
留言10則, 3人參與, 最新討論串1/1
如題 小弟是新手 最近在用matlab畫圖的時候常常畫不出來 系統會出現 Conversion to double from sym is not possible. 的字樣 想請高手們幫小弟看看是什麼問題,以下是程式碼: =========================================================================== syms O G11 G22 G33 G12 G13 G23 G I c A B P C1 C2 C3 G11=(10*10^10)*(8.67*(cos(O))^2+6.27*(sin(O))^2); G22=(10*10^10)*(6.27*(cos(O))^2+8.46*(sin(O))^2); G33=(10*10^10)*(3.51*(cos(O))^2+5.00*(sin(O))^2); G12=(10*10^10)*8.82*(cos(O)*sin(O)); G13=(10*10^10)*(-2.284)*(cos(O)*sin(O)); G23=(10*10^10)*((-1.45)*(cos(O))^2+(-1.36)*(sin(O))^2); G=[G11 G12 G13; G12 G22 G23;G13 G23 G33]; %以上只是建立一個G矩陣,每個元素都是SIN跟COS的函數 I=[1 0 0; 0 1 0;0 0 1]; A=[c*I-G]; B=det(A); P=solve(B); C1=P(1,1) C2=P(2,1) C3=P(3,1) %到這邊是解出我想要畫出的函數圖,C1 C2 C3依然是SIN COS的函數 寫到這邊我就無法往下了 我想要畫C1 C2 C3對角度(O)的函數圖 可是我不管把 O=0:0.1:2*pi 這行擺在哪裡 再打 plot(O,C1) 每次都會出現 ??? Error using ==> plot Conversion to double from sym is not possible. 這個錯誤訊息 想請各位高手教我到底該如何畫出這個圖 我到底是錯在哪裡~ 感謝~ 教到我會的奉上微薄的500批了表心意 感恩! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.129.88

06/05 19:10, , 1F
變數格式不一樣啊 O是double C1是sym
06/05 19:10, 1F

06/05 19:12, , 2F
C1s=subs(C1); plot(O,C1s); 就可以畫出來了
06/05 19:12, 2F

06/05 21:22, , 3F
可以畫出來了! 那再請問為什麼O是double(double代表什麼?)
06/05 21:22, 3F

06/05 21:22, , 4F
為什麼把C1代換掉就可以了呢(C1s的格式也是double嗎?)
06/05 21:22, 4F

06/06 11:25, , 5F
變數有分成很多種double single boolean string...
06/06 11:25, 5F

06/06 11:25, , 6F
建議可以去網路上找一下資料
06/06 11:25, 6F

06/06 11:25, , 7F
C1s也是double
06/06 11:25, 7F

06/06 11:26, , 8F
因為C1是sym 要轉成double之後才能plot
06/06 11:26, 8F

06/06 11:27, , 9F
應該說plot不吃sym比較正確
06/06 11:27, 9F

06/06 12:01, , 10F
為什麼矩陣乘法不支援int?
06/06 12:01, 10F
文章代碼(AID): #1DwrdIUe (MATLAB)