作业帮 > 数学 > 作业

用matlab求方程组中一个未知数的表达式

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/14 10:05:46
用matlab求方程组中一个未知数的表达式
由6个方程组成的方程组,里面有24个符号,只有加减乘除没有其他运算,现在我想把其中一个符号用其他符号的表达式表示出来
matlab代码如下
syms n0 r1 N10 S I0 N1 N20 N2 r2 m N11 n1N21 q v E0 E1 i K kB T k1 k2 e q
eq1=n0*r1*N10-S*I0*(N1-N10);
eq2=n0*r2*N20-S*I0*(N2-N20);
eq3=S*I0*m*(N1-N10)-S*I0*N11-r1*n0*N11-r1*n1*N10;
eq4=S*I0*m*(N2-N20)-S*I0*N21-r2*n0*N21-r2*n1*N20;
eq5=q*v*E0*n1+q*v*n0*E1+i*K*kB*T*v*n1+k1*I0*m*(N1-N10)+k2*I0*m*(N2-N20)-k1*I0*N11-k2*I0*N21;
eq6=i*K*e*E1-q*(N11+N21-n1);
f=solve(eq1,eq2,eq3,eq4,eq5,eq6,n0,r1,N10,S,I0,N1.N20,N2,r2,m,N11,n1,N21,q,v,E0,E1,i,K,kB,T,k1,k2,e);
我想求出E1的表达式,但运算结果是没有解析式.我想只是加减乘除的运算没理由没有解释式,是不是因为我的符号太多解不出来,其实有些符号的值是已知的.我想知道是否真的求不出E1的表达式,求不出是否与符号个数过多有关(我带入一些符号的值仍然求不出结果),想要求出E1表达式改如何处理?
初学Matlab请多指教!
i代表的是虚数单位,所以运算出来的结果为虚数,那如何告诉程序结果是一个虚数,进一步对结果做虚数的操作
用matlab求方程组中一个未知数的表达式
1、并非加减乘除的运算就能求出解析式,事实上,超过4次的代数方程就没有一般的求根公式;
2、你给了六个方程,但有那么多符号,这种写法,系统没办法知道哪个是常量,哪个是未知数的.
再问: 怎样告诉系统哪些是常量??
再答: 你告诉哪些是变量,剩下的自然就是常量了 也就是说,在solve函数后面的列表中,不要把所有符号都列上
再问: 哦,谢谢,能不能再请教个问题,i代表的是虚数单位,所以运算出来的结果为虚数,那如何告诉程序结果是一个虚数,进一步对结果做虚数的操作
再答: 符号运算如果涉及虚数,你最好把实数变量明确声明,比如 syms a real imag(i*a)