How to find a y value for a given x in a plot?

I have plotted a curve with a given dataset. Now I want to find the value of y for a certain value of x. The code and graph is give below.
filen='argo-profiles-2902294.nc'
p=ncread(filen,'PRES');
t=ncread(filen,'TEMP');
p1=p(:,2)
t1=t(:,2)
plot(t1,p1,'k')
set(gca,'YDir','reverse')
Now, let's say I want to find the pressure value for a certain x value (say 25). What to do?

 Accepted Answer

x1 = 25;
y1 = interp1(t1, p1, x1);

5 Comments

I have tried that already but matlab was giving me an error. The code and error is given below
clc
clear all
filen='argo-profiles-2902294.nc'
p=ncread(filen,'PRES');
t=ncread(filen,'TEMP');
p1=p(:,2)
t1=t(:,2)
plot(t1,p1,'k')
set(gca,'YDir','reverse')
p2=interp1(t1,p1,20)
Can you post your data t1 and p1?
p1 = readmatrix("p1.xlsx");
t1 = readmatrix("t1.xlsx");
whos
Name Size Bytes Class Attributes ans 1x32 64 char p1 970x1 7760 double t1 970x1 7760 double
% Your data has nan
p1(end-10:end)
ans = 11×1
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
% Remove the nan first
idx = any(isnan([t1 p1]), 2);
t1(idx) = []; p1(idx)= [];
p2=interp1(t1,p1,20)
p2 = 92.7622

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!