向量的和和乘积元素,不使用“和”

时间:2019-04-25 16:16:53

标签: matlab

我想计算任何向量的和和积。

所以,我写了这段代码:

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     无效的表达。调用函数或为变量建立索引时,请使用     括号。否则,请检查分隔符是否不匹配。

  

1 个答案:

答案 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))。
  • 请勿使用sumprod作为变量名称,因为它们是MATLAB内置函数