matlab 符号等式化简问题

>> syms M m g u Fn th
tan(th)=M*(m*g+u*Fn*sin(th)-Fn*cos(th))/((M-m)*Fn*sin(th)+u*Fn*cos(th));simple(Fn)

simplify:

Fn

radsimp:

Fn

simplify(Steps = 100):

Fn

combine(sincos):

Fn

combine(sinhcosh):

Fn

combine(ln):

Fn

factor:

Fn

expand:

Fn

combine:

Fn

rewrite(exp):

Fn

rewrite(sincos):

Fn

rewrite(sinhcosh):

Fn

rewrite(tan):

Fn

mwcos2sin:

Fn

collect(Fn):

Fn

ans =

Fn

我想把Fn用其他符号表示出来,为什么不能实现呢?哪里出问题了?

还有
>> syms f=Fn*u
Error using syms>getnames (line 95)
Not a valid variable name.
Error in syms (line 59)
[vars,funs,control] = getnames(varargin);
我想实现用f代替u*Fn这个怎么处理呢?

第1个回答  2013-11-17
>>syms M m g u Fn th
>> Fn=solve('tan(th)=M*(m*g+u*Fn*sin(th)-Fn*cos(th))/((M-m)*Fn*sin(th)+u*Fn*cos(th))','Fn')
Fn =
-M*m*g/(-tan(th)*sin(th)*M+tan(th)*sin(th)*m-tan(th)*u*cos(th)+M*u*sin(th)-M*cos(th))
>>Fn=simplify(Fn)
Fn=
-M*m*g*cos(th)/(-sin(th)*u*cos(th)+M*u*sin(th)*cos(th)-cos(th)^2*m+m-M)
>> Fn=simple(Fn)
Fn =
-M*m*g*cos(th)/(-sin(th)*u*cos(th)+M*u*sin(th)*cos(th)-cos(th)^2*m+m-M)
>> syms u
>> f=Fn*u
f =
-M*m*g*cos(th)/(-sin(th)*u*cos(th)+M*u*sin(th)*cos(th)-cos(th)^2*m+m-M)*u追问

我引入f是为了简化输入,让方程看起来不那么臃肿。。。不是求f表达式。这个怎么实现呢?

还有,化简这个还有别的函数可以实现吗?必须用solve? 谢谢

追答

是的,只有用solve解出Fn后才能化简。

追问

为了简化输入,让方程看起来不那么臃肿。。。用f代替u*Fn这个怎么实现呢? 谢谢

追答

已经得到f的表达式,可以在别处使用。

追问

我意思是在输入tan(th)表达式的时候就用f代替u*Fn,仅仅是为了简化输入,不是求f的表达式。你明白我的意思?

matlab问题
3.在 区间中对函数 做符号定积分与数值定积分的MatLab命令是 .4.对方程 的隐函数作图命令是 .5.将函数 在 处展开成7阶 多项式的MatLab命令是 .6.求极限 的MatLab命令是 .7.求矩阵 的逆矩阵的MatLab命令是 .8.产生6阶服从 区间上均匀分布的随机数的MatLab命令是 .9.停止循环的MatLab命令是 break .10.测...

请教高手:matlab求三元函数的最小值问题
MATLAB的符号运算功能是通过调用符号运算工具箱(Symbolic Math Toolbox)内的工具实现,其内核是借用Maple数学软件的。MATLAB的符号运算工具箱包含了微积分运算、化简和代换、解方程等几个方面的工具,其详细内容可通过MATLAB系统的联机帮助查阅,本节仅对它的常用功能做简单介绍。7.2.1 符号变量与符号表达式MATLAB符号运算工...

相似回答