how to manipulate the output of a for loop to get the sum of the output data set

1 view (last 30 days)
Please i need hint on how to manipulate the output from a for loop do summation of differences between it and a data set. An example is shown below. I tried it but it only computed for the first for loop neglecting the other data set.
for f = [1 4 8 10];
b=2;
c=1;
d=1;
n=4;
N= f*b*c*d
M=[4.5 10 20 25];
Y = (M-N)/M;
Z=(100/n);
A =(sum(Y)*Z);
end
disp(A)

Accepted Answer

Mischa Kim
Mischa Kim on 15 Apr 2014
Edited: Mischa Kim on 15 Apr 2014
Segun, are you trying to compute the cumulative sum?
A = 0;
for f = [1 4 8 10]
b = 2; c = 1; d = 1; n = 4;
N = f*b*c*d;
M = [4.5 10 20 25];
Y = (M-N)/M;
Z = 100/n;
A = A + sum(Y)*Z;
end
disp(A)
  3 Comments
segun
segun on 15 Apr 2014
Thanks for your help.What I mean is that I run the above program using matlab I got an answer of 40.25 .To crosscheck whether it is correct I did the manipulation manually I got 48.89.This shows something is wrong somewhere.

Sign in to comment.

More Answers (1)

Deepana
Deepana on 15 Apr 2014
Edited: Deepana on 15 Apr 2014
Can you tel more about what exactly your looking for?
  1 Comment
segun
segun on 15 Apr 2014
Thanks the one that is giving problem is the use of "goto" statement in matlab to make the computer go to a particular line and repeat the whole process down if a condition is not met. Just an example not the complete program as it is long. A= 0; for f = [1 4 8 10] b = 2; c = 1; d = 1; n = 4; N = f*b*c*d; M = [4.5 10 20 25]; Y = (M-N)/M; Z = 100/n; A = A + sum(Y)*Z; end if A<1; go to line (1) elseif A>1; end disp(A)

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!