FunctionApproximation.Problemclass
包:FunctionApproximation
对象定义函数近似,或优化的查找表
描述
的FunctionApproximation.Problem
对象定义一个查找表的函数来近似,或查找表块优化。定义问题,之后使用解决
方法来生成一个FunctionApproximation.LUTSolution
对象包含近似。
建设
创建一个approximationProblem
= FunctionApproximation.Problem ()FunctionApproximation.Problem
对象的默认属性值。当没有函数
输入提供的FunctionToApproximate
属性设置为“罪”
。
创建一个approximationProblem
= FunctionApproximation.Problem (函数
)FunctionApproximation.Problem
对象近似函数,数学函数块,或指定的查找表函数
。
输入参数
函数
- - - - - -功能块近似或查找表块优化
“罪”
(默认)|数学函数|函数处理|cfit
对象|数学功能块|查找表块|子系统块
功能块近似或查找表块优化,指定为一个函数处理,一个数学函数,一个cfit
(曲线拟合工具箱)对象,仿真软件金宝app®块或子系统,或一个查找表的块(例如,一维查找表,一天的查找表)。
如果你指定一个查找表的块,解决
方法生成一个优化的查找表。
如果你指定一个数学函数,一个处理函数,cfit
对象,或一块解决
方法生成一个查找表输入函数的近似。
如果你指定一个cfit
对象,使用fittype
(曲线拟合工具箱)指定一个函数库模型来近似。库模型的列表,请参阅曲线和曲面拟合的模型库列表(曲线拟合工具箱)。
必须在MATLAB函数处理®搜索路径,或者近似失败。
MATLAB数学函数支持近似:金宝app
1. / x
10 . x ^
2 . x ^
这些“可信赖医疗组织”
作用是
印度历的7月
的作用
:
量化
atanh
因为
cosh
经验值
日志
log10
log2
罪
sinh
√6
棕褐色
双曲正切
x ^ 2。
提示
生成一个查找表近似的过程是一个函数处理的速度比一个子系统。如果一个子系统可以表示为一个函数处理,它是速度近似函数处理。
数据类型:字符
|function_handle
属性
FunctionToApproximate
- - - - - -函数来近似或查找表块优化
“罪”
(默认)|数学函数|函数处理|cfit
对象|数学功能块|查找表块|子系统块
功能块近似或查找表块优化,指定为一个函数处理,一个数学函数,模型块或子系统,或一个查找表的块(例如,金宝app一维查找表,一天的查找表)。
如果你指定一个查找表的块,解决
方法生成一个优化的查找表。
如果你指定一个cfit
对象,使用fittype
(曲线拟合工具箱)指定一个函数库模型来近似。库模型的列表,请参阅曲线和曲面拟合的模型库列表(曲线拟合工具箱)。
如果你指定一个数学函数,一个处理函数,cfit
对象,或一块解决
方法生成一个查找表输入函数的近似。
在MATLAB函数处理必须搜索路径,或近似失败。
MATLAB数学函数支持近似:金宝app
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
对象|金宝appSimulink.Numerictype
对象|向量的金宝appSimulink.Numerictype
对象
所需的近似函数,输入的数据类型指定为一个numerictype
,金宝appSimulink.Numerictype
或一个向量numerictype
或金宝appSimulink.Numerictype
对象。的数量InputTypes
指定必须匹配NumberOfInputs
。
例子:问题。InputTypes = [" numerictype(13) 1日16日”、“numerictype(10) 1, 16日”);
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
|金宝appSimulink.Numerictype
所需的函数近似输出,数据类型指定为一个numerictype
或金宝appSimulink.Numerictype
。例如,指定您想要的输出与16位字长签署了定点数据类型和best-precision部分长度,设置OutputType
财产“numerictype (16)”
。
例子:问题。OutputType = " numerictype (16)”;
选项
- - - - - -附加选项和约束用于近似
FunctionApproximation.Options
对象
附加选项和约束在近似,使用指定的作为FunctionApproximation.Options
对象。
方法
解决 | 解决函数逼近问题的优化解决方案 |
复制语义
句柄。学习如何处理类影响复制操作,明白了复制对象。
例子
创建对象近似函数处理问题
创建一个FunctionApproximation.Problem
对象,指定一个函数处理要近似。
问题= FunctionApproximation.Problem (@ (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.Problem
对象,问题
使用默认属性值。
集函数的输入范围和0之间2 *π
。
问题。InputLowerBounds = (0,0);问题。InputUpperBounds =(2 *π,2 *π)
问题= 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.Problem
对象,指定一个数学函数来近似。
问题= FunctionApproximation.Problem (“日志”)
问题= 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.Problem
对象,指定一个cfit
对象来近似。
ffun = fittype (“exp1”);cfun = cfit (ffun, 0.1, 0.2);问题= FunctionApproximation.Problem (cfun);
= 1×1 FunctionApproximation问题。问题with properties: FunctionToApproximate: [1x1 cfit] NumberOfInputs: 1 InputTypes: "numerictype('double')" InputLowerBounds: -Inf InputUpperBounds: Inf OutputType: "numerictype('double')" Options: [1×1 FunctionApproximation.Options]
创建对象优化问题查找表块
创建一个FunctionApproximation.Problem
优化现有的查找表的对象。
openExample (“金宝appsimulink_automotive / ModelingAFaultTolerantFuelControlSystemExample”,…“金宝appsupportingfile”,“sldemo_fuelsys”);问题= FunctionApproximation.Problem (“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]
软件推断的属性问题
对象的模型。
寻找浮点解函数逼近问题
自从R2023a
这个例子展示了如何寻找纯粹的浮点解函数逼近问题。金宝搏官方网站
创建一个FunctionApproximation.Problem
对象指定一个函数来近似。
问题= FunctionApproximation.Problem (“罪”);
指定输入和输出类型是浮点数据类型。
问题。InputTypes = [numerictype (“单一”));问题。OutputType = [numerictype (“单一”));
使用FunctionApproximation.Options
对象指定的字,可以用查找表近似。搜索浮点解,指定单词长度对应一个单精度和双精度的数据类型。金宝搏官方网站
problem.Options。字= 32;
使用解决
生成一个函数的近似方法。
解决(问题)
寻找定点的解决方案。金宝搏官方网站| | ID内存(位)| |可行的表大小|断点WLs | TableData西城| BreakpointSpecification |错误(Max、电流)| | 0 | 128 | 0 | 2 | 32 | 32 | EvenSpacing | 7.812500 e 03, 1.000000 e + 00 | | 1 | 1568 | 1 | 47 | 32 | 32 | EvenSpacing | 7.812500 e 03, 2.331257 e 03 | | 2 | 1536 | 1 | 46 | 32 | 32 | EvenSpacing | 7.812500 e 03, 2.434479 e 03 | | 3 | 1216 | 1 | 36 | 32 | 32 | EvenSpacing | 7.812500 e 03, 4.021697 e 03 | | 4 | 1184 | 1 | 35 | 32 | 32 | EvenSpacing | 7.812500 e 03, 4.265845 e 03 | | 832 | | 1 | 24 | 32 | 32 | EvenSpacing | 7.812500 e 03, 6.362407 e 03 | | 6 | 800 | 1 | | 23日32 | 32 | EvenSpacing | 7.812500 e 03, 6.694662 e 03 | | 448 | | 0 | | 12 32 | 32 | EvenSpacing | 7.812500 e 03, 4.009663 e-02 | | 608 | | 0 | | 17日32 | 32 | EvenSpacing | 7.812500 e 03, 1.884634 e-02 | | 704 | | 0 | 20 | 32 32 | | EvenSpacing | 7.812500 e 03, 8.071933 e 03 | | 736 | | 0 | | 21日32 | 32 | EvenSpacing | 7.812500 e 03, 8.607101 e 03 | | 768 | | 1 | 22 | 32 | 32 | EvenSpacing | 7.812500 e 03, 7.196693 e 03 | | 128 | | 0 | 2 | 32 | 32 | EvenPow2Spacing | 7.812500 e 03, 1.315148 e + 00 | | 1152 | | 1 | 18 32 32 | | | ExplicitValues | 7.812500 e 03, 7.812380 e 03 | | 1024 | | 0 | 16 | 32 32 | | ExplicitValues | 7.812500 e 03, 1.202238 e-02 | | 1152 | | 0 | | 18 32 | 32 | ExplicitValues | 7.812500 e 03, 1.068657 e-02 | | 16 | 1280 | 1 | 20 | 32 32 | | ExplicitValues | 7.812500 e 03, 7.278687 e 03 |寻找浮点的解决方案。金宝搏官方网站46 | | 1536 | | 1 | 32 | 32 | EvenSpacing | 7.812500 e 03, 2.434489 e 03 | | 128 | | 0 | 2 | 32 | 32 | EvenPow2Spacing | 7.812500 e 03, 1.315148 e + 00 | | 18 19 | 1152 | 1 | | 32 | 32 | ExplicitValues | 7.812500 e 03, 7.812365 e 03 | | 1024 | | 0 | 16 | 32 32 | | ExplicitValues | 7.812500 e 03, 1.202232 e-02 |最佳解决方案| | ID内存(位)| |可行的表大小|断点WLs | TableData西城| BreakpointSpecification |错误(Max、电流)| | 768 | | 1 | 22 | 32 | 32 | EvenSpacing | 7.812500 e 03, 7.196693 e 03 |
ans = 1 x1 FunctionApproximation。LUTSolution属性:ID: 11可行的:“真正的”
的解决
方法返回所有可行的解决方案。金宝搏官方网站返回表中,定点解决方案第一,紧随其后的是浮点型解决方金宝搏官方网站案。查找表优化器选择一个浮点解的最佳解决方案当所有这些条件得到满足:
浮点解需要记忆等于或小于一个定点的解决方案。
这两个
InputTypes
和OutputType
的属性FunctionApproximation.Problem
对象指定一个浮点数据类型。的
字
财产的FunctionApproximation.Options
对象包括单词长度对应一个单精度和双精度的数据类型。
限制
查找表不支持对象和断点对象模型中面具工作区。金宝app
算法
要求的规格
无限的上部和下部的输入范围
当一个问题
对象指定non-floating-point无限的输入范围和类型,在近似,软件推断上下范围基于输入数据类型的范围。由此产生的FunctionApproximation.LUTSolution
对象指定的界限在近似算法,而不是最初指定的无限边界。
上部和下部输入范围和输入数据类型范围
如果InputLowerBounds
或InputUpperBounds
指定一个问题
对象不属于指定的范围InputTypes
,该算法使用指定的数据类型的范围InputTypes
的近似。
的情况下BreakpointSpecification
财产的FunctionApproximation.Options
对象设置为“EvenSpacing”
,但InputUpperBounds
或InputLowerBounds
财产的FunctionApproximation.Problem
对象的范围InputTypes
,该算法不使用试图找到一个解决方案“EvenPow2Spacing”
。
版本历史
介绍了R2018aR2022a:金宝app对曲线拟合对象的支持
的FunctionApproximation.Problem
对象现在支持曲线拟合金宝appcfit
(曲线拟合工具箱)对象作为近似的有效输入。
R2022a:改进的内存减少1 d和平坦的插值
的查找表优化器有一个改进的算法对一维查找表值和断点优化与平面插值函数。此增强功能可以改善记忆减少优化的查找表和更快的查找表优化过程的完成。
这个改进适用于函数近似是一维的,所有这些选项中指定的FunctionApproximation.Options
:
插值
被设置为平
。BreakpointSpecification
被设置为ExplicitValues
。OnCurveTableValues
被设置为假
。
R2021b:生成一个优化的查找表近似MATLAB函数
您现在可以使用FunctionApproximation.Problem
对象生成一个优化的查找表近似一个MATLAB函数。生成MATLAB函数,在一个FunctionApproximation.Options
对象,设置ApproximateSolutionType
财产MATLAB
。
生成的MATLAB函数是可编辑的,支持C / c++代码生成使用金宝appMATLAB编码器™。
R2021a:查找表优化支持与标量函数的输入金宝app
在此之前,FunctionApproximation.Problem
类要求函数和函数近似是矢量化处理,即对于每一个输入,一个输出。查找表优化现在完全支持仿真软件模块和子系统,只允许标量近似输入。金宝app金宝app
R2021a:改善优化查找表的价值
的查找表优化器提供了一个改进算法优化的查找表价值平
和最近的
插值方法当off-curve表值是允许的。此增强功能可以使更快的查找表优化过程的完成和改善记忆减少优化的查找表。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。