作者ejialan (eji)
看板MATLAB
標題Re: [問題] 解最簡單的聯立方程式一問
時間Wed May 16 20:21:51 2012
※ 引述《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
1F:推 sleeeve:感謝!! 這篇方法很完整 05/16 20:32
2F:推 brettchen:學到新招! 05/16 20:43
※ 編輯: ejialan 來自: 111.250.25.246 (05/16 20:56)