[問題] 解完聯立無法直接得到值

看板MATLAB作者 (′・ω・`)時間6年前 (2018/07/09 22:26), 6年前編輯推噓1(104)
留言5則, 2人參與, 6年前最新討論串1/2 (看更多)
遇到的問題是 透過兩條由連接兩個點的線來找交點 都是簡單的二元一次線性方程式 但是方程式的斜率和常數會需要一直改變 所以先用下面的方法測試 但是得出的交點卻顯示代數而不是直接顯示數值 想要看數值必須把那串代數答案重新輸入才看的到 有沒有辦法在跑的過程中直接得到數值答案? 變成: x=4 y=4 這樣。 感謝。 程式碼: %Line_1 x1=0; y1=0; x2=8; y2=8; a = polyfit([x1,x2],[y1,y2],1); %Line_2 x3=0; y3=8; x4=8; y4=0; b = polyfit([x3,x4],[y3,y4],1); value_ax = a(1,1); %Line1斜率 value_ay = a(1,2); %Line1常數 value_bx = b(1,1); %Line2斜率 value_by = b(1,2); %Line2常數 syms x y [x,y] = solve('y = value_ax * x + value_ay','y = value_bx * x + value_by') 結果: x = -(value_ay - value_by)/(value_ax - value_bx) y = (value_ax*value_by - value_ay*value_bx)/(value_ax - value_bx) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.107.168.98 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1531146390.A.572.html

07/09 22:34, 6年前 , 1F
先確定一下你的value ax ay什麼的是不是數值 有可能不
07/09 22:34, 1F

07/09 22:34, 6年前 , 2F
07/09 22:34, 2F

07/09 22:41, 6年前 , 3F
polyfit([x1,x2],[y1,y2],1)出來的結果是 [1 0]
07/09 22:41, 3F

07/09 22:42, 6年前 , 4F
所以value_ax跟value_ay就是1跟0
07/09 22:42, 4F

07/09 22:42, 6年前 , 5F
這個是確定的
07/09 22:42, 5F
原本我是寫 [x,y] = solve('y = a(1,1) * x + a(1,2)','y = b(1,1) * x + b(1,2)') 結果答案會變: x = -(a(1, 2) - b(1, 2))/(a(1, 1) - b(1, 1)) y = (a(1, 1)*b(1, 2) - a(1, 2)*b(1, 1))/(a(1, 1) - b(1, 1)) 後來才試著用另一個數去取代,但是結果還是一樣 ※ 編輯: ccam (120.107.168.98), 07/09/2018 22:46:18
文章代碼(AID): #1RGt2MLo (MATLAB)
文章代碼(AID): #1RGt2MLo (MATLAB)