Сумма и произведение элементов векторов без использования «суммы» - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу вычислить сумму и элементы произведений любых векторов.

Итак, я написал этот код:

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 Ответ

2 голосов
/ 25 апреля 2019

Как указано в сообщении об ошибке, при индексировании используйте скобки, а не квадратные скобки:

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 какпеременная, потому что это мнимое число (sqrt(-1)) в MATLAB.
  • не использовать sum и prod в качестве имен переменных, поскольку они являются встроенными функциями MATLAB
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...