matlab 是集数值计算矩阵运算绘图编程仿真为一体的科学计算软件,适合工科科研学生做数据分析数值模拟信号处理建模仿真,整套学习路线建议先熟悉界面基础操作,再掌握矩阵核心语法,接着练习脚本函数编写,之后学习绘图数值计算工具箱,最后结合专业项目实战,matlab 最大特点就是以矩阵作为基础运算单元,和普通编程语言思路不一样,很多新手一开始还是按照 C 语言思维写代码,运算效率低还容易报错,学习的时候一定要建立矩阵思维,matlab 自带大量内置函数,不需要自己从零实现算法,很多数值求解插值拟合微分方程都有现成函数,学习过程要多敲代码多调试,不要只看视频不动手,软件版本会更新,核心语法长期稳定,新版本只是增加更多工具箱优化界面,基础教程内容新旧版本基本通用,学习的时候可以先从命令行窗口练习,再过渡到 m 文件脚本,最后学会自定义函数,循序渐进掌握之后就可以独立完成课程设计毕业设计科研计算任务。
一 软件界面基础认识
| 模块名称 | 功能说明 |
|---|---|
| 命令行窗口 | 直接输入单行代码回车运行,适合临时测试计算 |
| 工作区 | 显示当前所有变量矩阵数值类型大小 |
| 当前文件夹 | 管理 m 文件数据文件,代码运行默认读取该目录文件 |
| 编辑器 | 编写多行脚本和自定义函数,支持断点调试 |
| 命令历史 | 保存之前输入过的代码记录,可以重复调用 |
基础操作要点
1 运行代码回车执行,代码末尾加分号分号代表不输出运算结果,不加分会在命令窗口打印结果
2 clc 清空命令窗口,clear 清除工作区全部变量,close all 关闭所有绘图窗口,这三个是最常用清理命令
3 切换工作路径,代码读取外部数据的时候,必须把文件放在当前文件夹,或者使用绝对路径,否则会提示文件不存在
二 核心基础语法
1 变量与数据类型
变量不需要提前声明类型,直接赋值,常用类型包括双精度数值 逻辑型 字符 元胞数组 结构体,矩阵是最核心数据结构
创建矩阵示例
A = [1 2 3;4 5 6]
分号代表换行,一行内部元素用空格或者逗号隔开
2 矩阵基础运算
加减运算要求矩阵维度一致,乘除分为点运算和矩阵乘法,点运算就是元素逐个运算,符号是. ./.^,矩阵乘法按照线性代数矩阵相乘规则,符号是 /,这个是新手最高频混淆点,做逐元素运算一定要加点号。
3 常用内置基础函数
| 函数 | 作用 |
|---|---|
| linspace | 生成等间距一维向量 |
| zeros | 生成全零矩阵 |
| ones | 生成全一矩阵 |
| rand | 生成随机矩阵 |
| size | 获取矩阵行列尺寸 |
| length | 获取向量长度 |
| find | 查找满足条件元素索引 |
4 流程控制语句
for 循环 用于固定次数迭代
while 循环 满足条件持续循环
if elseif else 条件分支
switch case 多分支选择
注意 matlab 每个控制语句结尾必须写 end,漏掉 end 是常见报错原因
三 脚本 m 文件与自定义函数
脚本文件后缀是 m,本质就是多行代码集合,保存之后点击运行就可以批量执行,适合保存整套计算流程
自定义函数格式
function 输出变量 = 函数名输入变量
函数内部代码
end
函数和脚本区别,函数内部变量默认局部变量,不会自动保留在工作区,脚本里面变量全部是全局工作区变量,复杂项目推荐拆分成多个自定义函数,代码可读性更好方便复用。
四 绘图模块学习
matlab 绘图是非常重要部分,基础二维绘图用 plot,搭配 xlabel ylabel title grid on 设置坐标轴标题网格,subplot 可以在一张画布分割多个子图,还支持三维曲面图 surf 网格图 mesh 柱状图 bar 散点图 scatter,绘图之后可以修改线条颜色粗细标记样式,还可以导出图片为 png eps 矢量图,科研论文绘图经常在这个模块完成。
五 数值计算核心内容
这部分是 matlab 教程重点内容,也是工科最常用模块
1 多项式运算 多项式求根 多项式拟合 polyfit
2 插值 一维插值 interp1 二维插值 interp2
3 线性方程组求解
4 数值积分 quad integral
5 常微分方程求解 ode 系列函数 ode45 是最常用求解器
6 傅里叶变换 fft 信号频谱分析
六 工具箱介绍
基础语法学会之后,可以根据专业选择对应工具箱
信号处理工具箱 滤波频谱分析
图像处理工具箱 图像读取滤波变换
控制系统工具箱 传递函数仿真
优化工具箱 规划求解最小值
Simulink 图形化建模仿真,适合自动控制电力系统仿真,属于 matlab 配套独立模块,需要单独学习建模方法
七 学习进阶路线
第一阶段 1 到 2 周 熟悉界面矩阵基础语法 流程控制
第二阶段 2 到 3 周 脚本函数编写 基础绘图
第三阶段 3 到 4 周 数值计算 常用内置函数
第四阶段 根据专业学习对应工具箱和 Simulink
第五阶段 独立完成综合案例 课程设计 项目实战
学习建议,每学一个知识点配套敲代码练习,遇到报错优先看报错提示,学会使用 help 函数,在命令窗口输入 help 函数名可以查看官方帮助文档,官方文档是最权威的教程资料。
【常见问题】
问题 1 matlab 教程 新手优先学脚本还是自定义函数
回答 1 matlab 教程里面建议新手先学习脚本 m 文件,熟悉基础矩阵运算和流程语句之后,再学习自定义函数,脚本入门门槛更低,适合初期练习代码。
问题 2 matlab 教程 点运算和矩阵乘法怎么区分
回答 1 matlab 教程重点知识点,点运算.是矩阵每个元素单独计算,矩阵乘法遵循线性代数矩阵相乘规则,做逐元素运算忘记加点号是新手最常见错误。
问题 3 matlab 教程 不同版本 matlab 基础语法差别大吗
回答 1 matlab 教程基础语法长期稳定,新旧版本基础部分差别很小,主要是新版增加工具箱和界面优化,老版本学习的基础代码大部分可以直接在新版本运行。
问题 4 matlab 教程 一定要学习 Simulink 吗
回答 1 matlab 教程里面 Simulink 属于拓展模块,如果是控制仿真相关专业建议学习,如果只是单纯数值计算绘图,可以暂时不用学习 Simulink。
【免责申明】
本文内容仅作为 matlab 教程学习参考,不同 matlab 版本部分函数参数工具箱功能存在差异,软件授权以及商业使用请遵守官方许可协议,代码运行报错以及项目计算错误由使用者自行承担。
