Professional Documents
Culture Documents
1 matlab 环境介绍
1.1.1 工作区窗口介绍
帮助命令-显示帮助文本
在命令窗口中
doc 命令-显示 HTML 文档
在帮助浏览器中
Matlab 工具条>快速访问工具栏
Matlab 工具带> Home >资源>帮助>文档
脚本和功能函数
包含 MATLAB 代码
存储在扩展名为.m 的文本文件中
可以从命令窗口中调用
脚本
不接受输入参数或返回输出参数
使用基工作区中的变量
可以接受输入参数和返回输出参数
函数
有自己的工作区,与基础工作区分开
文件名和函数名应相同
1.1.2 二维绘图
命令
1.简单的 2 维直线图 : plot(x,y)
同一坐标显示 n 条线:plot(x,y1,x,y2,…)
x = 0:pi/10:2*pi;
y = sin(x);
figure;
hold on;
plot(x,y)
2. plot(X):X 是矩阵,表示矩阵的每一行都画一条线,将显示 n 条线
X=rand(3,3); %随机生成 3*3 矩阵
figure;
hold on;
plot(X)
3. 画带形状的图
plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);
1.2.1simulink 界面简介
1、仿真库:里面包含各种仿真工具包和仿真模块
2、模块搜索框:用户可以输入关键字以查找对应的模块
3、工具箱列表:分类陈列同一类别的功能模块
4、模块内容显时框:显示模块外观及名称
1.2.2 仿真模型建立
1、新建一个空白模型
2、打开既有模型
3、仿真模型编辑区
4、模型编辑区添加模块:方法:选中模块鼠标左键拖动或右键菜单选项框中添加
1.2.模块库简介
1.2.1 常用模块库
1.2.2 常用信号源
1.2.3 其它常用
1.2.4 信号连接
1.3 子系统
1.3.1 定义及分类
子系统将模块及其信号线组合为一个大的模块,划分为上层及内部两个层次,在上层
屏蔽内部结构,仅将输入/输出个数表现在外,内部是真正的逻辑结构。这种层次性划分有
如下优点:
① 减少了模型窗口中显示的模块数目,使模型外观结构更清晰,增强了模型的可读性。
② 在简化模型外观结构图的基础上,保持了各模块之间的拓扑关系,使得特定功能的模块
可以拥有一些独立的属性。
③ 可以建立自定义子系统,方便在内部集成某种功能,进行复用。
虚拟字系统
在模型中提供图形化的层次结构
不影响执行
非虚拟字系统
在模型中提供执行性和图形化层次结构
是否用粗体边框绘制
是否作为单个单元执行(原子执行)
只有当所有子系统输入都有效时,才会执行内部的块
1.3.2 子系统创建
将一个子系统块从模拟链接库中拖放到您的模型中:
双击子系统块,然后添加实现
将属于该实现的块添加到模型中:
将这些块分组到一个子系统中
条件子系统:已启用和已触发的子系统
启用-如果启用信号为正,则在每个模拟步骤中执行子系统
触发-每次发生触发事件时都会执行子系统
启用和触发-仅当启用信号为正时,子系统才会在每次发生触发事件时执行
1.4 S-functions
1.4.1 S 函数概述及分类
1.4.2 S 函数要素及执行顺序
Simulink 包含一组输入、一组状态和一组输出。其中,输出时采样时间、输入
和块状态的函数。
时间量 t: 随着 Simulink 解算器运行而记录当前时间。
输入量 u:通常为前一个模块的输出量,当作为信号源时,可以没有输入量。
状态量 x: 根据系统性质分为连续系统中的微分量和离散系统中的差分量,通过前后不
同时刻的输入值计算得到。
输出量 y: 可以没有输出量。
执行顺序:
1.4.3Level1 M S 函数
[sys,x0,str,ts]=f(t,x,u,flag,p1,p2,…)
其中 f 是 S 函数的函数名,Simulink 会在仿真过程中的每个步长内多次调用 f。
1.4.4Level2 M S 函数
Level2 M S 函数使得用户能够使用 MATLAB 语言来编写支持多个输入/输出端口的自定义模
块,并且每个端口都能够支持包括矩阵在内的 Simulink 支持的所有数据类型。
1.4.5C Mex S 函数
1.4.6 S 函数示例
2.1.simulink 模型仿真
2.1.1 解算器
一般情况下,模型仿真中两种解算器均可采用,但如果模型用以生成嵌入式代码并下载到
硬件中去实时执行,解算器必须采用固定步长,因为实时硬件的时钟源都是提供稳定频率
的时钟源,无法提供变步长解算器的采样时刻计算方式。
对于固定步长解算方法而言,没有误差控制,所以其计算精度完全靠步长大小来决定。
步长越小,计算精度越高,花费的时间也越长。Simulink 提供的算法从 1 阶欧拉算法到 8 阶
Dormand-Prince 算法,在积分计算的复杂度上有区别, Type 选择 Fixed-step 时,默认选择
ode3 解算方法。对于同样的步长,积分计算越复杂的解算器求解精度越高,但是解算速度
相
变步长解算方法特点
2.1.2 解算器参数设置
固定步长解算器,需要配置的参数相对较少,仅当使用隐式解算器 odel4x,才开启雅
克比算法相关参数。
2.1.3 仿真即信号数据查看
2.1.4 仿真过程调试
调试能静态地观察仿真过程中每个模块的执行顺序,或者每一个采样时间
点数据的计算和更新情况。
3.1 simulink 代码生成
3.1.1 模型配置方法
首先准备好软件开发包)
MATLAB
TI Code Composer Studio
TI controlSUITE TI C2000Ware
安装步骤省略,所有软件安装路径默认即可。将以上 4 个软件安装完成后开始安装
MATLAB 所支持的 DSP 硬件包,在 MALAB 下选择附加功能->获取硬件支持包