Fill the gap between two lines

17 vues (au cours des 30 derniers jours)
Cora Boriga
Cora Boriga le 8 Jan 2024
Commenté : Image Analyst le 11 Jan 2024
Hello,
I'd like to fill the gap between two a curve and a line, but only when the curve is above the line.
This is my actual code:
curve = F(:,2)';
line = 13;
plot(curve,'k');
hold on;
area(x,curve,line,'FaceColor','c','LineWidth',1);
yline(line, '--r',LineWidth=2)
Thankyou for your help!

Réponse acceptée

Cris LaPierre
Cris LaPierre le 8 Jan 2024
I think you could accomplish this by modifying the data you pass into area so that y is lever less that line.
max(curve,line)
For example:
x = 0:0.1:10;
curve = 5*sin(x) + 10;
line = 13;
plot(x,curve,'k');
hold on;
area(x,max(curve,line),line,'FaceColor','c','LineWidth',1);
hold off
yline(line, '--r',LineWidth=2)
  4 commentaires
Cora Boriga
Cora Boriga le 11 Jan 2024
You were right! I tried to upsample my data and now it works much better. Thankyou very much.
Image Analyst
Image Analyst le 11 Jan 2024
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by