sum()
- для суммирования всех значений в векторе или вдоль оси в матрице. Вам это не нужно с тем, как реализован ваш код. Вы могли бы просто сделать
pki = [7.7,3.9];
t= 2;
n=55;
acidic = 0;
for i = 1:t;
acidic = acidic + log10(1/((n-1)*(10^-pki(i))));
end;
acidic
Тем не менее, это довольно неэффективный Matlab. Я рекомендовал бы просто рассчитать все значения одновременно, а затем использовать sum
. Вам не нужен оператор for
, если вы делаете это следующим образом:
pki = [7.7,3.9];
t= 2;
n=55;
acidic = log10(1 ./ ((n-1) .* (10 .^ -pki)));
sum(acidic)
Что делает расчет за один раз. Если бы вы не всегда использовали все pki, вы могли бы использовать его, например, так:
pki = [7.7,3.9];
t= 2;
n=55;
acidic = log10(1 ./ ((n-1) .* (10 .^ -pki(1:t))));
sum(acidic)