主要内容

fnval

评估样条函数

描述

实例

v=fnval(F,x)提供了价值F(x)在x样条函数F谁的描述包含在F

如果F是标量值且是单变量的,输出v通过替换x以…的价值F在这个条目。这是其他情况下的意图,除了aD-重视M-变量函数,D-向量替换M向量。

对于一个一元F:

  • 如果F是纯量值,那么v大小与x

  • 如果F(d1,…,博士)-重视,以及x有尺寸[n1,…,ns]然后v有尺寸[d1,…,dr,n1,…,ns]具有v(:,…,:,j1,…,js)价值Fx (j - 1,…,js),–除了:

    • n1如果是,则忽略1.s2.,即如果x是一个行向量;

    • MATLAB®忽略的任何尾随单例维度x

为了M-变量F具有m> 一,具有F(d1,…,博士)-重视,x可以是数组,也可以是单元格数组{x1,…,xm}

  • 如果x是一个数组,大小为[n1,…,ns]然后n1必须相等M,v有尺寸(d1,……,DR,n2,...,ns]具有v(:,…,:,j2,…,js)价值Fx(:,j2,…,js),–除了:

    • d1, ...,博士在这种情况下被忽略F是标量值,即两者都是Rn11.;

    • MATLAB忽略了x

  • 如果x是一个单元格数组,则它必须为{x1,…,xm}具有xj长度的向量新泽西,在这种情况下,v有尺寸(d1,……,DR,n1,...,nm]具有v(:,…,:,j1,…,jm)价值F在(x1(j1),…xm(吉咪)),–除了d1, ...,博士在这种情况下被忽略F是标量值,即两者都是Rn11.

如果F有一个跳跃的不连续性x,然后是值F(x+),即,返回右侧的限制,除非x等于窗体基本间隔的右端;为了这样x,价值F(x-),即从左边开始的限制,返回。

fnval (x,F)fnval(f,x)

“l”fnval(…)对待F从左边开始连续。这意味着如果F有一个跳跃的不连续性x,然后是值F(x–),即从左侧返回限制,除非x等于基本区间的左端点;对于这样的x,价值F(x+)他回来了。

如果函数是多元的,则上述关于从左到右连续性的陈述适用于坐标方向。

例子

全部崩溃

这个例子展示了如何插入一些数据,绘制和计算结果函数。

定义一些数据。

x=[0.0740.31 0.38 0.53 0.57 0.58 0.59 0.61 0.61 0.65 0.71 0.81 0.97];y=[0.91 0.96 0.77 0.5 0.5 0.51 0.51 0.53 0.53 0.57 0.62 0.61 0.31];

插值数据并绘制结果函数,F

f=csapi(x,y)
f=带字段的结构:形式:'pp' break: [1x12 double] coefs: [11x4 double] pieces: 11 order: 4 dim: 1
fnplt(f)

找到函数的值Fx=0.5

Fnval (f, 0.5)
ans = 0.5294

找到函数的值F0, 0.1, ..., 1

fnval(f,0:0.1:1)
ans=1×110.3652 1.0220 1.1579 0.9859 0.7192 0.5294 0.5171 0.6134 0.6172 0.4837 0.2156

创建一个函数f2表示曲面的。

x=0.0001+(-4:0.2:4);y=-3:0.2:3;[yy,xx]=meshgrid(y,x);r=pi*sqrt(xx.^2+yy.^2);z=sin(r)。/r;f2=csapi({x,y},z);

绘制函数f2

fnplt(f2)轴([-5,5,-5,5,-0.5,1]);

找到函数的值f2x = 2y=3

fnval(f2,[-2;3])
ans=-0.0835

输入参数

全部崩溃

要计算的样条函数,指定为对象。

你想求样条函数值的点F,指定为向量、矩阵或单元格数组。

输出参数

全部崩溃

价值F(x)在x样条函数F,以标量、向量、矩阵或单元格数组的形式返回。

算法

每项x,该函数确定相关的中断间隔或结间隔,并汇编相关信息。取决于F嵌套乘法或b样条递归式(参见PGS; 然后,以向量方式使用X.(3)]来同时评估x.多元多项式样条函数的求值充分利用了张量积结构。

有理样条函数的求值是对相应的向量值样条函数求值的后续步骤,方法是将除最后一个分量以外的所有分量除以最后一个分量。

在stform中对函数进行求值时,必须使用stcol,并试图将涉及的矩阵保持在合理的大小。

在R2006b中引入