有一个错误在第3行。我不能找出错误。请帮我找到。

1视图(30天)
编写一个函数 halfsum 这需要作为输入矩阵和计算对角线元素之和,是正确的。对角线被定义为那些列和行索引的元素的集合都是相同的。换句话说,这个函数添加到元素上三角矩阵的一部分。输出参数的名称 总结
例如,
一个=
1 2 3
4 5 6
7 8 9
函数将返回26 (1 + 5 + 9 + 2 + 3 + 6 = 26)
这是我的代码功能;
函数总结= halfsum (A)
(x, y) = (A)大小;
如果x = = y
总结= 0;
n = 1: y
总结=总结+总和((n, n: y));
结束
elseifx ~ = y
如果x > y
总结= 0;
n = 1: y
总结=总结+总和((n, n: y));
结束
elseifx < y
总结= 0;
n = 1: x
总结=总结+总和((n, n: y));
结束
结束
结束
我调试的时候,MATLAB在第3行显示错误。我的代码没问题,但是我不知道有什么错误在第3行。
4评论

登录置评。

答案(2)

KSSV
KSSV 2021年8月4日
= [1 2 3
4 5 6
7 8 9];
B = triu (A)
B = 3×3
1 2 3 0 5 6 0 0 9
我希望=总和(B (:))
我希望= 26
1评论
KSSV
KSSV 2021年8月4日
给定的函数也没有错误。它将正常工作。
= [1 2 3
4 5 6
7 8 9];
(x, y) = (A)大小;
如果x = = y
总结= 0;
n = 1: y
总结=总结+总和((n, n: y));
结束
elseifx ~ = y
如果x > y
总结= 0;
n = 1: y
总结=总结+总和((n, n: y));
结束
elseifx < y
总结= 0;
n = 1: x
总结=总结+总和((n, n: y));
结束
结束
结束
总结
总结= 26
如果你得到任何特定的错误。告诉我们这里的错误。

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2021年8月4日
你试图运行函数不传递任何矩阵,和matlab抱怨找不到任何输入被传递给它。
当一个函数需要的参数不能按绿色按钮运行,你不能给函数的名称本身运行功能。

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

下载188bet金宝搏


释放

R2021a

社区寻宝

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

开始狩猎!