用matlab实现gauss消去法

BJD夏暮 2018-09-30 05:55:40
记录一下自己亲身打出来的第一个代码,实践过可以用的,欢迎复制粘贴完成老师作业,mua~


function [x]=gauss_bjd(A,b) %建立一个函数(A,b),bjd可以随便取名字
n=size(A,1); %A可以取常数值
for k=1:n-1 %第一个for循环,k的取值范围是1到n-1
for i=k+1:n %第一个子for循环,i的取值范围是k+1到n
t=A(i,k)/A(k,k); %给t赋值为下一行除以与它同一列的上一行的元素的值
for j=k+1:n %第二个子for循环,j的取值范围是k+1到n
A(i,j)=A(i,j)-t*A(k,j); %下一行的元素值等于它本身减去t乘以它上一行的元素
end %第二个子for循环结束
b(i)=b(i)-t*b(k); %右端列向量从第二行开始等于它本身减去t乘以上一行的元素
end %第一个子for循环结束
end %第一个for循环结束
x(n)=b(n)/A(n,n); %回代过程中xn的取值
for k=n-1:-1:1
s=0; %做一个求和
for l=k+1:n
s=s+A(k,l)*x(l);
end
x(k)=(b(k)-s)/A(k,k);
end
...全文
1379 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧