How do I plot all values in my IF loop?
Show older comments
I am writing a function, which cannot use the findpeaks or islocalmax, to plot all the maximum values on a graph. However with my if loop it plots each maximum value on a different figure
How do I display them all on one figure? Help very much appreciated.
Here is my function:
function [k] = Peak(X,Y)
for k = 2:length(Y)-1
if (Y(k) > Y(k-1) & Y(k) > Y(k+1) & Y(k) >100)
figure
plot(X,Y,X(k),Y(k),'r*')
end
end
end
2 Comments
Monica Mahesh
on 13 Jun 2022
Edited: Monica Mahesh
on 13 Jun 2022
I see blank plot sheet after running this.Can you please help me to get the plot in this program
for k=0:M:M*N;
x=k+y;
m=2;
plot(x,m,'k')
hold on;
end
for k=2:M:M*N;
x=k+y;
m=0;
plot(x,m,'k')
hold on;
end
hold off;
axis([0 12 -0.5 2.5])
@Monica Mahesh: You are plotting one point at a time, in which case you'll need a data marker to see the points:
y = 1; % I make up some values here
M = 2;
N = 5;
for k=0:M:M*N;
x=k+y;
m=2;
plot(x,m,'*k'); % use marker '*' for instance
hold on;
end
axis([0 12 -0.5 2.5])
Or, if you want to plot a line to connect those points, you can plot them all at once:
figure();
x = (0:M:M*N)+y;
m = 2*ones(1,numel(x));
plot(x,m,'k')
axis([0 12 -0.5 2.5])
Accepted Answer
More Answers (0)
Categories
Find more on Descriptive Statistics 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!
