Matlab Error Message?

8 Ansichten (letzte 30 Tage)
Ahmed
Ahmed am 21 Jan. 2016
Kommentiert: Ahmed am 21 Jan. 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?

Akzeptierte Antwort

Guillaume
Guillaume am 21 Jan. 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 Kommentar
Ahmed
Ahmed am 21 Jan. 2016
That is fine Thank you

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 21 Jan. 2016
Bearbeitet: Image Analyst am 21 Jan. 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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by