首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MATLAB中找到一个变量与另一个变量的关系

在MATLAB中找到一个变量与另一个变量的关系
EN

Stack Overflow用户
提问于 2018-10-24 19:05:04
回答 1查看 51关注 0票数 0

我想要的就是用k和L来表示p,对于下面的方程:

代码语言:javascript
复制
eqn1 = (p1-2*k*L/3)*t-k*L*a/3==0;
eqn2 = k*L*t/3-(p2-2*k*L/3)*a ==0;

然后我说

代码语言:javascript
复制
solve([eqn1, eqn2], [p,p]) 

但是它给出了两次使用p的错误。

我也试过了:

代码语言:javascript
复制
A = [p-2*k*L/3, -k*L/3; k*L*t/3, p-2*k*L/3];
B = [t; a];
X = linsolve(A,B);

这给了我一个完整的解决方案,它不是用k和L来表示p

我想要的正确解决方案是

代码语言:javascript
复制
p = kL/3

还有p= kL

这就是我希望它显示的内容。(对于这个问题,我已经知道了解决方案,但是下一个问题我就不知道了。所以我必须学会怎么做)...how我能做到吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-25 21:07:29

有关求解一般线性方程组的信息,请参阅文档https://de.mathworks.com/help/symbolic/solve-a-system-of-linear-equations.html

关于您的方程:将p1和p2替换为p,每个方程在p中都是线性的,并有解

代码语言:javascript
复制
s1= solve(eqn1,p)
s1 =
    (L*a*k + 2*L*k*t)/(3*t)
s2= solve(eqn2,p)
s2 =
    (2*L*a*k + L*k*t)/(3*a)

因此,当L,a,k,t作为变量时,两个方程都不会同时求解。Symbolic给出一个空结果:

代码语言:javascript
复制
s = solve([eqn1,eqn2],p)
s =
    Empty sym: 0-by-1

看起来你对a和t有一些假设:如果你把p= KL/3代入方程,你就会得到

代码语言:javascript
复制
subs(eqn1,p,k*L/3)
ans =
    - (L*a*k)/3 - (L*k*t)/3 == 0
subs(eqn2,p,k*L/3)
ans =
    (L*a*k)/3 + (L*k*t)/3 == 0

它给出了条件t= -a。那么:什么是方程组,你想要求解的变量是什么?看起来像是两条线的交叉点?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52967380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档