早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用matlab求解三元一次方程组,要求不用自带命令slove,完全按照C语言的方式来写求代码或者思路,比如2x+3y+4z=1,5x+6y+7z=2,9x+8y+z=3这个怎么一步一步求解,用matlab

题目详情
用matlab求解三元一次方程组,要求不用自带命令slove,完全按照C语言的方式来写求代码或者思路, 比如2x+3y+4z=1,5x+6y+7z=2,9x+8y+z=3 这个怎么一步一步求解,用matlab
▼优质解答
答案和解析
雅克比迭代或赛德尔迭代 %jacobi.m雅可比迭代法 function x=jacobi(a,b,x0)%x0初值 D=diag(diag(a));%取对角元素阵 U=-triu(a,1);%取上三角 L=-tril(a,-1);%取下三角 B=D\(L+U); f=D\b; x=B*x0+f; n=1; while norm(x-x0)>=1.0e-6%精度 x0=x; x=B*x0+f; n=n+1; end x, n%迭代次数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % a=[2 3 4;5 6 7;9 8 1]; b=[1;2;3]; x0=[0;0;0];%初始值 jacobi(a,bx0)