作业帮 > 综合 > 作业

Matlab 计算 非线性 超越方程 ,请给出计算具体程序

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/27 05:47:41
Matlab 计算 非线性 超越方程 ,请给出计算具体程序
Matlab 计算 非线性 超越方程
a =[0.03345 0.5439; 0.0047 0.9322];
b = [0.00123 0.2489;0.3456 0.7658];
c = [0.3389 0.8842; 0.7739 0.0034];
a*x^3+ b*x= c
可知a,b,c ,x都是2*2的数组
求x,
不是超越方程哈
Matlab 计算 非线性 超越方程 ,请给出计算具体程序
a =[0.03345 0.5439; 0.0047 0.9322];
b = [0.00123 0.2489;0.3456 0.7658];
c = [0.3389 0.8842; 0.7739 0.0034];
x=[];
for i=1:4
xx=roots([a(i) 0 b(i) -c(i)]);
x=[x xx(3)];
end
x=reshape(x,2,2)
上面是程序,我还给你说几个问题,你的式子是矩阵的多项式还是矩阵元素的多项式?
还有,对于每个方程,都有三个根,两个虚根,一个实根,这里只取实根!
祝你学习愉快!
再问: 能解释下吗,reshape(x,2,2)是什么意思,以及x=[x xx(3)];
再答: 首先x=[x xx(3)]; 因为你的方程解出来的根由三个,只有最后一个是实根,所以就是把最后一个取出来。然后把它并到x上 这样得到的x是一个1行4列的向量 reshape(x,2,2)就是把这个一行四列的向量变成一个2*2的矩阵。