Getting a j x k Matrix from j and k-dimensional Vectors Without a For Loop?

2 Ansichten (letzte 30 Tage)
Suppose I have two column vectors:
J = j x 1 vector
K = k x 1 vector
And I want to create a j x k matrix, W:
W = j x k matrix
where the columns of W are formed by multiplying the corresponding element of K by the vector J.
The for loop to create W looks like this :
% J = j x 1 vector
% K = k x 1 vector
W = zeros(length(J),length(K));
for i = 1:1:length(K)
W(:,i) = K(i)*J;
end
Numerical example:
J = [1 2 3]';
K = [4 5]';
should result in
W =
4 5
8 10
12 15
Is there any way I can avoid the for loop here? Thanks!
  2 Kommentare
Mark Rzewnicki
Mark Rzewnicki am 23 Mär. 2020
Nope, just a project for fun on the side. I'm looking at large computing times here so I'm anxious to avoid as many loops as possible.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

per isakson
per isakson am 23 Mär. 2020
Bearbeitet: per isakson am 24 Mär. 2020
>> J*K'
ans =
4 5
8 10
12 15
  1 Kommentar
Mark Rzewnicki
Mark Rzewnicki am 23 Mär. 2020
Hah, now I see why you asked if it was homework. Should have been obvious that all I needed to do was transpose.
Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by