writing a matrix without loop

19 Ansichten (letzte 30 Tage)
ss
ss am 23 Dez. 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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Laura Proctor
Laura Proctor am 23 Dez. 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)));

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by