作业帮 > 综合 > 作业

matlab求解多元线性方程时遇到问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/17 01:49:12
matlab求解多元线性方程时遇到问题
我想用solve命令解决一个六元线性方程组,我的matlab语句如下:
Z=solve('B=D+F=1','A+C+E=0','B+sqrt(3)*D-sqrt(3)*F=0','B+sqrt(3)*C+D-sqrt(3)*E=0','-A+2*C+sqrt(3)*D+2*E-sqrt(3)*F=0','B+sqrt(3)*C+2*D-sqrt(3)*E+2*F=0')
然后再给A-F赋值:
A=eval(Z.A)
.
F=eval(Z.F)
但是运行第一步的时候出现如下问题:
>> Z=solve('B=D+F=1','A+C+E=0','B+sqrt(3)*D-sqrt(3)*F=0','B+sqrt(3)*C+D-sqrt(3)*E=0','-A+2*C+sqrt(3)*D+2*E-sqrt(3)*F=0','B+sqrt(3)*C+2*D-sqrt(3)*E+2*F=0')
Warning: 6 equations in 4 variables.
Warning: Explicit solution could not be found.
> In solve at 81

Z =

[ empty sym ]
运行第二步时出现如下问题:
>> A=eval(Z.A)
? Comma separated list expansion has cell syntax for an array that
is not a cell.
Error in ==> sym.sym>sym.subsref at 1364
[inds{k},refs{k}] = privformat(inds{k});
请各位高手看一下然后告诉我哪里出问题了,为什么,然后怎么改,谢谢大家了..答得好还有十分加分~
对于线性方程组,可以建立矩阵来求解.
把ABCDEF可以分别看成x(1:6);具体的指令如下:
clear
a=[0 0 0 1 1 0;1 0 1 0 1 0;0 1 0 sqrt(3) 0 -sqrt(3);0 0 sqrt(3) 1 -sqrt(3) 0;-1 0 2 sqrt(3) 2 -sqrt(3);0 1 sqrt(3) 2 -sqrt(3) 2];%这是未知数前面的系数
b=[1;0;0;0;0;0];%这是方程式右边的数
x=a\b;%矩阵的左除来求线性方程的解
x%输出x
x =
0.4392
-1.3177
-0.4928
0.9464
0.0536
0.1856