For Loop for matrix input array (without sum)
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
bondpen
am 28 Aug. 2018
Bearbeitet: bondpen
am 28 Aug. 2018
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
0 Kommentare
Akzeptierte Antwort
Stephen23
am 28 Aug. 2018
Bearbeitet: Stephen23
am 28 Aug. 2018
"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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!