How can i interpolate 1-D data, whit y especified values?

2 次查看(过去 30 天)
Dear community
I want my interpolation to contain some specified values:
x = [1 2 3 4 6];
y = x^2;
xx = linspace(x(1),x(end),80)
vq = interp1(x,y,xx,'spline')
Let say that I want that vq contains y = 4.5 (or a set of values), and i have the x* value(s) that do y(x*) = 4.5 ( I alredy know that in this example y = 3.5 is a little off)
Thanks in advance.

采纳的回答

the cyclist
the cyclist 2022-8-13
Unless I'm missing something, it sounds like you just want to interpolate x from y, instead of y from x:
x = [1 2 3];
y = [1 4 9];
yq = y(1) : 0.5 : y(end);
xq = interp1(y,x,yq,'spline');
[xq' yq']
ans = 17×2
1.0000 1.0000 1.1875 1.5000 1.3667 2.0000 1.5375 2.5000 1.7000 3.0000 1.8542 3.5000 2.0000 4.0000 2.1375 4.5000 2.2667 5.0000 2.3875 5.5000

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by