登录论坛

查看完整版本 : 您如何在Matlab的for循环中求和?


poster
2019-12-10, 16:49
我想在for循环运行时求出酸性值,然后打印出所有先前酸性值的总值。我的问题现在是当前仅打印单个值,而不是酸性值的一个总和。我怎么总结。

这是打印到命令窗口的内容

回答=

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
回答:
编辑 -正如Donnie (https://stackoverflow.com/questions/1823129/how-do-you-sum-values-inside-a-for-loop-in-matlab/1823203#1823203)指出的那样,您不需要t变量。

您的行sum(acidic)上没有分号,因此MATLAB会打印结果。但是看来您还有其他问题-酸性是标量,因此每次都会覆盖该值。可能您想做类似的事情:

pki = [7.7,3.9]; n = 55; acidic = log10(1./((n-1).*(10.^-pki))); disp(sum(acidic)) 注意./ , .* ,并.^运营商。这些告诉MATLAB对向量进行逐个元素的操作。最后一条disp行告诉MATLAB打印输出值。



更多&回答... (https://stackoverflow.com/questions/1823129)