Hello!
I am attempting to use a nested for loop on two columns of data. Here's an example of what I am trying to accomplish
A = [1;2;3;4]
B = [4;3;2;1]
for i = 1:numel(A)
for j = 1: numel(B)
diff = A(i) - B(j)
end
end
I want the output to be [(1-4) (2-4) (3-4) (4-4) (1-3) (2-3) (3-3) (4-3) etc] where it iterates through the A matrix completely but selects the same value from the B matrix each time. Essentially: A(1)-B(1), A(2)-B(1), A(3)-B(1), A(4)-B(1) and have an output matrix that contains all of the iteration outputs. So it should be a 16x1 matrix Any advice on what I am doing wrong?

1 件のコメント

Stephen23
Stephen23 2018 年 2 月 26 日
編集済み: Stephen23 2018 年 2 月 26 日
DO NOT use diff as a variable name!
Because then the inbuilt (and very useful) function diff will not work!
Always check if a variable name is used:
which diff

サインインしてコメントする。

 採用された回答

David Fletcher
David Fletcher 2018 年 2 月 25 日

0 投票

You're not retaining the variable 'diff' but just keep replacing it with the latest subtraction. You could initialize diff=[] before the loops and then change the assignment to diff=[diff A(i)-B(j)]. Computationally, it's not great, but it should do the job.

1 件のコメント

Ife M
Ife M 2018 年 2 月 25 日
Thank you so much!!

サインインしてコメントする。

その他の回答 (1 件)

Fahad HCT2021
Fahad HCT2021 2020 年 4 月 5 日

0 投票

% Define variables
syms ;
f=@(i) ;
% Loop to create vector df1
for i= ;
deriv=diff( ); % Find the general ith derivative of f
df1(i)=subs( ); % Substitute x=1
end; % DO NOT CHANGE CODE ON THIS LINE
df1 % Display the vector df1

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2018 年 2 月 25 日

回答済み:

2020 年 4 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by