For Loop for matrix input array (without sum)

2 次查看(过去 30 天)
Hi
I trying to make a function for loop that will follow a example formula without use of sum.
Example Formula: (1/n)*sum(x+1)
where n is number of elements while x+1 is vector values.
For example if input vector is [4,6] (1/2)*(4+1)+(6+1)
I know I can use sum equation but why doesn't below work? Do I need split up x+1 into a different for loop equation? or is input i = 1:n incorrect
function Mean = mean2(vector)
[m,n] = size(vector);
for i = 1:n
Mean=(1./n)*i+1;
end

采纳的回答

Stephen23
Stephen23 2018-8-28
编辑:Stephen23 2018-8-28
"but why doesn't below work?"
Because you overwrite the results of every loop iteration with the results of the next iteration. Basically without indexing or some arithmetic you throw away the results of each loop iteration, except for the very last one. You need to do something like this:
function Z = mean2(vector)
N = numel(vector);
Z = 0;
for k = 1:N
Z = Z + vector(k)
end
Z = Z/N;
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by