Creating matrix outside for loop
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Star Strider
on 19 Feb 2017
Edited: Star Strider
on 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 Comments
Star Strider
on 20 Feb 2017
You do not need the loop.
This works:
U = sin(y1);
(I apologise for the delay.)
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!