Skip to content

whkwss/SRP_codeGenerate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRP_codeGenerate

一个简单的生成代码的工具

实现方法:使用sympy提取符号变量并进行偏导

使用方法:

1. 复制temp.go到template.txt

2. 按照命名规范来编辑testData.xlsx文档

  - 分母需要用括号括起来。
  - 状态变量后缀_f,代数变量后缀_g
  - initial表单放置需要初始化的参数。
  - Constant表单放置系统提供的模型参数
  - Internal表单放置为方便运算而设置的内部变量的函数,大部分是Constant中的参数运算。

3. 根据输入的公式套入模板,修改codeGenerate.py的main方法中类的名字,运行代码后template.txt的内容即为生成的代码

更新日志

2020.5.14 v1.0 能够实现一键生成简易的代码模板,需要生成代码后手动调整的地方如下

  1. 一些与外部参数有关的地方,如tg2对应的w是来自于发电机的,存在于状态变量的方程组中,但是代码生成的模板只能对该模型自己的状态变量和代数变量求偏导。
  2. 复数、幅角、求指数等一些非线性运算,可以做到识别函数,但目前还不能正确生成表达式。
  3. 涉及到一些较复杂函数的偏导需要手动调整,目前只能实现一些简单的求偏导。
  4. 模型个性化的部分,如标幺化、母线索引的检测这些需要手动添加。

本模板目前只能实现节约代码编辑时间,不能保证模型的正确性,如果有需要会进一步改进,如果想看生成结果的人可以参考temp.go这个文件

About

一个简单的生成代码的工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published