Borrar filtros
Borrar filtros

Create matrix using nested loops

1 visualización (últimos 30 días)
Duffy Duck
Duffy Duck el 18 de Sept. de 2014
Comentada: Joseph Cheng el 18 de Sept. de 2014
Hi everyone, I would like to create a 2x5 matrix. Row 1 will be the sin(x) and Row 2 the cos(x). Each column will be the values of x being 0, 90, 180, 270, 360.
I do not seem to get it right. Can anyone please direct me to my mistake? I do not need a solution to my assignment, I just need some guidance.
for j=0:4
j=j+1
for i=0:90:360
Y(1,j)=sin(i)
Y(2,j)=cos(i)
end
end
Any help is appreciated.

Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 18 de Sept. de 2014
Editada: Mohammad Abouali el 18 de Sept. de 2014
Theta=[0, 90, 180, 270, 360];
Y=zeros(2,numel(Theta))
Y(1,:)=sind(Theta);
Y(2,:)=cosd(Theta);
NOTE the "d" after sin and cos function.
  2 comentarios
Andrei Bobrov
Andrei Bobrov el 18 de Sept. de 2014
Y = [sind(Theta);cosd(Theta)];
Duffy Duck
Duffy Duck el 18 de Sept. de 2014
Thank you very much !

Iniciar sesión para comentar.

Más respuestas (1)

Jos (10584)
Jos (10584) el 18 de Sept. de 2014
Note that
  • Indexing in ML starts at 1
  • You should rarely change the iterator inside the loop
  • sin and cos take radians, rather than degrees
  • do you really need a double loop?
Angles = [0 90 180 270] % angles in degrees
N = numel(Angles)
Y = nan(N,2) % pre allocation
for j=1:N
tmp = Angles(j) * (pi/180)
Y(j,1) = sin(tmp)
Y(j,2) = cos(tmp)
end
Note that you can vectorise this.
  3 comentarios
Duffy Duck
Duffy Duck el 18 de Sept. de 2014
Thank you very much !
Joseph Cheng
Joseph Cheng el 18 de Sept. de 2014
also there is no need to do this in a loop. the sin and cos functions will accept arrays and perform the sin and cos on each index. so similarly how Jos has Angles you can go cos(angles) and have the cos of each individual index as a return.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by