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'。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/413777.html<
