writing a matrix without loop

12 vues (au cours des 30 derniers jours)
ss
ss le 23 Déc 2012
Dear all I want to write a matrix that its arrays are dependent on i and j, could I write it without writing loops. my arrays are something like it a(i,j)=sin(2*pi*(i-1))/((sin(2*pi*(i-1))+sin(2*pi*(j-1))))). Thanks

Réponse acceptée

Image Analyst
Image Analyst le 23 Déc 2012
Use meshgrid:
m = 0:20;
n = 0:4;
[x y] = meshgrid(m, n);
a = sin(2*pi*y) ./ ((sin(2*pi*y) + sin(2*pi*x)))
imagesc(a);
set(gca, 'ydir', 'reverse');
  3 commentaires
Image Analyst
Image Analyst le 26 Déc 2012
x = randi(9, [8 1]) % Random, sample data.
iMinus1 = 0:11
a = x * iMinus1
ss
ss le 26 Déc 2012
thanks for your fast and useful response

Connectez-vous pour commenter.

Plus de réponses (1)

Laura Proctor
Laura Proctor le 23 Déc 2012
Yes, you can create this matrix without using a loop. Use array based mathematical expressions such as ./ and .*
a = sin(2*pi*(ii-1))./(sin(2*pi*(ii-1))+sin(2*pi*(jj-1)));

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by