如何计算图形和方程中带有 x 的值的值?

how to calculate the value of a value with x in a graph and equation?

如何计算y = [10 30 60]的值,在图中得到它的x值,参考一下如何应用代码?

 x = [63 50 38 26.5 19 13.2 9.5 4.75 2.36 1.18 0.6 0.3 0.15 0.01];
 y = [100 100 92 18 1 0 0 0 0 0 0 0 0 0];
 z=max (x);
 l=min (x);
 xq1 = -l:0.5:z;
 p = pchip(x,y,xq1);
 semilogx(x,y,'ob',xq1,p,'-r');
 hold on
 grid on;
 xlim([0.01 100])
 ylim([0 100])
 legend('Curva','Linea')

示例:

所以如果我没猜错,你想要 x = f(y) 一些 x 有序降序折线?

  1. 找到覆盖你的y

    的线段

    简单地遍历所有线段并找到所有符合以下条件之一的线段:

     y[i]<= y < y[i-1]
     y[i]>= y > y[i-1]
    
  2. 插入x位置

    最简单的使用线性插值:

     x = x[i] + (x[i-1]-x[i])*(y-y[i])/(y[i-1]-y[i])
    

    如果您需要使用更高阶的插值...

所以例如让 y=10 然后 i=4 因为:

1 < 10 < 18

所以:

x = x[i] + (x[i-1]-x[i])*(y-y[i])/(y[i-1]-y[i])
x =  19  + ( 26.5 - 19 )*(10- 1 )/(  18  -  1 )
x =  19  +  7.5*9/17
x =  19  +  3.9705882352941176470588235294118
x =  22.970588235294117647058823529412