for loop with multiple indices

조회 수: 15 (최근 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 CenterFile Exchange에서 Loops 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