我想计算任何向量的和和积。
所以,我写了这段代码:
function [sum,product]=sum_pro(x)
product=1;
sum=0;
n=length(x);
for i=1:n
sum=sum+x[i];
product=product*x[i];
end
end
不幸的是,我得到了:
sum_pro([1,2,3,4]) 错误:文件:sum_pro.m行:6列:15 无效的表达。调用函数或为变量建立索引时,请使用 括号。否则,请检查分隔符是否不匹配。
答案 0 :(得分:2)
如错误消息中所建议,在索引时使用括号,而不是方括号:
function [my_sum,my_prod]=sum_pro(x)
my_prod=1;
my_sum=0;
n=length(x);
for k=1:n
my_sum=my_sum+x(k);
my_prod=my_prod*x(k);
end
end
此外,最佳做法是:
i
作为变量,因为它是MATLAB中的虚数(sqrt(-1)
)。sum
和prod
作为变量名称,因为它们是MATLAB内置函数