MATLAB软件的系统组成
桌面工具和开发环境
数学函数库
MATLAB编程语言
图形可视化
外部接口
Simulink
并行计算
数学与优化
统计与数据分析
控制系统设计与分析
信号处理与通信
图像处理
测试&测量
计算生物
计算金融
应用发布
应用发布目标
数据库连接和报告
Simulink的产品构成
定点建模
基于事件的建模
物理建模
仿真图形化
控制系统设计与分析
信号处理与通信
代码生成
快速原型和硬件再回路仿真
验证、确认和测试
生成报告
MATLAB工作界面布局
初识MATLAB命令
>> (7189+(1021-913)*80)/sqrt(64) ans = 1.9786e+003
MATLAB命令窗口中常用的快捷键
方向键↑ 调出历史命令中的前一个命令
方向键↓ 调出历史命令中的后一个命令
Tab键输入命令的前几个字符,然后按Tab键,会弹出前面包含这几个字符的所有命令,方便查找所需命令
Ctrl+C 中断程序的运行,用于耗时过长程序的紧急中断
利用diary和diary off命令来创建“日志”来记录历史命令
>> diary test_diary.txt >> x=1 x = 1 >> y=[1,2,3] y = 1 2 3 >> diary off
MATLAB搜索路径机制和搜索顺序
检查MATLAB内存,判断是否为变量或常量;
检查是否为MATLAB 的内部函数;
在当前目录中搜索是否有这样的M文件存在;
在MATLAB搜索路径的其他目录中搜索是否有这样的M文件存在。
工作空间浏览器
查询和编辑已定义变量
•通过右键菜单进行编辑或绘图等相关操作
程序编辑窗口
编辑M文件将M代码保存成扩展名为.m的文件,称之为M文件。M文件通常在程序编辑窗口(或称脚本编辑窗口)中编写,也可在记事本、写字板等文本编辑工具中编写,只需保存成M文件即可。
程序编辑窗口中常用的快捷键
快捷键说明
Tab键或Ctrl+] 增加缩进(对多行有效)
Ctrl+[ 减少缩进(对多行有效)
Ctrl+I 自动缩进(即自动排版,对多行有效)
Ctrl+R 添加注释(对多行有效)
Ctrl+T 去掉注释(对多行有效)
F12键设置或清除断点
F5键运行程序
变量的定义与数据类型
1.变量命名规则
可由任意的字母、数字或下划线组成,但必须以字母打头;
变量名区分字母大小写;
理论上来说MATLAB中的变量名可以是任意长度,但实际上只有前N个字符是有效的,这里的N是namelengthmax函数的返回值,它与MATLAB版本有关,通常N=63
2.赋值语句
>> x=1 x = 1 >> y=1+2+sqrt(9) y = 6 >> z='hello world' z = hello world
MATLAB中的特殊函数或常量列表
清除变量和恢复内部函数
>> pi ans = 3.1416 >> pi=1 pi = 1 >> clear pi >> pi ans = 3.1416
MATLAB中的关键字
break、case、catch、classdef,continue、else、elseif,end、for、function、global、if, otherwise、parfor、persistent, return, spmd, switch, try, while
数据类型
数据输出格式
常用函数
>> x=[1 -1.65 2.2 -3.1] x = 1.0000 -1.6500 2.2000 -3.1000 >> y=abs(x) y = 1.0000 1.6500 2.2000 3.1000 >> y2=sin(x) y2 = 0.8415 -0.9969 0.8085 -0.0416 >> y3=round(x) y3 = 1 -2 2 -3 >> y4=floor(x) y4 = 1 -2 2 -4 >> y5=ceil(x) y5 = 1 -1 3 -3
数组运算
x=[X1,x2,x3,…]% 定义行向量
x=[X1;x2;x3;…]% 定义列向量
>> x=[1,0,2,-3 5] x = 1 0 2 -3 5 >> y=[-1;10;3;-2;7] y = -1 10 3 -2 7 >> y=[-1 10 3 -2 7]' y = -1 10 3 -2 7
规模化定义向量
通过冒号运算符构造等间隔向量。
x=初值:步长:终值
>> x=1:2:10 x = 1 3 5 7 9
调用linspace函数生成等间隔向量。
x = linspace(初值,终值,向量长度)
>> x=linspace(1,10,10) x = 1 2 3 4 5 6 7 8 9 10
定义矩阵
>> a=[1,2,3;4,5,6;7,8 9] a = 1 2 3 4 5 6 7 8 9
矩阵与向量的互相转换
>> A=a(:) A = 1 4 7 2 5 8 3 6 9
A = reshape(x, [m, n])%将向量x转为m行n列的矩阵
>> x=1:18; >> A=reshape(x,[3,6]) A = 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18