For loop to include an array into a different array

2 visualizaciones (últimos 30 días)
Lindsay Knuth
Lindsay Knuth el 22 de Mzo. de 2018
Respondida: Guillaume el 22 de Mzo. de 2018
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

Respuesta aceptada

Lindsay Knuth
Lindsay Knuth el 22 de Mzo. de 2018
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);

Más respuestas (1)

Guillaume
Guillaume el 22 de Mzo. de 2018
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)];

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by