matlab解方程表达式

使用matlab的时候,需要化简表达式,用变量表示变量。比如说
B=r/(w/l);
r*si*2+x*w/2=A;
(w/2)^2 + (x/2)^2=r^2;
sin(si/2)=w/2/r;
R=2*si*r/(2*si*r+2*x+2*y);
这几个方程,如果需要把R用B和A表示,该怎么写呢?给定A和B该怎么写来解出R呢?

你给的这组方程最大的问题是,除最后一个方程外,前面的4个方程却有5个未知数r、w、l、x、si(A和B认为是已知量),方程组不封闭,无法求解。
如果把最后一个方程也算上,那么多了一个方程的同时,又多了一个未知数R,仍然不封闭。

MATLAB再强大,也只是个工具,首先要保证问题是可解的,才谈的上怎样求解。追问

谢谢~但是我们现在w/l是给定的,相当于多了一个w/l=2/1的方程,
这样吧,现在有
y = a + b;
b = a + c;
现在赋值b = 1,c = 3;
求y。。

追答

你上面给的方程组无法求出显式解。
既然已经采纳了其他答案,我就没必要再回答了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-03
你把R设成变量就行了,A、B直接输入追问

具体代码怎么写呢~~=。=

追答

给你个简单例子吧。
syms x y;
[x,y]=solve('x+y=a','x-y=b')
关键是谁是变量谁是常数的问题

追问

那简单来说,如果需要

>> syms a

>> solve('a = b + c','c = d + e')

用b,d,e表示a,结果是a = b + d + e;

怎么写呢。。。

追答

这涉及到消除变量的问题,这个可以这样来
>> syms b c d e
>> a=b+c

a =

b + c

>> c=d+e

c =

d + e

>> subs(a)

ans =

b + d + e

>>

追问

太感谢了,现在如果我需要在上边的基础上增加等式,就是说假如上边的a=b+c而且c=d+e,同时我们知道d=3,e=5,b+e=10求a,该怎么写呢。。。

追答

好像有个“赋值”语句

本回答被提问者采纳
相似回答
大家正在搜