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

1 次查看(过去 30 天)
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)

采纳的回答

Mischa Kim
Mischa Kim 2014-4-15
编辑:Mischa Kim 2014-4-15
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 个评论
segun
segun 2014-4-15
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.

请先登录,再进行评论。

更多回答(1 个)

Deepana
Deepana 2014-4-15
编辑:Deepana 2014-4-15
Can you tel more about what exactly your looking for?
  1 个评论
segun
segun 2014-4-15
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)

请先登录,再进行评论。

类别

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