Azzera filtri
Azzera filtri

writing a matrix without loop

9 visualizzazioni (ultimi 30 giorni)
ss
ss il 23 Dic 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

Risposta accettata

Image Analyst
Image Analyst il 23 Dic 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 Commenti
Image Analyst
Image Analyst il 26 Dic 2012
x = randi(9, [8 1]) % Random, sample data.
iMinus1 = 0:11
a = x * iMinus1
ss
ss il 26 Dic 2012
thanks for your fast and useful response

Accedi per commentare.

Più risposte (1)

Laura Proctor
Laura Proctor il 23 Dic 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)));

Community Treasure Hunt

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

Start Hunting!

Translated by