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
Mischa Kim
Mischa Kim 2014년 4월 15일
Could you be more specific? What are your inputs and what is the expected output?
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