我想总结如酸性循环的运行,然后打印出来的总价值的所有以前的酸性的价值观。我的问题是现在是它目前是刚刚印刷的个人价值不是一个总结的价值的酸性。我怎么总和。

这是什么是打印到命令窗口

答=

5.9676

答=

2.1676

这里是我的代码

pki = [7.7,3.9];

t= 2;


n=55;

for i = 1:t;

    acidic = log10(1/((n-1)*(10^-pki(i))));

    sum(acidic)

end 
有帮助吗?

解决方案

编辑 -为 唐尼 所指出的,你不需要 t 变量。

你没有一分号线上 sum(acidic), ,因此MATLAB打印的结果。但是它看起来像你有一些其他的问题-酸性为标量,因此值是得到复盖每个时间。可能你想要做的事,如:

pki = [7.7,3.9];
n = 55;
acidic = log10(1./((n-1).*(10.^-pki)));

disp(sum(acidic))

注意到 ./, .*, , .^ 经营者。这些告诉MATLAB做的元素的操作过矢量。最后一个 disp 线告诉MATLAB打印输出价值。

其他提示

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

然而,这相当inefficent 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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top