You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scilab的contr()函数关联AB01ND源码语言及wxMaxima移植咨询

1. AB01ND例程的编程语言确认

AB01ND是SLICOT(控制系统数值计算库)的标准例程,采用Fortran 77编写,是工业级控制系统数值计算的通用标准实现。你如果需要参考语法,直接搜索Fortran 77基础语法手册就能覆盖该例程里的所有语法规则。

2. Scilab contr() 函数的实现逻辑说明

你找不到contr.sci是因为contr()不属于Scilab的上层Sci脚本函数,是内置的原生编译函数:

  • 它的上层逻辑非常薄,只有输入参数校验、Scilab矩阵格式和Fortran接口的格式转换两部分,核心算法100%依赖AB01ND例程实现,没有额外的算法封装。
  • 如果你要在wxMaxima中复刻contr()的功能,只需要完整翻译AB01ND的实现逻辑即可,不需要额外找其他Scilab的封装代码。

3. 翻译实现的注意事项

翻译时需要注意两类兼容问题:

  • Fortran默认采用列优先存储矩阵,而Maxima内核默认采用行优先存储,矩阵元素的索引顺序需要做对应转换,避免计算结果出错
  • AB01ND中针对数值稳定性做的Householder变换截断阈值、秩判断的容错参数要完整保留,不要随意修改默认值,否则会导致可控性判断、阶梯形计算的数值稳定性下降

内容的提问来源于stack exchange,提问作者vram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:27:01