FunctionApproximation。问题类
包:FunctionApproximation
对象,定义要近似的函数或要优化的查找表
描述
的FunctionApproximation。问题
对象定义要用查找表近似的函数,或要优化的查找表块。定义问题之后,使用解决
方法来生成FunctionApproximation。LUTSolution
对象,该对象包含近似。
建设
创建一个approximationProblem
= FunctionApproximation.Problem ()FunctionApproximation。问题
具有默认属性值的对象。当没有函数
提供了输入FunctionToApproximate
属性设置为“罪”
.
创建一个approximationProblem
= FunctionApproximation。问题(函数
)FunctionApproximation。问题
来近似函数,数学函数块或指定的查找表函数
.
输入参数
函数
- - - - - -要近似的函数或块,或要优化的查找表块
“罪”
(默认)|数学函数|函数处理|cfit
对象|数学功能块|查找表块|子系统块
要近似的函数或块,或要优化的查找表块,指定为函数句柄,数学函数,一个cfit
(曲线拟合工具箱)对象,仿真软件®块或子系统,或者查找表块之一(例如,一维查找表,一天的查找表).
如果指定一个查找表块,则解决
方法生成优化的查找表。
如果你指定一个数学函数,一个函数句柄,cfit
对象,或块解决
方法生成输入函数的查找表近似值。
如果指定cfit
对象,使用fittype
(曲线拟合工具箱)函数指定要近似的库模型。有关库模型的列表,请参见曲线和曲面拟合库模型列表(曲线拟合工具箱).
函数句柄必须在MATLAB上®搜索路径,否则近似失败。
支持近似的MATLAB数学函数为:
1. / x
10 . x ^
2 . x ^
这些“可信赖医疗组织”
作用是
印度历的7月
的作用
:
量化
atanh
因为
cosh
经验值
日志
log10
log2
罪
sinh
√6
棕褐色
双曲正切
x ^ 2。
提示
函数句柄生成查找表近似的过程比子系统快。如果子系统可以用函数句柄表示,则近似函数句柄会更快。
数据类型:字符
|function_handle
属性
FunctionToApproximate
- - - - - -函数要近似,或查找表块要优化
“罪”
(默认)|数学函数|函数处理|cfit
对象|数学功能块|查找表块|子系统块
要近似的函数或块,或要优化的查找表块,指定为函数句柄、数学函数、Simulink块或子系统,或查找表块之一(例如,一维查找表,一天的查找表).
如果指定一个查找表块,则解决
方法生成优化的查找表。
如果指定cfit
对象,使用fittype
(曲线拟合工具箱)函数指定要近似的库模型。有关库模型的列表,请参见曲线和曲面拟合库模型列表(曲线拟合工具箱).
如果你指定一个数学函数,一个函数句柄,cfit
对象,或块解决
方法生成输入函数的查找表近似值。
函数句柄必须在MATLAB搜索路径上,否则近似失败。
支持近似的MATLAB数学函数为:
1. / x
10 . x ^
2 . x ^
这些“可信赖医疗组织”
作用是
印度历的7月
的作用
:
量化
atanh
因为
cosh
经验值
日志
log10
log2
罪
sinh
√6
棕褐色
双曲正切
x ^ 2。
提示
函数句柄生成查找表近似的过程比子系统快。如果子系统可以用函数句柄表示,则近似函数句柄会更快。
数据类型:字符
|function_handle
NumberOfInputs
- - - - - -函数近似的输入数
1|2|3.
近似函数的输入数。这个属性是从FunctionToApproximate
属性,因此它不是一个可写的属性。
如果你生成一个直接查找表,要近似的函数只能有两个输入。
数据类型:双
InputTypes
- - - - - -函数近似所需的输入数据类型
numerictype
对象|向量的numerictype
对象|仿真软件。Numerictype
对象|向量的仿真软件。Numerictype
对象
近似函数的输入的期望数据类型,指定为numerictype
,仿真软件。Numerictype
的向量numerictype
或仿真软件。Numerictype
对象。的数量InputTypes
指定的必须与NumberOfInputs
.
例子:问题。InputTypes = ["numerictype(1,16,13)", "numerictype(1,16,10)"];
InputLowerBounds
- - - - - -函数要近似的输入范围的下限
标量|向量
函数要近似的输入范围的下限,指定为标量或向量。如果您指定正
,InputLowerBounds
在近似过程中使用的是由InputTypes
财产。的尺寸InputLowerBounds
必须匹配NumberOfInputs
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
InputUpperBounds
- - - - - -函数要近似的输入范围的上限
标量|向量
函数要近似的输入范围的上限,用标量或向量表示。如果您指定正
,InputUpperBounds
在近似过程中使用的是由InputTypes
财产。的尺寸InputUpperBounds
必须匹配NumberOfInputs
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
OutputType
- - - - - -函数近似输出的期望数据类型
numerictype
|仿真软件。Numerictype
函数近似输出的期望数据类型,指定为numerictype
或仿真软件。Numerictype
.例如,要指定输出为具有16位字长和最佳精度分数长度的带符号定点数据类型,请设置OutputType
财产“numerictype(16)”
.
例子:问题。OutputType = " numerictype(16)”;
选项
- - - - - -在近似中使用的附加选项和约束
FunctionApproximation。选项
对象
在近似中使用的其他选项和约束,指定为FunctionApproximation。选项
对象。
方法
解决 | 求函数逼近问题的最优解 |
复制语义
句柄。要了解句柄类如何影响复制操作,请参见复制对象.
例子
创建近似函数句柄的问题对象
创建一个FunctionApproximation。问题
对象,指定要近似的函数句柄。
问题(@(x,y) sin(x)+cos(y))
问题= FunctionApproximation。问题with properties FunctionToApproximate: @(x,y)sin(x)+cos(y) NumberOfInputs: 2 InputTypes: ["numerictype('double')" "numerictype('double')"] InputLowerBounds: [-Inf -Inf] InputUpperBounds: [Inf Inf] OutputType: "numerictype('double')" Options: [1×1 FunctionApproximation.Options]
的FunctionApproximation。问题
对象,问题
,使用默认属性值。
将函数输入的范围设置为0到2 *π
.
问题。InputLowerBounds = (0,0);问题。InputUpperBounds = [2*pi, 2*pi]
问题= FunctionApproximation。问题with properties FunctionToApproximate: @(x,y)sin(x)+cos(y) NumberOfInputs: 2 InputTypes: ["numerictype('double')" "numerictype('double')"] InputLowerBounds: [0 0] InputUpperBounds: [6.2832 6.2832] OutputType: "numerictype('double')" Options: [1×1 FunctionApproximation.Options]
创建近似数学函数的问题对象
创建一个FunctionApproximation。问题
对象,指定要近似的数学函数。
问题= FunctionApproximation。问题(“日志”)
问题= FunctionApproximation。问题with properties FunctionToApproximate: @(x)log(x) NumberOfInputs: 1 InputTypes: "numerictype(1,16,10)" InputLowerBounds: 0.6250 InputUpperBounds: 15.6250 OutputType: "numerictype(1,16,13)" Options: [1×1 FunctionApproximation.Options]
数学函数具有适当的输入范围、输入数据类型和输出数据类型属性默认值。
创建近似曲线拟合对象的问题对象
创建一个FunctionApproximation。问题
对象,指定一个cfit
对象来近似。
ffun = fittype (“exp1”);cfun = cfit (ffun, 0.1, 0.2);问题= FunctionApproximation.Problem (cfun);
问题= 1×1函数逼近。问题with properties: FunctionToApproximate: [1x1 cfit] NumberOfInputs: 1 InputTypes: "numerictype('double')" InputLowerBounds: -Inf InputUpperBounds: Inf OutputType: "numerictype('double')" Options: [1×1 FunctionApproximation.Options]
创建问题对象来优化查找表块
创建一个FunctionApproximation。问题
对象来优化现有的查找表。
openExample (“simulink_automotive / ModelingAFaultTolerantFuelControlSystemExample”,“supportingfile”,“sldemo_fuelsys”);问题= FunctionApproximation。问题(“sldemo_fuelsys / fuel_rate_control airflow_calc /注入恒定的)
问题= FunctionApproximation。问题with properties FunctionToApproximate: 'sldemo_fuelsys/fuel_rate_control/airflow_calc/Pumping Constant' NumberOfInputs: 2 InputTypes: ["numerictype('single')" "numerictype('single')"] InputLowerBounds: [50 0.0500] InputUpperBounds: [1000 0.9500] OutputType: "numerictype('single')" Options: [1×1 FunctionApproximation.Options]
该软件推断的属性问题
对象。
限制
在模型掩码工作区中不支持查找表对象和断点对象。
算法
要求的规格
输入上限和下限无穷大
当一个问题
对象指定无限的输入范围,且输入类型为非浮点类型,在逼近过程中,软件根据输入数据类型的范围推断出上下范围。由此产生的FunctionApproximation。LUTSolution
对象指定算法在近似过程中使用的边界,而不是最初指定的无限边界。
上、下输入界限和输入数据类型范围
如果InputLowerBounds
或InputUpperBounds
指定一个问题
对象超出指定的范围InputTypes
,算法使用指定的数据类型的范围InputTypes
的近似。
如果BreakpointSpecification
财产的FunctionApproximation。选项
对象设置为“EvenSpacing”
,但InputUpperBounds
或InputLowerBounds
财产的FunctionApproximation。问题
对象的范围InputTypes
,算法不尝试用“EvenPow2Spacing”
.
版本历史
介绍了R2018aR2022a:支持曲线拟合对象
的FunctionApproximation。问题
对象现在支持曲线拟合cfit
(曲线拟合工具箱)对象作为近似的有效输入。
R2022a:改进了一维和平面插值的内存减少
的查找表优化器提出了一种改进的平面插值一维函数查找表值和断点优化算法。这种增强可以改进优化查找表的内存减少,并更快地完成查找表优化过程。
当要近似的函数是一维的,并且所有这些选项都在FunctionApproximation。选项
:
插值
被设置为平
.BreakpointSpecification
被设置为ExplicitValues
.OnCurveTableValues
被设置为假
.
R2021b:生成一个优化的查找表近似MATLAB函数
您现在可以使用FunctionApproximation。问题
对象生成一个优化的查找表近似,作为MATLAB函数。生成MATLAB函数,在FunctionApproximation。选项
对象,设置ApproximateSolutionType
财产MATLAB
.
生成的MATLAB函数是可编辑的,并支持C/ c++代码生成使用MATLAB编码器™.
R2021a:对具有标量输入的函数的查找表优化支持
在此之前,FunctionApproximation。问题
类要求对要近似的函数和函数句柄进行向量化,这意味着对于每个输入,只有一个输出。查找表优化现在完全支持只允许标量输入的Simulink块和子系统的近似。
R2021a:改进的查找表值优化
的查找表优化器查找表值优化的改进算法平
而且最近的
允许曲线外表值时的插补方法。这种增强可以更快地完成查找表优化过程,并改进优化的查找表的内存减少。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。