查看: 103|回复: 2|关注: 0

[已答复] 如何在matlab检查矩阵元素的值

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2019-2-11 22:37:40 | 显示全部楼层 |阅读模式
如题,我需要用单位下三角矩阵进行计算。我该怎么检查输入的矩阵是不是单位下三角矩阵?

                               
登录/注册后可看大图
单位下三角矩阵就是把图中下三角矩阵的a11,a22,a33改为数字1
我的代码:

  • function x = stage1(L,b)
  • %   L is an n*n lower triangular matrix
  • %   b is an n*1 matrix
  • %
  • S=size(L);
  • m=S(1);
  • if S(1)~=S(2)
  •     error('matrix mast be square')
  • end
  • if istril(L)~= 1
  •     error('matrix mast be Lower triangular')
  • end
  • if isreal(L)==0
  •     error('matrix mast be Real')
  • end
  • if check
  •     %,L(5),L(9)
  •     error('matrix mast be Unit Lower triangular')
  • end
  • x=zeros(1,m);
  • x(1,1)=b(1)./L(1,1);
  • %bacward substitution
  • for k=2:m
  •         x1=1/L(k,k).*(b(k)-sum(L(k,k-1:-1:1).*x(k-1:-1:1)));
  •         x(1,k)=x1;
  • end
  • x=x';
  • end





论坛优秀回答者

权威

8921 麦片

财富积分



9

主题

1万

帖子

1972

最佳答案
  • 关注者: 473
发表于 2019-2-12 08:37:29 | 显示全部楼层
好像这样就可以 快照1.png

论坛优秀回答者

专家

2974 麦片

财富积分


20003000


1

主题

3286

帖子

667

最佳答案
  • 关注者: 136
发表于 2019-2-12 09:42:00 | 显示全部楼层
本帖最后由 maple1314168 于 2019-2-12 09:48 编辑

A=......%随意的一个方阵。
n=size(A,1);
ind=find(triu(ones(n),1));
all(A(ind)==0)&all(diag(A)==1)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表