作者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)