Julia 针对 MATLAB 用户/索引/工具箱/控制系统工具箱
外观
< Julia 针对 MATLAB 用户 | 索引
将 MATLAB 控制系统工具箱 的功能映射到 Julia 中的等效功能。
相关 Julia 包
tf创建传递函数模型,转换为传递函数模型zpk创建零极点增益模型;转换为零极点增益模型ss创建状态空间模型,转换为状态空间模型frd创建频率响应数据模型,转换为频率响应数据模型filt在 DSP 格式中指定离散传递函数dss创建描述符状态空间模型pid以并联形式创建 PID 控制器,转换为并联形式的 PID 控制器pidstd以标准形式创建 PID 控制器,转换为标准形式的 PID 控制器pid2以并联形式创建 2-DOF PID 控制器,转换为并联形式的 2-DOF PID 控制器pidstd2以标准形式创建 2-DOF PID 控制器,转换为标准形式的 2-DOF PID 控制器rss生成随机连续测试模型drss生成随机离散测试模型
tunableGain可调静态增益块tunablePID可调 PID 控制器tunablePID2可调双自由度 PID 控制器tunableSS可调固定阶状态空间模型tunableTF可调传递函数,具有固定数量的极点和零点realp实数可调参数AnalysisPoint线性分析的关注点genss广义状态空间模型genfrd广义频率响应数据 (FRD) 模型genmat具有可调参数的广义矩阵getLoopTransfer控制系统的开环传递函数getIOTransfer来自控制系统广义模型的闭环传递函数getSensitivity来自控制系统广义模型的灵敏度函数getCompSensitivity从控制系统广义模型获取互补灵敏度函数getPoints获取控制系统广义模型中的分析点列表replaceBlock替换或更新广义 LTI 模型中的控制设计块sampleBlock对广义模型中的控制设计块进行采样rsampleBlock对广义模型中的控制设计块进行随机采样getValue获取广义模型的当前值setValue修改控制设计块的当前值getBlockValue获取广义模型中控制设计块的当前值setBlockValue修改广义模型中控制设计块的值showBlockValue显示广义模型中控制设计块的当前值showTunable显示广义模型中可调控制设计块的当前值nblocks获取广义矩阵或广义 LTI 模型中的块数量getLFTModel对广义 LTI 模型进行分解
具有时延的模型
[edit | edit source]pade对具有时延的模型进行 Padé 近似absorbDelay用 z = 0 处的极点或相移替换时延thiran基于 Thiran 近似生成分数阶延迟滤波器hasdelay对于具有时延的线性模型为真hasInternalDelay判断模型是否具有内部延迟totaldelay获取 LTI 模型的总的 I/O 延迟delayss创建具有延迟输入、输出和状态的状态空间模型setDelayModel构建具有内部延迟的状态空间模型getDelayModel获取内部延迟的状态空间表示
模型属性
[edit | edit source]get访问模型属性值set设置或修改模型属性tfdata访问传递函数数据zpkdata访问零极点增益数据ssdata访问状态空间模型数据frdata访问频率响应数据 (FRD) 对象的数据piddata访问并联形式 PID 控制器系数pidstddata访问标准形式 PID 控制器系数piddata2访问并联形式 2-DOF PID 控制器系数pidstddata2访问标准形式 2-DOF PID 控制器系数dssdata提取描述状态空间数据chgFreqUnit更改频率响应数据模型的频率单位chgTimeUnit更改动态系统的时单位isct判断动态系统模型是否为连续时间isdt判断动态系统模型是否为离散时间isempty判断动态系统模型是否为空isfinite判断模型是否具有有限系数isParametric判断模型是否具有可调参数isproper判断动态系统模型是否为真isreal判断模型是否具有实值系数issiso判断动态系统模型是否为单输入单输出(SISO)isstable判断系统是否稳定isstatic判断模型是静态还是动态order查询模型阶数ndims查询动态系统模型或模型数组的维数size查询输入输出模型的输出/输入/数组维度以及FRD模型的频率数量
模型数组
[edit | edit source]stack通过沿数组维度堆叠模型或模型数组来构建模型数组nmodels模型数组中的模型数量permute重新排列模型数组中的数组维度reshape改变模型数组的形状repsys复制和平铺模型voidModel标记模型数组中缺失或无关的模型sampleBlock对广义模型中的控制设计块进行采样rsampleBlock对广义模型中的控制设计块进行随机采样
模型互联
[edit | edit source]feedback两个模型的反馈连接connect动态系统的框图互联sumblk用于基于名称互联的求和结点series两个模型的串联连接parallel两个模型的并联连接append通过追加模型的输入和输出,将模型分组blkdiag模型的块对角线级联imp2exp将隐式线性关系转换为显式输入输出关系inv反转模型lft两个模型的广义反馈互联(Redheffer 星积)connectOptionsconnect 命令的选项
模型转换
[edit | edit source]模型类型转换
[edit | edit source]tf创建传递函数模型,转换为传递函数模型zpk创建零极点增益模型;转换为零极点增益模型ss创建状态空间模型,转换为状态空间模型frd创建频率响应数据模型,转换为频率响应数据模型pid以并联形式创建 PID 控制器,转换为并联形式的 PID 控制器pidstd以标准形式创建 PID 控制器,转换为标准形式的 PID 控制器pid2以并联形式创建 2-DOF PID 控制器,转换为并联形式的 2-DOF PID 控制器pidstd2以标准形式创建 2-DOF PID 控制器,转换为标准形式的 2-DOF PID 控制器make1DOF将 2-DOF PID 控制器转换为 1-DOF 控制器make2DOF将 1-DOF PID 控制器转换为 2-DOF 控制器getComponents从 2-DOF PID 控制器中提取 SISO 控制组件
连续-离散转换
[edit | edit source]c2d将模型从连续时间转换为离散时间d2c将模型从离散时间转换为连续时间d2d对离散时间模型重新采样upsample对离散时间模型进行上采样c2dOptions为连续时间到离散时间的转换创建选项集d2cOptions为离散时间到连续时间的转换创建选项集d2dOptions为离散时间重新采样创建选项集
状态坐标变换
[edit | edit source]balreal基于格拉姆矩阵的输入/输出平衡状态空间实现canon状态空间规范实现prescale状态空间模型的最佳缩放ss2ss状态空间模型的状态坐标变换xperm重新排列状态空间模型中的状态
模态分解
[edit | edit source]modsep基于区域的模态分解stabsep稳定-不稳定分解stabsepOptions稳定-不稳定分解选项freqsep慢速-快速分解freqsepOptions慢速-快速分解选项spectralfact线性系统的频谱分解
模型降阶
[edit | edit source]balred模型降阶balredOptions创建模型降阶选项集balreal基于格拉姆矩阵的输入/输出平衡状态空间实现minreal最小实现或零极点抵消sminreal结构性零极点抵消modred从状态空间模型中消除状态freqsep慢速-快速分解freqsepOptions慢速-快速分解选项hsvd动态系统的汉克尔奇异值hsvplot绘制汉克尔奇异值并返回绘图句柄hsvdOptions创建计算汉克尔奇异值和输入/输出平衡的选项集
线性分析
[edit | edit source]时域和频域分析
[edit | edit source]step动态系统的阶跃响应图;阶跃响应数据stepinfo上升时间、稳定时间和其他阶跃响应特征impulse动态系统的脉冲响应图;脉冲响应数据initial状态空间模型的初始条件响应lsim模拟动态系统对任意输入的时域响应lsiminfo计算线性响应特征gensig为 lsim 生成测试输入信号covar由白噪声驱动的系统的输出和状态协方差stepDataOptionsstep 的选项集bode频率响应的波特图,或幅值和相位数据bodemagLTI 模型的波特幅值响应nyquist频率响应的奈奎斯特图nichols频率响应的尼科尔斯图ngrid在奈奎斯特图上叠加尼科尔斯图sigma动态系统的奇异值图freqresp频率响应网格evalfr在给定频率处评估频率响应dcgainLTI 系统的低频(直流)增益bandwidth频率响应带宽getPeakGain动态系统频率响应的峰值增益getGainCrossover指定增益的交叉频率fnormFRD 模型的逐点峰值增益norm线性模型的范数db2mag将分贝(dB)转换为幅值mag2db将幅值转换为分贝(dB)
稳定性分析
[edit | edit source]pole计算动态系统的极点zero单输入单输出动态系统的零点和增益damp自然频率和阻尼比dsort按幅值对离散时间极点进行排序esort按实部对连续时间极点进行排序tzero线性系统的非变零点pzplot动态系统模型的零极点图,带有绘图定制选项iopzplot绘制 I/O 对的零极点图并返回绘图句柄allmargin增益裕度、相位裕度、延时裕度和交叉频率margin增益裕度、相位裕度和交叉频率
灵敏度分析
[edit | edit source]sampleBlock对广义模型中的控制设计块进行采样rsampleBlock对广义模型中的控制设计块进行随机采样
无源性和扇区边界
[edit | edit source]isPassive检查线性系统的无源性getPassiveIndex计算线性系统的无源性指数passiveplot计算或绘制无源性指数作为频率的函数getSectorIndex计算线性系统的圆锥扇区指数getSectorCrossover扇区边界交叉频率sectorplot计算或绘制扇区指数作为频率的函数
绘制自定义
[edit | edit source]impulseplot绘制脉冲响应并返回绘图句柄initialplot绘制初始条件响应并返回绘图句柄lsimplot模拟动态系统对任意输入的响应并返回绘图句柄stepplot绘制阶跃响应并返回绘图句柄bodeplot绘制 Bode 频率响应,并提供其他绘图自定义选项nicholsplot绘制 Nichols 频率响应并返回绘图句柄nyquistplot奈奎斯特图,并提供其他绘图自定义选项sigmaplot绘制频率响应的奇异值并返回绘图句柄bodeoptions创建 Bode 图选项列表hsvoptionshsvplot 的绘图选项nicholsoptions创建 Nichols 图选项列表nyquistoptions奈奎斯特图选项列表pzoptions创建极点/零点图选项列表sigmaoptions创建奇异值图选项列表timeoptions创建时间图选项列表setoptions设置响应图的绘图选项getoptions返回 @PlotOptions 句柄或绘图选项属性ctrlpref设置控制系统工具箱首选项updateSystem更新响应图中的动态系统数据
控制系统设计和整定
[edit | edit source]PID 控制器整定
[edit | edit source]pidTuner打开 PID Tuner 以进行 PID 整定pidtune用于线性设备模型的 PID 整定算法pidtuneOptions定义 pidtune 命令的选项
经典控制设计
[edit | edit source]rlocus动态系统的根轨迹图rlocusplot绘制根轨迹并返回绘图句柄sisoinit在启动时配置控制系统设计器
状态空间控制设计和估计
[edit | edit source]状态空间控制设计
[edit | edit source]lqr线性二次型调节器 (LQR) 设计lqry形成具有输出权重的线性二次型 (LQ) 状态反馈调节器lqi线性二次型积分控制dlqr离散时间状态空间系统的线性二次型 (LQ) 状态反馈调节器lqrd为连续系统设计离散线性二次型 (LQ) 调节器lqg线性二次型高斯 (LQG) 设计lqgreg形成线性二次型高斯 (LQG) 调节器lqgtrack形成线性二次型高斯 (LQG) 伺服控制器augstate将状态向量追加到输出向量norm线性模型的范数estim给定估计器增益,形成状态估计器place极点配置设计reg给定状态反馈和估计器增益,形成调节器
状态估计
[edit | edit source]kalman卡尔曼滤波器设计,卡尔曼估计器kalmd为连续系统设计离散卡尔曼估计器estim给定估计器增益,形成状态估计器extendedKalmanFilter创建用于在线状态估计的扩展卡尔曼滤波器对象unscentedKalmanFilter创建用于在线状态估计的无迹卡尔曼滤波器对象particleFilter用于在线状态估计的粒子滤波器对象correct使用扩展或无迹卡尔曼滤波器,或粒子滤波器和测量值来校正状态和状态估计误差协方差predict使用扩展或无迹卡尔曼滤波器,或粒子滤波器来预测下一时间步的状态和状态估计误差协方差initialize初始化粒子滤波器的状态clone复制在线状态估计对象
多回路,多目标调整
[edit | edit source]编程调整
[edit | edit source]用于调整 Simulink 模型的设置
[edit | edit source]slTuner用于 Simulink 模型的控制系统调整的界面slTunerOptions设置 slTuner 界面选项addBlock将块添加到 slTuner 界面的调整块列表中addOpening将信号添加到 slLinearizer 或 slTuner 界面的打开列表中addPoint将信号添加到 slLinearizer 或 slTuner 界面的分析点列表中refresh将 slLinearizer 或 slTuner 界面与当前模型状态同步removeAllOpenings从 slLinearizer 或 slTuner 界面中移除所有打开removeAllPoints从 slLinearizer 或 slTuner 界面中移除所有点removeBlock从 slTuner 界面的调整块列表中移除块removeOpening从 slLinearizer 或 slTuner 界面中移除永久循环打开removePoint从 slLinearizer 或 slTuner 界面的分析点列表中移除点setBlockParam设置 slTuner 界面中调整块的参数化setBlockRateConversion设置 slTuner 界面中调整块的速率转换设置setBlockValue设置 slTuner 界面中调整块参数化的值writeBlockValue更新 Simulink 模型中的块值writeLookupTableData更新调整的查找表的一部分getBlockParam获取 slTuner 界面中调整块的参数化getBlockRateConversion获取 slTuner 界面中调整块的速率转换设置getBlockValue获取 slTuner 界面中调整块参数化的当前值getOpenings获取 slLinearizer 或 slTuner 界面的打开列表getPoints获取 slLinearizer 或 slTuner 界面的分析点列表showTunable显示 slTuner 界面中可调整块的参数化值
用于调整 MATLAB 模型的设置
[edit | edit source]tf创建传递函数模型,转换为传递函数模型zpk创建零极点增益模型;转换为零极点增益模型ss创建状态空间模型,转换为状态空间模型tunableGain可调静态增益块tunableTF可调传递函数,具有固定数量的极点和零点tunablePID可调 PID 控制器tunablePID2可调双自由度 PID 控制器tunableSS可调固定阶状态空间模型realp实数可调参数AnalysisPoint线性分析的关注点connect动态系统的框图互联feedback两个模型的反馈连接
调整目标
[edit | edit source]TuningGoal.StepTracking 控制系统调整的阶跃响应要求TuningGoal.StepRejection 控制系统调整的阶跃干扰抑制要求TuningGoal.Transient 控制系统调整的瞬态匹配要求TuningGoal.LQG 控制系统调整的线性二次高斯 (LQG) 目标TuningGoal.Gain 控制系统调整的增益约束TuningGoal.Variance 控制系统调整的噪声放大约束TuningGoal.Tracking 控制系统调整的跟踪要求TuningGoal.Overshoot 控制系统调整的超调约束TuningGoal.Rejection 控制系统调整的干扰抑制要求TuningGoal.Sensitivity 控制系统调整的灵敏度要求TuningGoal.WeightedGain 控制系统调整的频率加权增益约束TuningGoal.WeightedVariance 控制系统调整的频率加权 H2 范数约束TuningGoal.MinLoopGain 控制系统调整的最小环路增益约束TuningGoal.MaxLoopGain 控制系统调整的最大环路增益约束TuningGoal.LoopShape 控制系统调整的目标环路形状TuningGoal.Margins 控制系统调整的稳定裕度要求TuningGoal.Passivity 控制系统调整的无源性约束TuningGoal.ConicSector 控制系统调整的扇区边界TuningGoal.WeightedPassivity 频率加权无源性约束TuningGoal.Poles 控制系统动力学约束TuningGoal.ControllerPoles 控制系统调整的控制器动力学约束
调整、分析和验证
[edit | edit source]systune(slTuner) 使用 slTuner 界面调整 Simulink 中的控制系统参数systuneOptions设置 systune 的选项getIOTransfer(slTuner) 使用 slLinearizer 或 slTuner 界面获取指定 I/O 集的传递函数getLoopTransfer(slTuner) 使用 slLinearizer 或 slTuner 界面获取指定点的开环传递函数getSensitivity(slTuner) 使用 slLinearizer 或 slTuner 界面获取指定点的灵敏度函数getCompSensitivity(slTuner) 使用 slLinearizer 或 slTuner 界面获取指定点的互补灵敏度函数writeBlockValue更新 Simulink 模型中的块值systune调整在 MATLAB 中建模的固定结构控制系统systuneOptions设置 systune 的选项getIOTransfer来自控制系统广义模型的闭环传递函数getLoopTransfer控制系统的开环传递函数getSensitivity来自控制系统广义模型的灵敏度函数getCompSensitivity从控制系统广义模型获取互补灵敏度函数viewGoal查看调整目标;根据调整目标验证设计evalGoal评估调整后的控制系统的调整目标
环路整形设计
[edit | edit source]slTuner用于 Simulink 模型的控制系统调整的界面looptune使用 slTuner 界面调整 Simulink 中的 MIMO 反馈环路looptuneOptions设置 looptune 的选项loopview使用 slTuner 界面以图形方式分析控制系统调整结果looptuneSetup使用 slTuner 界面为 looptune 构造调整设置,以调整 systune 的设置looptune调整固定结构反馈环路looptuneOptions设置 looptune 的选项loopview以图形方式分析 MIMO 反馈环路looptuneSetup将 looptune 的调整设置转换为 systune 的调整设置viewGoal查看调整目标;根据调整目标验证设计evalGoal评估调整后的控制系统的调整目标
增益调度
[edit | edit source]tunableSurface为增益调度创建可调整的增益曲面polyBasis可调整增益曲面的多项式基函数fourierBasis可调整增益曲面的傅里叶基函数ndBasis可调整增益曲面的基函数viewSurf将增益曲面可视化为调度变量的函数evalSurf在特定设计点评估增益曲面getData获取可调整曲面系数的当前值setData设置可调曲面系数的值codegen为可调增益曲面生成 MATLAB 代码systune调整在 MATLAB 中建模的固定结构控制系统slTuner用于 Simulink 模型的控制系统调整的界面systune(slTuner) 使用 slTuner 界面调整 Simulink 中的控制系统参数voidModel标记模型数组中缺失或无关的模型varyingGoal增益调度控制器的可变调整目标getGoal在指定设计点评估可变调整目标
矩阵运算
[edit | edit source]lyap连续李雅普诺夫方程解lyapchol连续时间李雅普诺夫方程的平方根求解器dlyap求解离散时间李雅普诺夫方程dlyapchol离散时间李雅普诺夫方程的平方根求解器care连续时间代数Riccati方程解dare求解离散时间代数Riccati方程 (DARE)gcare连续时间代数Riccati方程的广义求解器gdare离散时间代数Riccati方程的广义求解器ctrb可控性矩阵obsv可观测性矩阵ctrbf计算可控性阶梯形式obsvf计算可观测性阶梯形式gram可控性和可观测性格拉姆矩阵gramOptionsgram 命令选项bdschur块对角舒尔分解norm线性模型的范数