# NLcontrollability
MATLAB toolbox for analysing controllability and accessibility of nonlinear systems.
# To use NLcontrollability you need to:
1. Download the code.
2. Open a MATLAB session.
3. Edit the `run.m` file and run it.
You can find an example in the `run.m` file and more in `ctrl_reach_unit_test_script.m`
# Options
- **opts.LC** --> 1 if you want to check the Linearization Condition, 0 if not
- **opts.ARC** --> 1 if you want to check the Accessibility Rank Condition, 0 if not
- **opts.LARC** --> 1 if you want to check the Lie Algebraic Rank Condition, 0 if not
- **opts.LARC** --> 1 if you want to check the Lie Algebraic Rank Condition, 0 if not
- **opts.GSC** --> 1 if you want to check Sussmann's General Sufficient Condition, 0 if not
- **'model_name'** --> Name of a .mat file placed in the 'models' folder
- **opts.numericLC** --> 0 if you want to check the Linearization Condition symbolically, 1 for numeric computation
- **opts.maxtime** --> max time for each test in seconds
- **x0** --> Specific initial point. If no point is given it would try to compute equilibrium points.
# Entering the model
NLcontrollability reads models stored as MATLAB MAT-files (.mat). Models are defined as follows:
First, all parameters, states, and any other entities (such as inputs or known constants) appearing in the
model must be defined as symbolic variables. Example:
syms x1 x2 x3 x4 lambda u1
Then we define the state variables, by creating a column vector named x. Example:
x = [x1; x2; x3; x4];
Similarly, we define the known input vector, u. If there are no inputs, enter a blank vector. Example:
u = u1; % Or, for more than one input --> u = [u1; u2];
The model ODEs (dx/dt=...) must also be entered as a column vector, called f, which must have the same
length as the state vector x. Example:
f = [u1;
x1;
x1^3;
x3^2-lambda*x2^2*x1^4];
Finally, save all the variables in a MAT-file. Example:
save(‘MAPK’,‘x’,‘u’,‘f’);
This model description format is the same used by the [STRIKE-GOLDD](https://github.com/afvillaverde/strike-goldd) toolbox.
Further details can be found in its [documentation](https://github.com/afvillaverde/strike-goldd/blob/master/STRIKE-GOLDD/doc/STRIKE-GOLDD_manual.pdf).
# Software contents
- **`run.m`**: file where the user enters the model and options. Running it executes the code.
- **`ctrl_analysis_MAIN.m`:** main file; it calls the scripts with the accessibility and controllability tests.
- **`ctrl_LC.m`**: implementation of the Linearization Condition.
- **`ctrl_ARC.m`**: implementation of the Accessibility Rank Condition.
- **`ctrl_LARC_GSC.m`**: implementation of the Lie Algebraic Rank Condition and Sussmann's General Sufficient Condition.
- **`ctrl_reach_unit_tests_script.m`**: file with some examples ready to run.
- **`Lie_bracket.m`**: auxiliary function that computes the Lie bracket of two vectors w.r.t. a variable.
- **`frac_elem_sym.m`**: auxiliary function that changes a rational equation into its numerator and denominator.
- **`make_affine_known_u.m`**: function that converts a model into affine in inputs form
# Publications
Publication of the methodology (pending)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计&课设-用于分析非线性系统可控性和可达性的MATLAB工具箱。.zip (129个子文件)
ctrl_LARC_GSC.m 15KB
z_create_EGF_Brown_2inputs.m 14KB
z_create_BachmannJAKSTAT.m 6KB
ctrl_analysis_MAIN.m 5KB
frac_elem_sym.m 4KB
make_affine_known_u.m 4KB
ctrl_reach_unit_tests_script.m 3KB
ctrl_ARC.m 3KB
z_create_Fujita.m 2KB
z_create_NFKB.m 2KB
ctrl_LC.m 2KB
z_create_RaiaJAKSTAT.m 2KB
run.m 2KB
z_create_ctrl_examples_Kawski.m 1KB
z_create_Arabidopsis.m 1KB
z_create_NFKB_Merkt_affine_u.m 1KB
z_create_1D_BIG.m 1KB
z_create_microbial_community.m 1KB
z_create_PK.m 1KB
z_create_HIV.m 934B
z_create_ctrl_examples_VIDYASAGAR.m 743B
z_create_CSTR_observer.m 581B
Lie_bracket.m 543B
z_create_C2M_known_input.m 537B
z_create_ctrl_examples_Willigenburg.m 515B
z_create_Vajda1989_known_u.m 511B
z_create_Bolie.m 449B
z_create_ctrl_examples_Sussmann.m 417B
z_create_ctrl_examples_Lemhart.m 193B
ctrl_results_affine_BachmannJAKSTAT_08-Feb-2023.mat 19KB
ctrl_results_affine_CSTR_observer_08-Feb-2023.mat 15KB
affine_BachmannJAKSTAT.mat 13KB
ctrl_results_affine_PK_known_input_08-Feb-2023.mat 13KB
ctrl_results_affine_C2M_08-Feb-2023.mat 13KB
ctrl_results_affine_Vajda1989_u_08-Feb-2023.mat 13KB
affine_EGF_Brown_2inputs.mat 12KB
ctrl_results_affine_Bolie_08-Feb-2023.mat 12KB
ctrl_results_affine_ctrl_ex_53_08-Feb-2023.mat 12KB
ctrl_results_affine_ctrl_ex_52_08-Feb-2023.mat 12KB
ctrl_results_affine_ctrl_ex_51_08-Feb-2023.mat 12KB
ctrl_results_affine_1D_BIG_08-Feb-2023.mat 11KB
affine_RaiaJAKSTAT.mat 11KB
ctrl_results_affine_ctrl_ex_61b_08-Feb-2023.mat 11KB
ctrl_results_affine_ctrl_ex_61_08-Feb-2023.mat 11KB
ctrl_results_affine_ctrl_ex_41_08-Feb-2023.mat 11KB
affine_NFKB_Merkt_affine_u.mat 11KB
ctrl_results_affine_ctrl_ex_33_08-Feb-2023.mat 11KB
ctrl_results_affine_ctrl_ex_32_08-Feb-2023.mat 11KB
ctrl_results_affine_ctrl_ex_2_Willigenburg_08-Feb-2023.mat 11KB
affine_NFKB.mat 10KB
ctrl_results_affine_ctrl_ex_1_Willigenburg_08-Feb-2023.mat 10KB
affine_Fujita.mat 10KB
affine_microbial_community.mat 10KB
ctrl_results_affine_ctrl_ex_31_08-Feb-2023.mat 10KB
ctrl_results_affine_ctrl_ex_45_VIDYASAGAR_08-Feb-2023.mat 10KB
ctrl_results_affine_ctrl_ex_35_VIDYASAGAR_08-Feb-2023.mat 10KB
ctrl_results_affine_ctrl_ex_30_VIDYASAGAR_08-Feb-2023.mat 9KB
affine_Arabidopsis.mat 9KB
ctrl_results_affine_ctrl_ex_Lenhart_1_08-Feb-2023.mat 9KB
ctrl_results_affine_ctrl_ex_Sussmann83_08-Feb-2023.mat 9KB
ctrl_results_affine_ctrl_ex_31_even_08-Feb-2023.mat 9KB
ctrl_results_affine_ctrl_ex_Sussmann87_08-Feb-2023.mat 9KB
ctrl_results_affine_ctrl_ex_31_odd_08-Feb-2023.mat 9KB
ctrl_results_affine_ctrl_ex_11_08-Feb-2023.mat 9KB
affine_HIV_known_u.mat 9KB
affine_PK_known_input.mat 9KB
affine_CSTR_observer.mat 9KB
BachmannJAKSTAT.mat 8KB
affine_ctrl_ex_53.mat 8KB
affine_ctrl_ex_52.mat 8KB
affine_ctrl_ex_51.mat 8KB
affine_ctrl_ex_61b.mat 8KB
affine_ctrl_ex_61.mat 8KB
affine_ctrl_ex_41.mat 8KB
affine_ctrl_ex_33.mat 8KB
affine_ctrl_ex_32.mat 8KB
affine_Vajda1989_u.mat 7KB
affine_ctrl_ex_1_Willigenburg.mat 7KB
affine_1D_BIG.mat 7KB
affine_ctrl_ex_2_Willigenburg.mat 7KB
affine_Bolie.mat 7KB
affine_C2M.mat 7KB
affine_ctrl_ex_45_VIDYASAGAR.mat 7KB
affine_ctrl_ex_35_VIDYASAGAR.mat 7KB
EGF_Brown_2inputs.mat 7KB
affine_ctrl_ex_30_VIDYASAGAR.mat 7KB
affine_ctrl_ex_Lenhart_1.mat 7KB
affine_ctrl_ex_31_even.mat 7KB
affine_ctrl_ex_31.mat 7KB
affine_ctrl_ex_11.mat 7KB
affine_ctrl_ex_Sussmann83.mat 7KB
affine_ctrl_ex_31_odd.mat 6KB
RaiaJAKSTAT.mat 6KB
affine_ctrl_ex_Sussmann87.mat 6KB
NFKB_Merkt_affine_u.mat 6KB
NFKB.mat 5KB
Fujita.mat 5KB
microbial_community.mat 5KB
Arabidopsis.mat 5KB
CSTR_observer.mat 5KB
共 129 条
- 1
- 2
资源评论
白话机器学习
- 粉丝: 1w+
- 资源: 7673
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 双馈电机并网超局部无模型预测控制
- 基于深度学习的自动文本分类Python NLTK设计源码
- 基于Java开发的尚庭公寓项目设计源码
- 基于Java与Python的指纹识别系统设计源码
- 基于Java语言的CSDN达人课《和武哥一起学Spring Boot》设计源码
- 基于Kotlin和Java的电动自行车应用设计源码
- 三相整流电路;VOC控制;Simulink仿真 三相整流;三相整流器;三相整流转器; 输入交流380V,输出600V直流 输
- 基于Java语言的简单自测例子设计源码
- 基于matlab的扩展卡尔曼滤波(Extended Kalman Filter,EKF),通过卡尔曼滤波算法近似计算系统的状态估
- 基于fpga实现千兆以太网通信,纯Verilog代码,接口为rgmii,已经在开发版上验证过,支持udp和arp协议
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功