【问题标题】:Solving N Equation with N variable Parametric in Matlab based on one of the variables基于变量之一在Matlab中用N变量参数求解N方程
【发布时间】:2013-01-21 17:26:31
【问题描述】:

我是 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命令),请解释一下?)一个

【问题讨论】:

  • 不是标准的齐次线性系统吗?
  • 三元组[0,0,0] 不是这个问题的答案吗?
  • 你知道,我确实想解决这样的问题:(a+x)(b+y)(c+z)=d,其中 a,b,c,d 是常数。我想根据 x 找到 y 和 z 的值来代替,然后找到 x,然后是 y 和 z。 x、y 和 z 之间存在关系,它创建了这 3 个方程,这就是为什么我需要参数化求解它们
  • 我当然不需要 [0,0,0]
  • 很抱歉,我也是 Stackoverflow 的新手 :( 我在收件箱中看到我的问题的一个答案,但我看不到答案....我该怎么办?:( 所以对不起

标签: matlab equation


【解决方案1】:

解决这个问题的一种可能方法是使用符号工具箱。

我会按照以下方式进行:

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

我希望这能澄清您可能有的任何疑问。

【讨论】:

  • 如果我的回答符合你的期望,你可以考虑接受。
  • 我已经接受了。我必须做其他事情吗?或关闭问题?如果是,怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-13
  • 2020-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多