matlab符号解问题我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如syms a b c d;最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 15:04:13

matlab符号解问题我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如syms a b c d;最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊?
matlab符号解问题
我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如syms a b c d;
最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊?

matlab符号解问题我们在解不定方程的时候,怎么用指定的变量来表示其他变量的解?比如syms a b c d;最后解的结果默认为a b c都用d表示的,怎么改为b,c,d用a来表示啊?
你说的其实就是指定对哪个变量求解的问题,例如
>> 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 = 

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 = 

ans = 
-a