【问题标题】:Using MATLAB's solve function to find solution to system of equations使用 MATLAB 的求解函数求解方程组
【发布时间】:2016-01-27 20:37:38
【问题描述】:

我在求解方程组时遇到了麻烦。我有三个方程,每个方程都有一个已知解和三个未知数。但是,当我在 MATLAB 中使用 solve 函数时,它会返回错误,即我有六个方程和三个变量。

我的代码的 sn-p:

syms V0 T0 X0
A=(g*X0/(2*V0^2*cos(T0)^2)-tan(T0))==a;
B=(tan(T0)-g*X0/(V0^2*cos(T0)^2))==b;
C=(-g/(2*V0^2*cos(T0)^2))==c;

soln=solve([A,B,C],[V0,T0,X0]);

我已经计算了abc 的标量值。 g 是一个常数。 我不确定为什么返回我有六个方程。

【问题讨论】:

  • 请提供定义 ab 等的可运行代码。此外,请编辑以完整地指示错误结果。最后,您使用的是什么 version 的 Matlab?您正在查看您的版本的文档或在线内容吗?如果您有旧版本,则需要使用solve(A,B,C,V0,T0,X0);,它在最新版本中也可以正常工作。

标签: matlab symbolic-math


【解决方案1】:

V0^2 表示它是一个二次方程。您可以将 V0^2 作为变量求解。设置 V0^2 = J0 并改为求解 J0。

soln=solve([A,B,C],[J0,T0,X0]);

然后是它的三个具有三个变量的线性方程。

一旦得到 J0 的值,就需要求解 V0^2 = J0。

【讨论】:

  • 我刚刚意识到一件事。您需要将 cos(T0) ^2 转换为 sec(T0)^2,然后将其转换为 tan(T0)^2。然后你应该把所有的 tan(T0) 变成一种类型 - tan T0、tan2T0 或 TanTo^2。然后您需要将 W0 设置为等于 Tan T0 类型并使用 Soln= solve[A,B,C],[J0,W0,Xo] 求解方程
猜你喜欢
  • 2020-08-11
  • 2012-11-09
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-01
  • 1970-01-01
相关资源
最近更新 更多