Using the find function
Show older comments
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 Comment
Denikka Brent
on 11 Nov 2018
Edited: Denikka Brent
on 11 Nov 2018
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!