MATLAB是一款功能强大的数值计算与仿真软件,广泛应用于工程计算、数据分析、算法开发等领域,掌握常用MATLAB命令是高效使用该软件的基础,以下从基础操作、矩阵与数组运算、数值计算、数据可视化、编程与函数、文件操作六个方面汇总常用命令,并通过表格形式清晰呈现。

基础操作命令
基础操作是使用MATLAB的入门,包括命令窗口管理、变量操作和常用函数。
- 命令窗口管理:
clc
清除命令窗口内容,clear
删除工作区变量,who
显示当前变量名,whos
显示变量详细信息(如大小、类型),disp
显示文本或变量值。 - 变量与数据类型:用于赋值,
ans
默认存储计算结果,int8/int16/int32/int64
定义整数类型,single/double
定义浮点类型,char
定义字符类型,logical
定义逻辑类型。 - 常用函数:
size
获取数组维度,length
获取向量长度,numel
获取元素总数,class
返回变量数据类型,isnumeric/ischar/islogical
判断变量类型。
矩阵与数组运算
矩阵是MATLAB的核心数据结构,相关运算命令包括创建、索引和运算。
- 矩阵创建:
A=[1,2;3,4]
直接创建矩阵,ones(m,n)
创建全1矩阵,zeros(m,n)
创建全0矩阵,eye(n)
创建单位矩阵,rand(m,n)
创建均匀分布随机矩阵,randn(m,n)
创建正态分布随机矩阵,linspace(a,b,n)
生成线性向量,logspace(a,b,n)
生成对数向量。 - 矩阵索引:
A(i,j)
访问第i行第j列元素,A(i,:)
访问第i行所有元素,A(:,j)
访问第j列所有元素,A(end,:)
访问最后一行,A([1,3],:)
访问第1、3行。 - 矩阵运算:
A+B
(加法)、A-B
(减法)、A*B
(矩阵乘法)、A.*B
(点乘,对应元素相乘)、A/B
(矩阵除法)、A./B
(点除)、A'
(转置)、inv(A)
(求逆)、det(A)
(行列式)、rank(A)
(秩)、eig(A)
(特征值与特征向量)。
数值计算
MATLAB提供丰富的数值计算函数,涵盖线性代数、微积分、优化等领域。
- 线性方程组:
A\b
求解线性方程组Ax=b
,rref(A)
将矩阵化为行最简形。 - 微积分:
diff(x)
计算差分(近似导数),int(f)
符号积分,quad(f,a,b)
数值积分(自适应Simpson法),trapz(x,y)
梯形法积分,fminbnd(f,a,b)
一维函数最小值,fminsearch(f,x0)
多维无约束优化。 - 数据分析:
mean(x)
平均值,median(x)
中位数,std(x)
标准差,var(x)
方差,max(x)/min(x)
最大值/最小值,sum(x)
求和,sort(x)
排序,find(x>5)
满足条件的索引,unique(x)
去重。
数据可视化
数据可视化是MATLAB的重要功能,通过绘图函数直观展示数据。

- 二维绘图:
plot(x,y)
基本折线图,scatter(x,y)
散点图,bar(x,y)
柱状图,hist(y)
直方图,pie(x)
饼图,fplot(f,[a,b])
函数图像,xlabel/ylabel
添加坐标轴标签,title
,legend
添加图例,grid on
显示网格。 - 三维绘图:
plot3(x,y,z)
三维曲线,meshgrid(x,y)
生成网格数据,surf(X,Y,Z)
三维曲面,contour(X,Y,Z)
等高线图,colorbar
显示颜色条,view(az,el)
视角设置。 - 图形修饰:
figure
创建新窗口,subplot(m,n,k)
创建子图,hold on/off
保持/清除当前图形,axis([xmin,xmax,ymin,ymax])
设置坐标轴范围,set(gca,'FontSize',12)
设置坐标轴字体大小。
编程与函数
MATLAB支持脚本和函数文件,实现复杂逻辑和模块化编程。
- 控制流:
if condition...elseif...else...end
条件语句,for i=1:n...end
循环,while condition...end
循环,switch...case...otherwise...end
开关语句,break
退出循环,continue
跳过本次循环。 - 函数定义:
function [y1,y2]=fun(x1,x2)
函数文件定义,nargin
输入参数个数,nargout
输出参数个数,varargin
可变输入参数,varargout
可变输出参数。 - 脚本与函数:脚本文件(
.m
)直接执行命令序列,函数文件(.m
)以function
开头,可重复调用。
文件操作
MATLAB支持多种文件读写,实现数据持久化。
- 数据文件:
save('filename.mat','x')
保存变量到.mat
文件,load('filename.mat')
加载.mat
文件,csvwrite('filename.csv',x)
写入CSV文件,x=csvread('filename.csv')
读取CSV文件。 - 文本文件:
fid=fopen('filename.txt','r')
打开文件(读模式),fclose(fid)
关闭文件,fscanf(fid,'%f',n)
读取格式化数据,fprintf(fid,'%6.2f',x)
写入格式化数据。
常用命令速查表
类别 | 命令 | 功能描述 |
---|---|---|
基础操作 | clc | 清除命令窗口内容 |
clear | 删除工作区所有变量 | |
who | 显示当前变量名 | |
disp(x) | 显示变量x的值 | |
矩阵创建 | ones(m,n) | 创建m×n全1矩阵 |
zeros(m,n) | 创建m×n全0矩阵 | |
eye(n) | 创建n×n单位矩阵 | |
矩阵运算 | A*B | 矩阵乘法 |
A.*B | 点乘(对应元素相乘) | |
inv(A) | 求矩阵A的逆 | |
数值计算 | mean(x) | 计算x的平均值 |
std(x) | 计算x的标准差 | |
fminbnd(f,a,b) | 求f在[a,b]上的最小值 | |
二维绘图 | plot(x,y) | 绘制x-y折线图 |
xlabel('x') | 添加x轴标签 | |
legend('曲线1') | 添加图例 | |
控制流 | if...else...end | 条件语句 |
for i=1:n...end | 循环语句 | |
文件操作 | save('data.mat','x') | 保存变量x到data.mat |
load('data.mat') | 加载data.mat中的变量 |
相关问答FAQs
Q1:如何判断一个矩阵是否为奇异矩阵?
A1:奇异矩阵是指行列式为0或不可逆的矩阵,可通过两种方法判断:一是计算行列式det(A)
,若结果为0(或接近0,考虑浮点误差),则为奇异矩阵;二是使用rank(A)
求矩阵的秩,若秩小于矩阵的阶数(如3×3矩阵秩小于3),则为奇异矩阵。
A = [1,2;2,4]; if det(A) == 0 disp('A是奇异矩阵'); end
Q2:如何将一个Excel文件中的数据导入MATLAB?
A2:可通过readtable
或xlsread
函数(旧版本)实现,推荐使用readtable
,它能自动处理表头并返回表格类型变量:
% 方法1:readtable(推荐,支持.xlsx/.csv) data = readtable('data.xlsx'); % 提取某一列数据,如列名为'Value' column_data = data.Value; % 方法2:xlsread(仅支持旧版.xls/.xlsx) [num,txt,raw] = xlsread('data.xlsx'); % num存储数值数据,txt存储文本数据,raw存储原始数据
若需处理大型文件,可添加Range
参数指定读取范围,如'A1:C10'
。