千家信息网

MatLab学习笔记

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,MatLab(Matrix Laboratory),一种以矩阵计算为基础的交互式程序语言,专门针对科学,工程计算以及绘图的需求。函数众多。常用命令Esc恢复命令输入的空白状态上下键:调出上一行下一行命
千家信息网最后更新 2026年10月31日MatLab学习笔记

MatLab(Matrix Laboratory),一种以矩阵计算为基础的交互式程序语言,专门针对科学,工程计算以及绘图的需求。函数众多。

常用命令

Esc恢复命令输入的空白状态

上下键:调出上一行下一行命令

exit/quit退出并关闭Matlab

figure/figure(2)

logo显示MatLab的Logo

clc清屏

help sqrt

demo

formatcompact

formatloose

cleari, j

clearall

who或whos,检查工作空间中的变量及其阶数

语句的结尾可用回车符或逗号,此时会立即显示运算结果。如果不希望显示结果,就以分号结尾。此时运算仍然执行,指示不显示。

若赋值时,只剩下右侧的表达式,而没有被赋值的变量,则Matlab会自动给出一个临时变量ans,把运算结果暂存在ans中。

基本语法

Matlab中的变量或常量都代表矩阵,标量应看作1*1阶矩阵。

a=[1 23; 4 5 6; 7 8 9],同一行元素之间以逗号或空格分开,不同的行以分号分开。

变量的元素用圆括号()中的数字(下标)来注明,二维的下标以逗号分开。

如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展

给全行赋值,可用冒号 a(5, :)=[5, 4, 3] //[]用来表示矩阵

b =a([2, 4], [1, 3]) //把a的第2,4行及第1,3列交点上的元素取出,构成一个新矩阵b

a([2,4, 5], :)=[] //抽去a中的第2,4,5行,利用空矩阵[]的概念,空矩阵不同于零矩阵

a(2,4) //a矩阵的a[2][4]元素

复数用i或j来表示 c=3+5i

z =[1, 3;5, 7]+[2, 4;6, 8]*i // '*'不可省略

w=z' //共轭转置

w=conj(z) //共轭

w=conj(z)' //转置

基本矩阵

zeros(m,n), ones(m, n), rand(m, n), linspace(a, b, n), eye(n) //linspace(a, b, n)在a与b之间均匀地产生n个点值,形成1*n维向量; eye产生单位矩阵

大矩阵可由若干个小矩阵组成,但必须行列数正确,恰好填满全部元素

元素显示不精确时,可用显示单个元素的命令来得到它的精确值,或改用长格式(format long)来显示整个矩阵

[n,m]=size(z) //获得矩阵阶数,若要自己编写矩阵A和B相加减,必须先求nA,mA,nB,mB,并检验是否满足nA=nB,mA=mB。作相乘时,正好相反

x=[1,2, 3]; y=x-1

l=length(X) //一维数组,length不分行和列

inv(z) //求逆矩阵,z必须为n阶方阵

x=inv(D)*B=D\B //把D的逆矩阵左乘B,记作D\, 称之为左除。

x=B*inv(D)=B/D //把D的逆矩阵右乘B,记作/D, 称之为右除。

*, \, /, ^, expm, logm, sqrtm是将矩阵作为一个整体进行运算的

+, -, sqrt, exp, log是对矩阵中的元素分别进行的(按元素群运算)

矩阵结构形式的提取与变换

fliplr矩阵左右翻转fliplr(A),flipud矩阵上下翻转flipud(A),reshape阶数重组, 元素总数不变reshape(A, 2, 6)

rot90矩阵整体反时针旋转90度rot90(A), diag提取或建立对角阵diag(A), tril取矩阵的左下三角部分tril(A),triu取矩阵的右上三角部分triu(A), :将元素按列取出排成一列B=A(:)'

元素群运算

数组赋值

1) 用两个冒号组成等增量语句,格式:t=[初值:增量:终值],增量为1 时可以省略

2) 用linspace函数,格式:linspace(初值,终值,点数)

元素群运算也就是矩阵中所有元素按单个元素进行运算。为了与矩阵作为整体的运算符号相区别,要在运算符*,/,\,^前加一点符号'.',以表示在作元素群运算。参与运算的两个矩阵必须是同阶的。非方阵不能按整体作矩阵乘幂运算的。

Eg :

x=[0:0.1:pi/4]';

disp(' x sin(x) cos(x) tan(x) ')

disp([x,sin(x),cos(x),tan(x)])

逻辑判断

1 数学及逻辑运算符(~=不等于)

2 逻辑字符检查(all, any, find, isnan, isreal, isstr)

3 位运算

4 集合运算

流程控制语句

1 if语句

1) if(expression) section, end

2) if(expression1) section1, elsesection2, end

3) if(expression1) section1, elseifexpression2 section2, else section3, end

2while语句

while(expression)section, end

3 for 语句

for k=初值:增量:终值 语句组A, end

4 switch语句

switch表达式(标量或字符串)

case 值1

语句组A

case 值2

语句组B

… …

Otherwise

语句组N

end

基本绘图方法

Graph3d,Graph4d,Graphics,specgraph函数库

基本作图函数说明:

Plot绘制连续波形 stem绘制离散波形 subplot一个窗口内绘制多副图

axis定义x,y轴最大最小值 hold保留目前曲线 grid画网格线 xlabel/ylabel为x/y轴加上说明

title为图形加上标题 text在图上加文字说明 gtext用鼠标拖动来确定标注文字的位置

1直角坐标中的两维曲线

1) plot(y)输入一个数组的情况

2) plot(x,y)输入两个数组的情况

如果数组x和y具有相同长度,命令plot(x,y)将绘出以x元素为横坐标,y元素为纵坐标的曲线。

2线形,点型,颜色

Y***m品红c青r红g绿b蓝w白k黑

.,o,x,+,-,*,: 虚线,-.点划,- -长划

Eg: plot(x1, y1, ':y'), plot(x2,y2,'+r')

3多条曲线的绘制

1) plot(t, [y1, y2, …]) 要求所有输出量有同样的长度和同样的自变量向量,不便于用户自行设定线型和颜色

2) hold命令 坐标选择要得当,注意及时解除保持状态hold off

3) 在plot后使用多输入变量

plot(x1, y1,'+g', x2, y2,':r' …)

4) plotyy命令

plotyy(t,y,t2,y2)

屏幕控制

1 图形窗的控制

figure创建图形窗 gcf获取当前图形窗的句柄 clf清除当前图形窗 shg显示图形

refresh刷新图形 close关闭图形窗 close all关闭所有图形窗

2 轴系的控制

axes在任意位置创建坐标系 gca获取当前坐标系的句柄 cla清除当前坐标系 ishold保持当前图形状态为真

3 图形对象

line创建直线 surface创建曲面 patch创建图形填充块 light创建照明 p_w_picpath创建图像

4 图形句柄操作

5工具

6 其他

subplot(n,m,p):将图形窗口分为n*m个子图,在第p个子图处绘制图形

其他二维绘图命令

虚数的绘图

坐标比例和尺寸的设定---axis命令

图形窗口中的直接编辑

M文件及程序调试

M文件分两种:一种是主程序文件(script file),由用户为解决特定的问题而编制的;另一种是子程序,也称为函数文件(function file),它必须由其他文件调用

主程序文件

1) 用clear,close all等语句开始,清除掉工作空间中原有的变量和图形,以避免其它已执行程序残留数据对本程序的影响。前几行通常是注释,说明此程序的用途。注释必须以%开始。在MatLab中输入help filename时,屏幕上会将该文件中以%起头的最前面几行的内容显示出来。

2) 程序主体。注意避免中文的字符,否则会引起死机

3) 文件名不要用汉字。避免出现汉字路径名。

人机交互命令

估值并执行,流程控制语句,程序,函数和变量,变元管理,信息显示,人机交互命令

pause(n)程序执行到此处,暂停n秒,再继续执行。如果没有括号参数,则等待用户输入任意键后才继续执行。

keyboard程序执行到此处暂停,在屏幕上显示字符K,并把程序的输入和执行权交给用户。如果需要系统恢复运行原来的程序,只需输入字符串return。在M文件中设置该命令,有利于进行程序调试,以及临时修改变量内容。

Ctrl+C强行停止程序运行的命令

函数文件

由function起头,后跟的函数名必须与文件名相同

有输入输出变元(变量),可进行变量传递

除非用global声明,程序中的变量均为局部变量,不保存在工作空间中

矩阵 元素 图形 运算 程序 变量 命令 语句 文件 输入 函数 坐标 字符 数组 控制 增量 整体 曲线 用户 绘图 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网科技公司排名 百单网互联网科技有限公司怎么样 广州淘业互联网络科技 西安纸贵互联网科技有限公司 苏州找大状互联网科技有限公司 与互联网科技公司 易互联网科技有限公司 富国互联网科技创新基金 济南华为互联网科技产业总部基地 科技与互联网哪个更好 呼和浩特新华互联网科技学院 民营互联网公司国防科技 迪庆互联网科技招生 广东工业互联网大赛深圳学泰科技 黑云互联网科技有限公司 宁波跨境商互联网科技有限公司 互联网科技机房 科技互联网经济论坛 中国主要互联网科技公司 互联网科技股 博彦科技互联网金融 亿人帮互联网科技有限公司 互联网的科技创新 郑州华宇互联网科技 互联网系的金融科技公司 武汉健翔互联网络科技有限公司 昭通互联网科技选哪家 深圳互联网科技的发展 四川互联网展示科技馆设计
0