# fvallm


计算 FitResult 或 FitType 对象

函数库: TyCurveFitting

# 语法

y = fvallm(fun, x)
z = fvallm(fun, x, y, type="pointwise")
z = fvallm(fun, [x y])
y = fvallm(ffun, coeff1, coeff2, ..., x)
z = fvallm(ffun, coeff1, coeff2, ..., [x y])

# 说明

注意

您可以使用 fvallm 计算拟合,但是也可以把拟合结构体当作函数然后直接使用下面的用法:

y = fun(x)

z = fvallm(fun, x, y)

z = fvallm(fun, [x y])

y = fvallm(ffun, coeff1, coeff2, ..., x)

z = fvallm(ffun, coeff1, coeff2, ..., [x y])

您可以使用 fvallm 方法计算估计函数,无论是在原来的数据点还是在新的数据点都允许。后者通常称之为插值或者预测,这取决于模型类型。您也可以使用 fvallm 来将估计函数外插至现在的数据点范围以外。

y = fvallm(fun, x) 在以向量 x 指示的点计算 FitResult 结构体 fun 并且以向量 y 返回响应值。示例


z = fvallm(fun, x, y, type="pointwise") 在以 x 和 y 指示的点计算 FitResult 结构体 fun 并且以 z 返回响应值。指定 type 为 "pointwise",x,y 必须为长度相同的向量,函数返回与 x,y 长度相同的、一一对应的响应值。指定 type 为 "cross",x,y 必须大小相同,函数返回与 x,y 大小相同的、交叉对应的响应值。


z = fvallm(fun, [x y]) 在以两列矩阵 [x,y] 指示的点计算 FitResult 结构体 fun 并且以向量 z 返回响应值。


y = fvallm(ffun, coeff1,coeff2, ..., x) 为 FitType 结构体 ffun 指示系数 coeff1,coeff2 等,计算其在以向量 x 指示的点的值,并以向量 y 返回响应值。ffun 在这个用法中不能为 FitResult 结构体。要计算 FitResult 结构体,请使用第一种语法。


z = fvallm(ffun, coeff1,coeff2, ..., [x y]) 得到了一个相似的结果。

# 示例

使用 fvallm 函数计算 FitType 和 FitResult 结构体

创建 FitType 和 FitResult 结构体以及一个预测值矩阵。

using TyCurveFitting
f = fittype("a*x^2+b*exp(n*x)")
c = assign_result(f,1,10.3,-1e2)
X = [0.0579 0.8132;0.3529 0.0099]

使用 fvallm 函数计算 FitType 结构体 f。

y1 = fvallm(f,1,10.3,-1e2,X)
y1 = 2×2 Matrix{Float64}:

 0.0348496  0.661294
 0.124538   3.82734

现在计算 FitResult 结构体 c。

y2 = fvallm(c,X)
y2 = 2×2 Matrix{Float64}:

 0.0348496  0.661294
 0.124538   3.82734

也可以选择间接调用 fvallm。

y2 = c(X)
y2 = 4-element Vector{Float64}:

 0.034849626417160065 
 0.12453841000000485
 0.66129424 
 3.8273379275270702

当间接调用 fvallm 时,输出将以向量形式返回。

# 输入参数

fun - FitResult 函数
FitResult

要计算的函数,指定为 FitResult 结构体。

ffun - FitType 函数
FitType

要计算的函数,指定为 FitType 结构体。

x - 计算点
向量 | 矩阵

计算函数的点,指定为向量或矩阵。

y - 计算点
向量 | 矩阵

计算函数的点,指定为向量或矩阵。

coeff1,coeff2,... - 系数
标量

为 FitType 结构体 ffun 指定的一个或更多的系数,指定为标量。

type - 计算类型
"pointwise"(默认) | "cross"

计算函数的类型,指定为 "pointwise" 或 "cross"。该用法仅在 x,y 均输入的情况下使用。其含义如下。

type 输入类型 输出类型 输出值
"pointwise" x, y大小相同 与 x,y 大小相同 z[p]=fun(x[p],y[p]),其中 p 遍历 x,y 的每一个指标,此用法与 z=fun.(x,y) 相同。
"cross" x,y 为长度相同的向量 大小为 (length(x),length(y)) 的矩阵 z[i,j]=f(x[i],y[j])

当指定 type 为 "cross" 但 x,y 不为长度相同的向量时,x,y 将被转为向量并使用 "pointwise" 方法。

# 输出参数

y - 响应值
向量

函数在以向量 x 指定的预测点的响应值,以向量形式返回。

z - 响应值
向量

函数在以两列矩阵 [x y] 指定的预测点的响应值,以向量形式返回。

# 另请参阅

fit | fittype | assign_result