是否可以像反转函数一样“反转”一系列数据?
让我解释。如果我有一个可以在MATLAB中绘制的函数,我总是(几乎)可以通过找到该函数的逆函数,finverse而绘制将提供以下信息:
但我没有一个功能我的数据,我仍希望找到一种这样的一系列数据的倒数,例如像y=f(x)在那里
x=[0.0050879 0.0056528 0.0062176 0.0067822 0.0073467 0.0079111 0.0084752 0.0090392 0.0096030 0.0101666 0.0107299 0.0112930 0.0118558 0.0124184 0.0129807 0.0135428 0.0141045 0.0146659 0.0152270 0.0157877 0.0163481];
Run Code Online (Sandbox Code Playgroud)
和
y=[0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 4.4901e-05 4.4901e-05 8.9801e-05 1.3470e-04 1.7960e-04 2.2450e-04 2.6940e-04 3.5920e-04 4.0411e-04 4.9391e-04 5.8371e-04];
Run Code Online (Sandbox Code Playgroud)
在MATLAB中可以对一系列数据进行这种操作吗?是否有可以解决此问题的技术/方法/功能?
注意:我以前尝试通过polyfit函数用多项式“拟合”数据序列,然后通过函数求反finverse。但它导致的f^-1是依赖于这两个功能x,并y在同一时间。而且由于x间距甚至不均匀,我什至不知道如何绘制...
反相由一系列表示的函数(x, y)的数据点是通过改变的位置来完成x和y:(y, x)。可以在Matlab中将其可视化,如下所示:
figure
hold on
plot(x, y, 'red')
plot(y, x, 'blue')
from = min(min(x), min(y));
to = max(max(x), max(y));
plot([from to], [from to], 'k--')
legend('Original', 'Inverted')
Run Code Online (Sandbox Code Playgroud)