fitting envelope peak points
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ancalagon8
el 22 de Mayo de 2020
Comentada: Image Analyst
el 19 de Jun. de 2020
I am facing some problems trying to create a fitting curve that will pass through maximum peaks. I tried findpeaks
findpeaks(Sig)
hold all
plot(Sig,'k')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/297648/image.jpeg)
as well as envelope
[up, lo] = envelope(Sig,'peak');
plot(Sig, 'o-k');
hold on
plot(up,'r');
plot(lo,'b');
legend ('bb','up','down')
grid
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/297653/image.jpeg)
How can i create a fitting curve which will pass through max peak points? Will a solution be to export peaks into a new array, plot them and then create a fitting curve or there is another way?
Thanks in advance!
0 comentarios
Respuesta aceptada
Image Analyst
el 22 de Mayo de 2020
Just try interp1() or spline(). Pass in your peak points and then the x values of the whole array, something like
[peakValues, indexes] = findpeaks(Sig);
yOut = spline(indexes, peakValues, 1:length(Sig));
plot(yOut, 'b-', 'LineWidth', 2);
grid on;
Let me know if it works. Attach your Sig data if it doesn't. Accept this answer if it does.
11 comentarios
Image Analyst
el 18 de Jun. de 2020
Yes. Did you try to change the model? It's not hard. See attached.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/318537/image.png)
Más respuestas (1)
Ancalagon8
el 19 de Jun. de 2020
Editada: Ancalagon8
el 19 de Jun. de 2020
1 comentario
Image Analyst
el 19 de Jun. de 2020
Wow, that's bizarre, but we've seen it before. See this link.
It seems to be related to the OpenGL renderer.
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!