Re: [問題] 解最簡單的聯立方程式一問

看板MATLAB作者 (eji)時間13年前 (2012/05/16 20:21), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《sleeeve (看不到夢想的我)》之銘言: : 就是解x y : eq1 = x + y; : eq2 = x - y; : [x,y] = solve('eq1 = 1','eq2 = 2'); : 這樣寫出來答案會變成x = 1 y = 2 是錯的,因為理論上要寫'x+y = 1' : 但是有時候eq1或eq2後面的東西太長,甚至是某個運算過程中的一部分,那要怎樣才可以 : 求出正確答呢?? : 感謝!! 會這樣是因為你把eq1 eq2打在字串里 它不會當作你在呼叫前面已有的變數 而是把eq1視為第一個變數 eq2視為第2個變數 解決方法要看你的eq是符號型態的還是字串型態的 如果是符號型態的可以用 [x,y] = solve(eq1-1,eq2-2) 就是直接把等號右邊的移到左邊 =0可以省略不寫 如果是字串型態的可以用num2str把等號右邊的數字轉成字串 再用,連接字串如下 [x,y] = solve([eq1,'-',num2str(1)],[eq2,'-',num2str(2)]) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.25.246

05/16 20:32, , 1F
感謝!! 這篇方法很完整
05/16 20:32, 1F

05/16 20:43, , 2F
學到新招!
05/16 20:43, 2F
※ 編輯: ejialan 來自: 111.250.25.246 (05/16 20:56)
文章代碼(AID): #1FivlYq6 (MATLAB)
文章代碼(AID): #1FivlYq6 (MATLAB)