matlab - 将函数定义为 x,y 数据的插值

标签 matlab function spatial-interpolation

我在 data.txt 中有 2 列 x y 数据,如下所示:

0  0
1  1
2  4
3  9
4  16
5  25

现在我想定义一个函数 f(x),其中 x 是第一列,f(x) 是第二列,然后能够像这样打印这个函数的值:
f(2)

这应该给我 4。

我如何实现这一目标?

最佳答案

假设您想要一些作为引用的数字之间的返回值,您可以使用线性插值:

    function y= linearLut(x)
         xl = [0 1 2 3 4 5];
         yl = [0 1 4 9 16 25];
         y = interp1(xl,yl,x);
    end

该函数的更通用版本可能是:
    function y= linearLut(xl,yl,x)
         y = interp1(xl,yl,x);
    end

然后您可以使用匿名函数创建特定实例:
    f = @(x)(linearLut([0 1 2 3 4],[0 1 4 9 16],x));
    f(4);

关于matlab - 将函数定义为 x,y 数据的插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559025/

相关文章:

matlab - 关于pwelch在matlab中的使用与理解

python3函数正确性

.net - 如何使用 DbGeography 沿线串插入点?

matlab - 如何基于两个几乎垂直的向量创建正交基?

Matlab Coder 在使用 coder.load 加载 MAT 文件时在结构数组中抛出混合字段类型错误

php - jQuery 函数将我的参数转换为 int

python - Python中常规网格的插值

python - 如何在Python中加载Matlab的结构体(用v7.3保存)

c - 在 GTK C 中通过回调函数传递变量