Nested For Loops help

14 ビュー (過去 30 日間)
Ife M
Ife M 2018 年 2 月 25 日
回答済み: Fahad HCT2021 2020 年 4 月 5 日
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 日
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 日
% 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

カテゴリ

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