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 commentaires

Are you sure you want to do this with a for-loop?
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!

Connectez-vous pour commenter.

 Réponse acceptée

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

1 commentaire

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!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by