Assigning an Array to Structure Field
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm having trouble assigning an array to a structure field.
shuff = randperm(length(unshuff));
[unshuff.trial] = shuff;
I get the following error message:
Too many output arguments.
Any ideas?
0 comentarios
Respuestas (1)
Walter Roberson
el 1 de Sept. de 2015
If unshuff is an existing structure array, then
unshuff.trial
would expand to multiple locations as if you had written
[unshuff(1).trial, unshuff(2).trial, ... unshuff(end).trial] = shuff;
but your shuff is only a single output.
If you want to assign the same value to each of the locations, use
[unshuff.trial] = deal(shuff);
If you want to assign one of the values in shuff to each of the outputs then:
shuff = num2cell(randperm(length(unshuff)));
[unshuff.trial] = shuff{:}; %or deal(shuff{:})
0 comentarios
Ver también
Categorías
Más información sobre Structures 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!