フィルターのクリア

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

1 回表示 (過去 30 日間)
segun
segun 2014 年 4 月 15 日
コメント済み: segun 2014 年 4 月 15 日
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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by