matlab符号解问题
我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如symsabcd;最后解的结果默认为abc都用d表示的,怎么改为b,c,d用a来表示啊?...
我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如syms a b c d;
最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊? 展开
最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊? 展开
1个回答
展开全部
你说的其实就是指定对哪个变量求解的问题,例如
>> solve('a+b+c+d')
ans =
-a-b-c
不指定求解的变量时,默认按照字母顺序最靠近x的那个变量来求解,比如abcd就会对d求解。
如果希望对a求解,那么,直接指定即可:
>> solve('a+b+c+d','a')
ans =
-b-c-d
但是,你所说的b、c、d都用a来表示不行,因为对于一个方程要求解多个变量,方程为不定的(前面的例子中,尽管从人的角度来说,也是不定方程,但提交给程序,除了人为指定或者系统默认指定的变量外,其它均视为常量):
>> s=solve('a+b+c+d','a','b','c')
Warning: 1 equations in 3 variables.
> In D:\MATLAB6p5\toolbox\symbolic\solve.m at line 110
s =
a: [1x1 sym]
b: [1x1 sym]
c: [1x1 sym]
>> s.a, s.b, s.c
ans =
-b-c-d
ans =
b
ans =
c
要想b、c、d都用a来表示,相当于有三个变量,需要有三个方程才行,如:
>> s=solve('a+b+c+d','a-b-c+d','a+b-c-d','b','c','d')
s =
b: [1x1 sym]
c: [1x1 sym]
d: [1x1 sym]
>> s.b, s.c, s.d
ans =
-a
ans =
a
ans =
-a
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询