
how to determine each local min point?
    조회 수: 3 (최근 30일)
  
       이전 댓글 표시
    
Hi everyone, I have a urgent question to seek for help...
I have a sine wave however, angle in the sine wave is not a constant variation of x as shown below...
x = 0: 0.00001: 4;
v = x.*exp(x/2);
t = sin(v);
plot(x,t);
My trouble is how to display each of the local xmin point?
From the plot itself i wanted to display xmin1 = 1.859, xmin2 = 2.73, and xmin3 = 3.307.
Hope to hear from anyone soon... been cracking my head for the past weeks... )':
Best Regards
Will*
댓글 수: 0
채택된 답변
  Image Analyst
      
      
 2013년 3월 6일
        
      편집: Image Analyst
      
      
 2013년 3월 6일
  
      If you have the Image Processing Toolbox, you can use imregionalmin(), like this:
% Original code
x = 0: 0.00001: 4;
v = x.*exp(x/2);
t = sin(v);
plot(x,t);
% Image Analyst's code:
minsIndexes = imregionalmin(t); % Logical array of where mins are.
% Extract the t values at those min locations;
minValues = t(minsIndexes) 
% Get the x values at those mins.
minX = x(minsIndexes) 
% Plot star over the mins.
hold on;
plot(minX, minValues, 'r*', 'MarkerSize', 10);
In the command window:
minValues =
             0         -1.00         -1.00         -1.00         -1.00         -0.96
minX =
             0          1.86          2.76          3.31          3.70          4.00

참고 항목
카테고리
				Help Center 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


