matlab列主元消去法算法流程图,求助,关于用matlab解列主元消去法的题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

给定一个n阶线性方程组Ax=b,其中A的元素aij(i,j,=1,…,n)与阶数为:aij=(i+j-1)2, n=3,4,5,…,9;

这是我所编的程序

n=input('请输入系数矩阵的维数n')

for i=1:1:n

for j=1:1:n

A(i,j)=(i+j-1)^2;

end

end

A

b=sum(A,2)

fprintf('增广矩阵为\n')

disp([A,b])

for k=1:n-1

c=A(k,k);

p=k;

for u=k+1:n

if abs©

c=A(u,k);

p=u;

end

end

if c==0

error('第%1d列主元为零,高斯列主元消去法无法进行\n',k)

end

if p~=k

t=b(k);

b(k)=b(p);

b(p)=t;

for v=1:n

t=A(k,v);

A(k,v)=A(p,v);

A(p,v)=t;

end

end

for u=k+1:n

l(u,k)=A(u,k)/A(k,k);

for v=k:n

A(u,v)=A(u,v)-l(u,k)*A(k,v);

end

b(u)=b(u)-l(u,k)*b(k);

end

fprintf('第%1d次消元后的增广矩阵为\n',k)

disp([A,b])

end

if A(n,n)==0

if b(n)~=0

fprintf('系数矩阵与增广矩阵不等秩,方程组无解\n')

else

fprintf('方程组的解不唯一\n')

end

break

end

x(n)=b(n)/A(n,n);

fprintf('线性方程组的解为\n')

fprintf('x(%1d)=%10.5f\n',n,x(n))

for u=n-1:-1:1

x(u)=b(u);

for v=u+1:n

x(u)=x(u)-A(u,v)*x(v);

end

x(u)=x(u)/A(u,u);

fprintf('x(%1d)=%10.5f\n',u,x(u))

end

运行的时候总是这样提示 Error: A BREAK statement appeared outside of a loop. Use RETURN instead.

请问到底该怎样中断呢?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值