MATLAB 基础命令合集:从入门到精通(环境、变量、矩阵、绘图全解析)

本文汇总了 MATLAB 最常用、最核心的基础命令,涵盖环境与工作区、变量与数据类型、矩阵操作、数学运算、流程控制、绘图命令、文件操作和帮助系统八大模块。每个命令都配有简洁注释和实用示例,适合新手快速查阅和实战使用。


一、环境与工作区命令(新手必记)

刚打开 MATLAB,先掌握这几个命令,快速清理环境、查看路径,避免因环境混乱导致代码报错。

matlab 复制代码
clc % 清空命令行窗口(清屏,常用!避免之前的命令干扰)
clear % 清空工作区所有变量,释放内存
clear var % 清空指定变量 var(比如 clear a,只删变量 a,不影响其他)
who % 查看工作区所有变量名称(快速确认变量是否存在)
whos % 查看工作区变量详情(名称、大小、类型,比 who 更详细)
pwd % 查看当前工作路径(重点!很多新手报错是因为文件不在当前路径)
cd 路径 % 切换工作路径(例:cd D:\matlab_files,复制路径时注意斜杠方向)
dir % 列出当前目录文件(确认要加载的文件是否在当前路径)
close % 关闭当前图形窗口(绘图后清理画布)
close all % 关闭所有图形窗口(批量清理,省时)
exit % 退出 MATLAB(用完记得关闭,释放内存)

新手提示clcclear 经常搭配使用,写代码前先敲 clc; clear;,养成良好习惯。


二、变量与数据类型命令(基础中的基础)

MATLAB 无需声明变量类型,直接赋值即可,但掌握数据类型转换和特殊常量,能避免很多计算错误。

matlab 复制代码
% 1. 变量赋值(直接赋值,无需声明,新手重点掌握分号的用法)
a = 10; % 末尾加分号:不输出结果(推荐,避免命令行冗余)
b = 3.14 % 不加分号:直接输出结果(调试时用,快速查看变量值)
str = 'hello'; % 字符串变量(赋值时用单引号)
c = true; % 逻辑变量(true=1,false=0,用于判断)

% 2. 常用数据类型转换(避免数据类型不匹配报错)
x = double(5); % 双精度浮点型(MATLAB 默认数据类型,无需刻意转换)
y = int32(5); % 整型(需要整数时使用,节省内存)
z = char(65); % 数字转字符(65 对应大写字母 A)
num2str(123); % 数字转字符串(常用于拼接字符串)
str2num('456'); % 字符串转数字(注意:字符串必须是纯数字,否则报错)

% 3. 特殊常量(直接调用,无需赋值,新手必记)
pi % 圆周率 π(约等于 3.1415926,计算时直接用 pi,比手动输入准确)
inf % 无穷大(比如 1/0,结果为 inf)
nan % 非数值(无效计算,比如 0/0,出现 nan 说明计算逻辑有问题)
eps % 浮点精度(极小的数,用于判断两个浮点数是否相等)

三、矩阵/数组操作(MATLAB 核心,重中之重)

MATLAB 的核心是"矩阵运算",所有数据本质上都是矩阵,掌握这部分命令,能解决 80% 的基础编程需求。

1. 创建矩阵(常用方法,直接复制)

matlab 复制代码
% 手动创建(最常用,分号分隔行,空格/逗号分隔列)
A = [1 2 3; 4 5 6; 7 8 9]; % 3 行 3 列矩阵,新手注意分号和空格的用法
B = [1:5]; % 等差数列 1,2,3,4,5(简化写法,等价于 1:1:5)
C = 1:2:9; % 步长为 2:1,3,5,7,9(步长可自定义,灵活使用)

% 快速创建特殊矩阵(新手高频使用,避免手动输入)
zeros(3,3) % 3 行 3 列全零矩阵(初始化矩阵常用)
ones(2,4) % 2 行 4 列全 1 矩阵(批量赋值 1)
eye(3) % 3 阶单位矩阵(线性代数计算必备)
rand(3,2) % 3 行 2 列随机矩阵(0~1 之间,模拟数据常用)
randn(2,2) % 正态分布随机矩阵(模拟真实数据场景)
diag([1 2 3]) % 对角矩阵(对角元素为 1、2、3,其他为 0)

2. 矩阵索引与修改(新手易混淆,重点掌握)

matlab 复制代码
A(2,3) % 取第 2 行第 3 列元素(索引规则:行在前,列在后,从 1 开始计数!)
A(1,:) % 取第 1 行所有元素(冒号表示"所有",记住:行在前,列在后)
A(:,2) % 取第 2 列所有元素(逗号前是行,逗号后是列)
A(1:2,2:3) % 取 1-2 行、2-3 列子矩阵(范围取值,灵活提取数据)
A(2,1) = 10; % 修改第 2 行第 1 列元素为 10(直接赋值修改,简单高效)
size(A) % 查看矩阵尺寸(行,列)(比如 A 是 3 行 3 列,返回 [3 3])
length(A) % 查看矩阵最大维度(3 行 3 列矩阵,返回 3;2 行 4 列矩阵,返回 4)
reshape(A,9,1) % 重塑矩阵为 9 行 1 列(不改变元素,只改变矩阵形状)

新手提示 :MATLAB 的矩阵索引从 1 开始(和 Python 不同),千万不要写成 A(0,1),会报错!

3. 矩阵运算(易混淆点标注,避免用错)

matlab 复制代码
A + B % 矩阵加法(要求 A 和 B 尺寸一致,对应元素相加)
A - B % 矩阵减法(同上,尺寸一致)
A * B % 矩阵乘法(数学乘法,要求 A 的列数 = B 的行数,新手易和点乘混淆)
A .* B % 点乘(对应元素相乘,尺寸一致即可,高频使用!重点区分)
A / B % 矩阵除法(等价于 A * inv(B),线性代数计算)
A ./ B % 点除(对应元素相除,尺寸一致,比如计算每个元素的比值)
A ^ 2 % 矩阵幂运算(等价于 A*A,矩阵乘法)
A .^ 2 % 元素平方(每个元素各自平方,高频使用,比如计算平方值)
A' % 矩阵转置(行变列、列变行,线性代数必备)
inv(A) % 矩阵求逆(要求 A 是方阵,且行列式不为 0)
det(A) % 矩阵行列式(判断矩阵是否可逆)
eig(A) % 矩阵特征值(线性代数、信号处理常用)
sum(A) % 列求和(默认对每一列求和,返回行向量)
mean(A) % 列求均值(默认对每一列求均值)
max(A) % 列最大值(默认对每一列求最大值)
min(A) % 列最小值(默认对每一列求最小值)

新手提示 :带"."的运算(.* ./ .^)是"元素级运算",不带"."的是"矩阵运算",这是新手最容易用错的地方,一定要区分清楚!


四、数学运算与函数命令(日常计算必备)

基础数学函数,覆盖加减乘除、三角函数、对数指数等,直接调用,无需手动编写公式。

matlab 复制代码
% 基本数学函数(新手常用,直接复制调用)
abs(-5) % 绝对值(返回 5,处理负数常用)
sqrt(16) % 平方根(返回 4,计算根号值)
exp(2) % 自然指数 e²(返回约 7.389,指数运算)
log(10) % 自然对数(以 e 为底,返回约 2.302,注意和 log10 区分)
log10(100) % 以 10 为底对数(返回 2,日常对数计算常用)
sin(pi/2) % 正弦(MATLAB 默认弧度制,pi/2 对应 90 度,返回 1)
cos(0) % 余弦(0 弧度对应 0 度,返回 1)
tan(pi/4) % 正切(pi/4 对应 45 度,返回 1)
round(3.7) % 四舍五入(返回 4,保留整数)
floor(3.9) % 向下取整(返回 3,比如计算次数、个数)
ceil(3.1) % 向上取整(返回 4,比如分配资源、批量处理)
mod(7,3) % 取余(7÷3 余 1,返回 1,判断奇偶、周期常用)

新手提示 :MATLAB 的三角函数默认是弧度制,如果需要用角度制,先将角度转换为弧度(比如 sind(90),直接用角度计算)。


五、流程控制命令(脚本/函数必备)

编写脚本或函数时,需要用流程控制命令实现判断、循环,这部分是 MATLAB 编程的基础,新手重点掌握语法格式。

matlab 复制代码
% 1. if 判断(条件判断,满足不同条件执行不同代码)
if a > 0
    disp('正数'); % 满足 a>0 时执行
elseif a == 0
    disp('零'); % 满足 a==0 时执行(注意是 ==,不是 =,新手易错)
else
    disp('负数'); % 其他情况执行
end % if 语句必须用 end 结束,否则报错

% 2. for 循环(固定次数循环,比如重复执行 5 次)
for i = 1:5
    disp(i); % 循环 5 次,依次输出 1、2、3、4、5
end % for 循环必须用 end 结束

% 3. while 循环(条件循环,满足条件就继续执行)
i = 1;
while i <= 3 % 只要 i<=3,就继续循环
    i = i+1; % 每次循环 i 加 1,避免死循环
end % while 循环必须用 end 结束

% 4. 函数定义(保存为 .m 文件,可重复调用,新手入门级函数)
function y = f(x) % 函数名 f,输入参数 x,输出参数 y
    y = x^2 + 1; % 函数逻辑:计算 x 的平方加 1
end % 函数必须用 end 结束,保存文件名要和函数名一致(比如 f.m)

新手提示ifforwhilefunction 语句,必须用 end 结束,否则会报错;赋值用 =,判断相等用 ==,这是新手最容易混淆的两个符号。


六、绘图命令(2D/3D 基础绘图,直观展示数据)

MATLAB 绘图功能强大,新手掌握这些基础命令,就能快速绘制曲线、柱状图、饼图等,满足日常数据展示需求。

1. 2D 绘图(最常用,绘制曲线)

matlab 复制代码
% 基础绘图
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y) % 绘制正弦曲线
xlabel('X 轴') % X 轴标签
ylabel('Y 轴') % Y 轴标签
title('正弦函数图像') % 图形标题
grid on % 显示网格
legend('sin(x)') % 添加图例

% 多图绘制
subplot(2,2,1); plot(x, sin(x)); title('sin(x)')
subplot(2,2,2); plot(x, cos(x)); title('cos(x)')
subplot(2,2,3); bar([1,2,3,4]); title('柱状图')
subplot(2,2,4); pie([30,70]); title('饼图')

% 其他常用 2D 图形
scatter(rand(1,10), rand(1,10)) % 散点图
histogram(randn(1,1000)) % 直方图
stem(1:10, rand(1,10)) % 火柴杆图

2. 3D 绘图(展示三维数据)

matlab 复制代码
% 三维曲线
t = 0:0.01:10*pi;
plot3(sin(t), cos(t), t) % 三维螺旋线
xlabel('X'); ylabel('Y'); zlabel('Z'); title('三维曲线')

% 三维曲面
[X,Y] = meshgrid(-2:0.2:2);
Z = X.*exp(-X.^2 - Y.^2);
surf(X,Y,Z) % 三维曲面图
xlabel('X'); ylabel('Y'); zlabel('Z'); title('三维曲面')

% 三维散点图
scatter3(rand(1,100), rand(1,100), rand(1,100))

七、文件操作命令(数据导入导出)

matlab 复制代码
load data.mat % 加载 .mat 数据文件(变量直接进入工作区)
save results.mat % 将工作区所有变量保存到 results.mat
save results.mat x y % 只保存变量 x 和 y 到 results.mat

fid = fopen('data.txt', 'r'); % 以只读方式打开文本文件
data = fread(fid); % 读取文件内容
fclose(fid); % 关闭文件

csvwrite('data.csv', A) % 将矩阵 A 写入 CSV 文件
csvread('data.csv') % 从 CSV 文件读取数据

八、帮助系统(遇到问题快速查找)

matlab 复制代码
help plot % 查看 plot 函数的简要帮助(命令行显示)
doc plot % 打开 plot 函数的详细文档页面(浏览器打开)
lookfor fourier % 搜索名称或描述中包含 "fourier" 的函数
which plot % 显示 plot 函数所在的路径

总结

本文涵盖了 MATLAB 入门必备的 8 大类命令,建议新手按顺序学习:

  1. 环境与工作区clcclearpwdcd
  2. 变量与数据类型:赋值、类型转换、特殊常量
  3. 矩阵操作 :创建、索引、运算(重点区分 . 运算)
  4. 数学函数sqrtsinloground
  5. 流程控制ifforwhilefunction
  6. 绘图命令plotsubplotsurfscatter
  7. 文件操作loadsavefopencsvwrite
  8. 帮助系统helpdoclookfor

掌握这些命令后,你就能独立完成 MATLAB 基础编程、数据分析和可视化任务。建议将本文保存为书签,随时查阅。

提示:在实际使用中,可以结合 MATLAB 的自动补全功能(按 Tab 键)快速输入命令,提高编码效率。

相关推荐
菜菜的顾清寒12 小时前
力扣HOT100(27) 合并两个有序链表
数据结构·链表
鱼子星_12 小时前
【数据结构与算法】数据结构基础——树(上):树的存储结构,满二叉树,完全二叉树,二叉树的存储结构
c语言·数据结构·算法
南境十里·墨染春水12 小时前
数据结构——栈
数据结构
iiiiyu12 小时前
面向对象案例
java·大数据·开发语言·数据结构·python·编程语言
奶人五毛拉人一块13 小时前
滑动窗口算法及习题讲解
数据结构·算法·滑动窗口·子数组
加油201913 小时前
嵌入式软件技术栈和学习路线详解
linux·arm开发·数据结构·mqtt·设计模式·嵌入式
吃好睡好便好13 小时前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵
是main不是漫13 小时前
【数据结构--双向链表】从前有个节点,它想要两头讨好…
c语言·数据结构·链表
南境十里·墨染春水13 小时前
数据结构——AVL二叉平衡树
数据结构