for loop with multiple indices

14 ビュー (過去 30 日間)
ba sa
ba sa 2021 年 12 月 5 日
回答済み: Walter Roberson 2021 年 12 月 5 日
i want to write a function that goes through each row of a matrix and at the same time go through each element of the first row, what i had in mind was something like this
function X1= RREF_GEN (X,M,N)
for m = 2:M , n = 1:N;
X1=X(m,:)-(X(m,n)/X(1,n))*X(1,:);
end
this doesn't work, and nesting doesn't either because i want the two loops to run at the same time not one after the other
please help

採用された回答

Walter Roberson
Walter Roberson 2021 年 12 月 5 日
That is not possible for the general case where N is not the same as (M-1) -- that is, if the two variables to be incremented do not have the same length.
If the two did have the same length then
m_vals = 2:M;
n_vals = 1:N;
for idx = 1 : length(m_vals)
m = m_vals(idx);
n = n_vals(idx);
X1=X(m,:)-(X(m,n)/X(1,n))*X(1,:);
end
or
for m = 2 : M
n = m - 1;
X1=X(m,:)-(X(m,n)/X(1,n))*X(1,:);
end
or
for m = 2 : M
X1=X(m,:)-(X(m,m-1)/X(1,m-1))*X(1,:);
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by