Using the find function

3 visualizaciones (últimos 30 días)
Denikka Brent
Denikka Brent el 11 de Nov. de 2018
Comentada: madhan ravi el 11 de Nov. de 2018
I am trying to pull out a certain value in this function. I am trying to find the values of the wbar(i,1),wbar(i,2), and wbar(i,3) each at M=0,0.5,1,and 5. I can get it to work at M=0 and M=5 but not between. Can anyone help with this?
Here is my code:
n = 100;
M = linspace(0,5,n);
wbar = NaN(n,3);
wbar(1,:) = [pi/2,3*pi/2,5*pi/2];
for i=2:n
fun = @(w) cos(w) - M(i)*sin(w);
wbar(i,1) = fzero(fun,wbar(i-1,1));
wbar(i,2) = fzero(fun,wbar(i-1,2));
wbar(i,3) = fzero(fun,wbar(i-1,3));
end
figure(1)
plot(M,wbar,'-')
grid on
index = find(M==2);
freq1=wbar(index,1)
index = find(M==2);
freq2=wbar(index,2)
index = find(M==2);
freq3=wbar(index,3)
  1 comentario
Denikka Brent
Denikka Brent el 11 de Nov. de 2018
Editada: Denikka Brent el 11 de Nov. de 2018
Note: I have M==2 just to see if it will work for any values between 0 and 5

Iniciar sesión para comentar.

Respuesta aceptada

madhan ravi
madhan ravi el 11 de Nov. de 2018
Editada: madhan ravi el 11 de Nov. de 2018
index = (M>2&M<5); %M greater than 2 and less than 5
Logical indexing is efficient
  2 comentarios
Denikka Brent
Denikka Brent el 11 de Nov. de 2018
Thanks!
madhan ravi
madhan ravi el 11 de Nov. de 2018
Anytime :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by