How can I fit a curve at the bottom of the plot below?

1 view (last 30 days)
I have the attached dataset and I want to fit a curve at the bottom of the curve. See the attached photo. The original data is in blue and the fit is that in black.
Sample data is attached. Thank you in advance

Accepted Answer

Matt J
Matt J on 4 Jul 2023
Edited: Matt J on 4 Jul 2023
You can use boundary,
y=readmatrix('data.txt');
x=(1:numel(y))';
k=boundary(x([1:end,1]), y([1:end,1]));
k=k(diff(k)>0);
plot(x,y, x(k),y(k))
  5 Comments
Matt J
Matt J on 4 Jul 2023
Ok, but what help do you still require? As you can see below, the recommendations from my last comment work for y.txt as well.
[~,y]=readvars('y.txt');
x=(1:numel(y))';
S=[1,0.7,0];
for s=S
k=boundary(x([1:end,1]), y([1:end,1]),s);
k=k(diff(k)>0);
plot(x(k),y(k),'-.');hold on
end;
legend("s="+S); xlim([100,400])
Stephen Tete
Stephen Tete on 4 Jul 2023
Edited: Stephen Tete on 4 Jul 2023
works great when s=0, Thank you very much

Sign in to comment.

More Answers (0)

Categories

Find more on Curve Fitting Toolbox in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!