索引超出了数组元素的数量(1)

2视图(30天)
Yago费拉拉罗马
Yago费拉拉罗马 2021年10月20日
评论道: 1月 2021年10月21日
我想做一个函数来解决一个下三角矩阵,但当我试着运行代码,它说有一个问题。
函数[x] = sistriinferior (U, b, n)
x (1) = b (1) / U (1);
我= 2:n
s = 0;
j = 1: n - 1
s = s + U (i, j) * x (j);%显然是在这方面的问题
结束
x (i) = (b) (i) - s) / U(我);
结束
结束

接受的答案

1月
1月 2021年10月20日
编辑:1月 2021年10月20日
取代
j = 1: n - 1
通过
j = 1:张
顺便说一下,你可以写
s = 0;
j = 1:我- 1
s = s + U (i, j) * x (j);
结束
作为
s = U(1:我- 1)* x(1:我- 1);%点积
Preallocate输出x前循环,避免昂贵的迭代数组的增长:
x = 0 (n, 1);
2的评论
1月
1月 2021年10月21日
你知道 Matlab斜坡弯道 吗?这是一个有用的教程。
调试器也可以帮助检查发生了什么:设置断点左边的编辑器。然后你可以逐行通过代码在处理和控制使用的变量的值。
交换指数这样的错误在你的情况中很难找到,因为你的大脑,知道你 想要 类型。这阻碍了阅读心理。在这种情况下,最好的选择是问同事,不涉及论坛或外国人,谁看到这个问题。:-)

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!