For loop to include an array into a different array

조회 수: 2 (최근 30일)
Lindsay Knuth
Lindsay Knuth 2018년 3월 22일
답변: Guillaume 2018년 3월 22일
I have a array that has all permutations for a set of 6 numbers. I need to add it to a different array that has set first and last elements. When I run the function, I get an error message that states "Subscripted assignment dimension mismatch."
nw = 7;
inter= [2 3 4 5 6 7];
interRarr= perms(inter);
Rarr= zeros(factorial(nw-1), nw);
for i=1:factorial(nw-2)
Rarr(i,:) = [1 interRarr(i,:) 1];
end

채택된 답변

Lindsay Knuth
Lindsay Knuth 2018년 3월 22일
I figured it out! Rarr was set up too small instead of it being
Rarr= zeros(factorial(nw-1), nw);
it had to be
Rarr= zeros(factorial(nw-2), nw+1);

추가 답변 (1개)

Guillaume
Guillaume 2018년 3월 22일
You're trying to stuff 6+2 = 8 columns in an array of 7 columns. Of course, it's not going to work. An easy fix would be to declare Rarr with 8 columns (i.e. nw+1), but even simpler not to bother with the loop and create Rarr directly with:
Rarr = [repmat(1, size(interRarr, 1), 1), interRarr, repmat(1, size(interRarr, 1), 1)];

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by