主要内容

FunctionApproximation.Problemclass

包:FunctionApproximation

对象定义函数近似,或优化的查找表

描述

FunctionApproximation.Problem对象定义一个查找表的函数来近似,或查找表块优化。定义问题,之后使用解决方法来生成一个FunctionApproximation.LUTSolution对象包含近似。

建设

approximationProblem= FunctionApproximation.Problem ()创建一个FunctionApproximation.Problem对象的默认属性值。当没有函数输入提供的FunctionToApproximate属性设置为“罪”

approximationProblem= FunctionApproximation.Problem (函数)创建一个FunctionApproximation.Problem对象近似函数,数学函数块,或指定的查找表函数

输入参数

全部展开

功能块近似或查找表块优化,指定为一个函数处理,一个数学函数,一个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

属性

全部展开

功能块近似或查找表块优化,指定为一个函数处理,一个数学函数,模型块或子系统,或一个查找表的块(例如,金宝app一维查找表,一天的查找表)。

如果你指定一个查找表的块,解决方法生成一个优化的查找表。

如果你指定一个cfit对象,使用fittype(曲线拟合工具箱)指定一个函数库模型来近似。库模型的列表,请参阅曲线和曲面拟合的模型库列表(曲线拟合工具箱)

如果你指定一个数学函数,一个处理函数,cfit对象,或一块解决方法生成一个查找表输入函数的近似。

在MATLAB函数处理必须搜索路径,或近似失败。

MATLAB数学函数支持近似:金宝app

  • 1. / x

  • 10 . x ^

  • 2 . x ^

  • 这些“可信赖医疗组织”

  • 作用是

  • 印度历的7月

  • 的作用

  • :

  • 量化

  • atanh

  • 因为

  • cosh

  • 经验值

  • 日志

  • log10

  • log2

  • sinh

  • √6

  • 棕褐色

  • 双曲正切

  • x ^ 2。

提示

生成一个查找表近似的过程是一个函数处理的速度比一个子系统。如果一个子系统可以表示为一个函数处理,它是速度近似函数处理。

数据类型:字符|function_handle

输入数量近似函数。这个属性是推断的FunctionToApproximate财产,因此它不是一个可写属性。

如果你是生成一个直接查找表近似函数,可以有不超过两个输入。

数据类型:

所需的近似函数,输入的数据类型指定为一个numerictype,金宝appSimulink.Numerictype或一个向量numerictype金宝appSimulink.Numerictype对象。的数量InputTypes指定必须匹配NumberOfInputs

例子:问题。InputTypes = [" numerictype(13) 1日16日”、“numerictype(10) 1, 16日”);

下限范围的输入函数近似,指定为一个标量或矢量。如果您指定,InputLowerBounds在近似来源于使用InputTypes财产。的尺寸InputLowerBounds必须匹配NumberOfInputs

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi

的上限范围的输入函数近似,指定为一个标量或矢量。如果您指定,InputUpperBounds在近似来源于使用InputTypes财产。的尺寸InputUpperBounds必须匹配NumberOfInputs

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi

所需的函数近似输出,数据类型指定为一个numerictype金宝appSimulink.Numerictype。例如,指定您想要的输出与16位字长签署了定点数据类型和best-precision部分长度,设置OutputType财产“numerictype (16)”

例子:问题。OutputType = " numerictype (16)”;

附加选项和约束在近似,使用指定的作为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可行的:“真正的”

解决方法返回所有可行的解决方案。金宝搏官方网站返回表中,定点解决方案第一,紧随其后的是浮点型解决方金宝搏官方网站案。查找表优化器选择一个浮点解的最佳解决方案当所有这些条件得到满足:

  • 浮点解需要记忆等于或小于一个定点的解决方案。

  • 这两个InputTypesOutputType的属性FunctionApproximation.Problem对象指定一个浮点数据类型。

  • 财产的FunctionApproximation.Options对象包括单词长度对应一个单精度和双精度的数据类型。

限制

  • 查找表不支持对象和断点对象模型中面具工作区。金宝app

算法

全部展开

版本历史

介绍了R2018a

全部展开