# 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