AnyMath 文档

修剪;修剪

搜索动态系统操作点。

库::`工程系统`

资料描述

功能 修剪 使用顺序二次规划(SQP)方法查找工作点。 该函数可以搜索满足施加在模型的状态变量、输入和输出变量上的条件的调整点,以及系统具有非零导数值的平衡点。

语法

函数调用

  • [参数:x],[参数:u],[参数:y],[参数:dx],[参数:options_out]=trim(<参数:模型>>) -找到模型的平衡点 模型 在初始状态向量附近 [参数:x0]. 找到的平衡点使表达式的绝对值最小化 . 如果函数不能在初始状态向量附近找到平衡点,那么它返回最接近平衡点的点。 找到的平衡点使模型的导数向量的绝对值最小化。 您可以使用命令定义初始状态向量 恩吉。模型.

  • x,u,y,dx,options=trim(model,x0,u0,y0,ix,iu,iy) -找到模型的平衡点 模型 在初始状态向量附近 x0、入口 u0 和退出 y0 给定状态的初始向量的元素的索引的向量 、入口 iu 和退出 我,我. 这些索引指示作为优化过程的结果应该保持不变的状态。 如果函数找不到严格满足设定条件的平衡点,则返回使轨迹绝对值最小化的最近点。 .

  • x,u,y,dx,options=trim(model,x0,u0,y0,ix,iu,iy,dx0,idx) -找到模型的工作点 模型 在初始状态向量附近 x0、入口 u0 和退出 y0 给定状态的初始向量的元素的索引的向量 、入口 iu 和退出 我,我 其中它具有非零导数值。 参数 dx0 设置模型状态变量导数的初始近似值,以及参数 idx 指定导数初始向量的元素的索引,这些元素应作为优化过程的结果保持不变。

该函数还返回值 选项,其中包含有关优化过程的信息。

争论

输入参数

# 型号 — 模型的名称

+ 通行证:[线路]

Details

不带文件扩展名的模型名称。

数据类型

字符串</无翻译>

# x0 是 初始状态向量

+ 通行证:[没有] | 通行证:[标量] | 传递:[向量]

Details

模型状态变量的初始近似值。

数据类型

什么都没有, 漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# u0 是 初始输入向量

+ 通行证:[无] | 通行证:[标量] | 传递:[向量]

Details

模型输入变量的初始近似值。

数据类型

什么都没有, 漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# y0 是 初始输出向量

+ 通行证:[没有] | 通行证:[标量] | 传递:[向量]

Details

模型的输出变量的初始近似值。

数据类型

什么都没有, 漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# — 初始状态向量的元素的索引

+ 通行证:[没有] | 通行证:[标量] | 传递:[向量]

Details

初始状态向量的固定分量的序数。

数据类型

什么都没有, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# iu — 初始输入向量的元素的索引

+ 通行证:[无] | 通行证:[标量] | 传递:[向量]

Details

初始输入向量的固定分量的序数。

数据类型

什么都没有, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# iy — 初始输出向量的元素的索引

+ 通行证:[无] | 通行证:[标量] | 传递:[向量]

Details

初始输出向量的固定分量的序数。

数据类型

什么都没有, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# dx0 是 导数的初始向量

+ 通行证:[没有] | 通行证:[标量] | 传递:[向量]

Details

模型状态变量导数的初始近似值。

数据类型

什么都没有, 漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# idx — 导数的初始向量的元素的索引

+ 通行证:[没有] | 通行证:[标量] | 传递:[向量]

Details

导数的初始向量的分量的序数,其值应作为优化过程的结果保持不变。

数据类型

什么都没有, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译> 支持复数::无

# 选项 — 优化选项

+ 通过:[可变复合类型]

Details

优化参数记录在 TrimOptions 结构中。 该结构具有以下字段和默认值:

  • 详细::Bool=错误 -启用/禁用优化进度消息的输出;

  • 计算_精确::Float64=1e-4 -操作点计算所需的精度;

  • 搜索_精确::Float64=1e-4 -求解优化问题所需的精度;

  • 推导_精确::Float64=1e-6 -计算模型状态的派生变量所需的精度;

  • 目标_function_value::Float64=0.0 -目标函数的值;

  • 迭代::Int64=1 -搜索过程中的迭代次数;

  • 梯度_evaluations::Int64=1 -梯度计算的数量;

  • equality_constraints::Int64=0 -平等形式的限制数量;

  • max_function_evaluations::Int64=0 -目标函数的最大计算次数;

  • 梯度_min_diff::Float64=1e-8 -表征求最小值精度的数字的最小值;

  • 梯度_max_diff::Float64=0.1 -表征求最小值精度的数字的最大值;

  • 步长::Float64=1.0 -步进值。

数据类型

修剪/修剪</无翻译>

输出参数

# x — 操作点

+ 传递:[向量]

Details

的操作点。

数据类型

漂浮64</无翻译>

# u 是 操作点对应的输入向量

+ 传递:[向量]

Details

操作点对应的输入向量。

数据类型

漂浮64</无翻译>

# y 是 操作点对应的输出向量

+ 传递:[向量]

Details

操作点对应的输出向量。

数据类型

漂浮64</无翻译>

# dx 是 操作点对应的导数的向量

+ 传递:[向量]

Details

操作点对应的导数的向量。

数据类型

漂浮64</无翻译>

# 选项 — 优化选项

+ 传递:[可变复合类型]

Details

优化参数记录在 TrimOptions 结构中。 该结构具有以下字段和默认值:

  • 详细::Bool=错误 -启用/禁用优化进度消息的输出;

  • 计算_精确::Float64=1e-4 -操作点计算所需的精度;

  • 搜索_精确::Float64=1e-4 -求解优化问题所需的精度;

  • 推导_精确::Float64=1e-6 -计算模型状态的派生变量所需的精度;

  • 目标_function_value::Float64=0.0 -目标函数的值;

  • 迭代::Int64=1 -搜索过程中的迭代次数;

  • 梯度_evaluations::Int64=1 -梯度计算的数量;

  • equality_constraints::Int64=0 -平等形式的限制数量;

  • max_function_evaluations::Int64=0 -目标函数的最大计算次数;

  • 梯度_min_diff::Float64=1e-8 -表征求最小值精度的数字的最小值;

  • 梯度_max_diff::Float64=0.1 -表征求最小值精度的数字的最大值;

  • 步长::Float64=1.0 -步进值。

数据类型

修剪/修剪</无翻译>