Creating matrix outside for loop
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
m13
am 19 Feb. 2017
Kommentiert: Star Strider
am 20 Feb. 2017
I need to create a matrix of variables and have the current code below. Is there anyway to do this without a for loop?
x = 0:.1:1;
y = 0:.1:1;
for i = 1:length(x)
for j = 1:length(y)
x2(i,j) = x(i);
y2(i,j) = y(j);
end
end
0 Kommentare
Akzeptierte Antwort
Star Strider
am 19 Feb. 2017
Bearbeitet: Star Strider
am 19 Feb. 2017
Try this:
x2 = y'*ones(size(x));
y2 = ones(size(y'))*x;
EDIT —
The R2016b multiplication automatically does the expansion. Previous versions would require bsxfun calls:
x2 = bsxfun(@times, y', ones(size(x)));
y2 = bsxfun(@times, ones(size(y')), x);
5 Kommentare
Star Strider
am 20 Feb. 2017
You do not need the loop.
This works:
U = sin(y1);
(I apologise for the delay.)
Weitere Antworten (0)
Siehe auch
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!