matlab 1到无穷_Matlab的实用技巧(一)

Matlab的全称为: Matrix Laboratory, 即矩阵实验室。 它的特点是: 适合矩阵运算, 适合矩阵运算 ,适合矩阵运算。 举例而言:要计算 矩阵 n 阶矩阵 M与N的乘积,matlab只需要一条指令:M*N,且花费的时间极少; 而对于C语言来说,需要利用循环一次次相乘再相加。从耗费的时间上来说,是矩阵运算的很多倍。 对于初学者而言,常常忽略matlab的矩阵运算优势,在遇到具体例子时,会再进行详细解释。
1、工作路径的设置与修改 安装好matlab后,桌面会存在一个 matlab.exe 的快捷方式,右键->快捷方式,在起始位置处输入自己定义的matlab工作路径。

93133e8c72707fd458a736e4e8670fdb.png

2、命令行窗口字体大小修改 matlab默认的字体可能太小,可以适当增大字体。

859636d83043fe2cd4b3f4838c097d75.png

3、常用命令与快捷键
%% 通用命令clear      % 清除工作区所有变量。clear x, 可以清除指定名为x的变量clc        % 清空命令行窗口。可以结合clear使用:clear;clchelp       % 当忘记命令的用法时,可以调出用法简介。如:help clcsyms       % 定义符号变量。如 syms  x y ztic + toc  % 计算代码运行时间。将tic 放置在一段代码的前面,将toc放在代码的后面。           % 建议利用tic toc 来验证文章最初始说的矩阵运算的效率问题。plot       % 绘图指令,过于重要,后面专门写zeros(n,n) % 定义一个n*n 的零矩阵ones(n,n)  % 定义一个n*n 的全1矩阵eye(n)     % 定义一个n阶单位矩阵  eps        % matlab 自定义的一个最小数。matlab的分母不允许为0,可以在分母不确定时,加一个eps。format     % 改变数据显示精度。format short; format longvpa        % 某些情况下,出来的公式是分数,导致公式F长度太大,可以利用vpa(F,n),指定每个数的有效位数。%% 通用快捷键Tab      % 当忘记命令全称、或想探索相关指令时,按键盘的tab键,可以自动补全命令。↑       % 在命令行窗口,快速翻阅历史输入指令Ctrl + C   % 当matlab进入死循环时,强制中断程序运行。Ctrl + Q   % 快速关闭matlab%% M文件快捷键Ctrl + N   % 新建M文件Ctrl + R   % 添加注释。鼠标所在行 或 选中多行, 按下后,进行注释Ctrl + T   % 取消注释。鼠标所在行 或 选中多行, 按下后,取消注释Ctrl + A   % 选中所有代码Ctrl + I   % 自动对齐代码。通常先使用 Ctrl+A 选中所有代码后,再使用。%% Simulink快捷键Ctrl + E             % 打开模型的属性设置器Alt + Enter          % 设置 选中模块的主要参数Ctrl + Shift + I     % 打开/关闭 模型的属性观察器Ctrl + F             % 查找 字符串。可以是变量名、模块名Ctrl + R             % 逆时针旋转模块Ctrl + I             % 翻转模块(左右翻转)Ctrl + M             % 给子系统添加封装Ctrl + U             % 看子系统内部图Ctrl + Shift + Y     % 将选中模块注释掉,看做 信号线,注意与 Ctrl + Shift + X 的区别Ctrl + Shift + X     % 将选中模块注释掉,看做 断线。
4、经典控制理论相关命令
%% 以下命令建议一条条输入命令行窗口,看看效果s = tf('s');    % tf指令 将字母s 定义为 复频域算子sG = (s + 5)/(s^2 + 3*s + 9); % 定义一个典型的二阶系统figure          % 新建一个图形窗口,可加可不加step(G);        % 显示系统G的阶跃响应% hold on       % hold on 指令可以在前面图窗的基础上,添加新的图形。后续可以hold off 取消figure          % 防止覆盖上一张图,又不想在同一张图中显示。impulse(G);     % 显示系统G的脉冲响应figurebode(G);        % 显示系统G的bode图figurenyquist(G);     % 显示系统G的Nyquist图 % 除了使用系统自带指令来绘制bode图、Nyquist图,也可以自行绘制相关图形。在后续介绍了图形绘制指令后% 再进行详细阐述% 也可以处理离散控制Ts = 1e-3;                      % 定义采样频率 Ts = 1 ms z = tf('z',Ts);                 % 利用tf指令,定义字母z 为z算子。G2 = (0.463*z-0.3393)/(z^2 - 1.5327*z + 0.6607);step(G2);                       % 可以利用step等指令观察其响应% 若给定了s域传递函数,需要求其离散域函数,可以利用 c2d 指令Gz = c2d(G,Ts,'zoh');    % 需要指定离散化步长,离散化方法,可选的有:zoh,foh,impulse,tustin等。bode(G,Gz)               % 观察bode图可以发现,频率特性几乎一致。需要指出的是,采样频率越高,越接近。 %% 以下设定 传递函数在给定输入下的时域响应t = linspace(0,2,10000);        % 在[0,1]中,等间距的选取1000个数,定义为时间t。u = t > 0.3;                    % 利用比较,定义一个逻辑数组,在0.5s时,产生阶跃信号lsim(G,u,t)                     % 绘制出时域响应曲线
5、绘图指令在论文撰写过程中,漂亮的图表的重要性不言而喻。鉴于该部分的重要性,将单独用一篇文章进行详细介绍。

暂时先贴之前写的文章:https://zhuanlan.zhihu.com/p/74272911

6、Simulink的使用技巧 Simulink同样是极为重要的,之后将录制视频。在视频中,对一些小技巧进行讲解。 7、帮助文档 在使用matlab遇到的大部分问题,都可以利用搜索引擎解决。在matlab自带的帮助文档中,也会给出模块的具体解释和用法,是重要的参考文献。如下图所示。

73d81677b4b4d29ab58a02db7ff71ded.png

此外有matlab的中文论坛: https://www.ilovematlab.cn/forum.php matlab的英文官网:  https://www.mathworks.com/support.html?s_cid=pl_support matlab的另一个藏宝阁,满是秘籍。用之,受益无穷: https://www.mathworks.com/matlabcentral/fileexchange/?s_tid=gn_mlc_fx

69dc953bed3750703042d6d022211d32.png

8、推荐的参考文献1、张志涌、杨祖樱。MATLAB教程(最新版)。

2、孙忠潇(hyowinner). Simulink仿真及代码生成技术入门到精通[M].北京航空航天大学出版社.


注: 暂时好像不能插入外部链接,只能将就贴上网址。文档内容在后期可能会修改,认为有用的话,可以点击下方的“阅读原文”,关注我的知乎专栏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值