How can I create a multidimensional array from two vectors that have different dimensions using a for loop?

Hi I’m trying to create the following matrix from two vectors
A=1:2
B=4:7
C=[
1 4
1 5
1 6
1 7
2 4
2 5
2 6
2 7]
Using a for loop So far I have
A=1:2
B=4:7
For i=1:2
For j=1:4
C(i,j)= [A(i) B(j)]
End
End
After that I get a dimensional error. Any suggestions?

2 Comments

The arrays I have are 56 elements by 250. So I figured a for loop would be faster. Is there an easier way? Thanks for your answers!

Sign in to comment.

 Accepted Answer

for i=1
[b,a]=ndgrid(B,A);
C=[a(:),b(:)]
end

1 Comment

Thanks! this worked perfectly. I guess the need for the For loop is futile at this point. :) I was not aware of the ndgrid function. I appreciate the help!

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!