我是 Matlab 的新手,我有 3 个这样的方程:
-5*x + y + z == 0;
x - 2*y + z == 0;
x + y - z == 0;
例如,我想基于 x 获得 y 和 z 的值
z= 3*x
y= 2*x
谁能帮我?
(如果可以使用'solve'(matlab命令),请解释一下如何?)一个
解决这个问题的一种可能方法是使用符号工具箱。
我将按如下方式进行:
syms x y z real
assumptions(x)
assumptions(y)
assumptions(z)
f1 = '-5*x + y + z';
f2 = 'x - 2*y + z';
f3 = 'x + y - z';
Sol = solve(f1,f2,f3,'x,y,z');
Sol.x
Sol.y
Sol.z
结果会是
Warning: The solutions are parametrized by the symbols:
u = R_
> In solve at 180
ans =
u/3
ans =
(2*u)/3
ans =
u
这意味着三元组(x,y,z)
将根据您分配给的值采用不同的值u
,例如
subs(Sol.x,1) = 0.3333
我希望这能澄清你可能有的任何疑问。