Matlab Error Message?

8 visualizaciones (últimos 30 días)
Ahmed
Ahmed el 21 de En. de 2016
Comentada: Ahmed el 21 de En. de 2016
I have the below matlab code, and I got this error "Subscripted assignment dimension mismatch"
for s=1:6
x(:,s) = Cr(1,s) .* x2(:,s);
end
Cr is 1x6, x2 is 100x6?
Does anyone know where is the problem?

Respuesta aceptada

Guillaume
Guillaume el 21 de En. de 2016
Your x must have strictly more or less than 100 rows. Hence the assignment fails.
Note that a much simpler way of achieving what you want is with bsxfun:
x = bsxfun(@times, Cr, x2) %that's all that's needed. No loop.
  1 comentario
Ahmed
Ahmed el 21 de En. de 2016
That is fine Thank you

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 21 de En. de 2016
Editada: Image Analyst el 21 de En. de 2016
Maybe you're after this: (????)
Cr = rand(1,6);
x2 = rand(100,6);
x = zeros(100, 6); % Preallocate
for row = 1 : size(x2, 1)
x(row, :) = Cr(1:end) .* x2(row,:);
end
x

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by