필터 지우기
필터 지우기

Using the find function

조회 수: 1 (최근 30일)
Denikka Brent
Denikka Brent 2018년 11월 11일
댓글: madhan ravi 2018년 11월 11일
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
Denikka Brent
Denikka Brent 2018년 11월 11일
편집: Denikka Brent 2018년 11월 11일
Note: I have M==2 just to see if it will work for any values between 0 and 5

댓글을 달려면 로그인하십시오.

채택된 답변

madhan ravi
madhan ravi 2018년 11월 11일
편집: madhan ravi 2018년 11월 11일
index = (M>2&M<5); %M greater than 2 and less than 5
Logical indexing is efficient
  댓글 수: 2
Denikka Brent
Denikka Brent 2018년 11월 11일
Thanks!
madhan ravi
madhan ravi 2018년 11월 11일
Anytime :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by