MATLAB新手教程(从0开始)

一、MATLAB 基础入门

1. MATLAB 界面介绍

当启动 MATLAB 时,你会看到以下主要组件:

  • 命令窗口 (Command Window):输入指令并查看结果

  • 工作区 (Workspace):显示所有变量

  • 当前文件夹 (Current Folder):管理文件

2. 基本操作与计算

在命令窗口尝试这些基础操作:

% 基本计算
3 + 4          % 加法
5 * 6          % 乘法
10 / 2         % 除法
2 ^ 3          % 幂运算

% 创建变量
a = 10;        % 分号; 抑制输出
b = 5;
c = a * b      % 显示结果

% 清除命令
clear          % 清除所有变量
clc            % 清除命令窗口

3. 矩阵操作(MATLAB 核心)

MATLAB 以矩阵操作为核心:

% 创建行向量
row_vector = [1, 2, 3, 4]

% 创建列向量
column_vector = [1; 2; 3; 4]

% 创建矩阵
matrix = [1, 2, 3; 4, 5, 6; 7, 8, 9]

% 访问元素
element = matrix(2, 3)  % 第2行第3列 → 6

% 矩阵转置
transposed = matrix'

% 矩阵乘法
A = [1, 2; 3, 4];
B = [5, 6; 7, 8];
C = A * B


二、数据可视化入门

MATLAB 强大的绘图功能是其亮点之一:

1. 基本绘图

% 创建数据
x = 0:0.1:2*pi;  % 从0到2π,步长0.1
y = sin(x);

% 绘制正弦曲线
plot(x, y);
title('正弦函数曲线');  % 添加标题
xlabel('X轴');        % X轴标签
ylabel('Y轴');        % Y轴标签
grid on;              % 显示网格

2. 多图绘制

% 在同一图中绘制多条曲线
y2 = cos(x);
plot(x, y, 'r-', x, y2, 'b--');  % 红色实线,蓝色虚线
legend('sin(x)', 'cos(x)');      % 添加图例

% 创建子图
subplot(2, 1, 1);    % 2行1列的第1个子图
plot(x, y);
title('正弦函数');

subplot(2, 1, 2);    % 2行1列的第2个子图
plot(x, y2);
title('余弦函数');

3. 3D 绘图

% 创建3D数据
[X, Y] = meshgrid(-2:0.1:2);  % 生成网格
Z = X .* exp(-X.^2 - Y.^2);   % 计算函数值

% 绘制3D曲面
surf(X, Y, Z);
title('3D曲面图');
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
colorbar;  % 显示颜色条


三、编程基础

1. 脚本文件

创建脚本(.m文件)保存和重用代码:

  1. 点击"新建脚本"

  2. 输入代码

  3. 保存为"circle_calc.m"

  4. 在命令窗口输入"circle_calc"运行

% 计算圆的面积和周长
radius = 5;
area = pi * radius^2;
circumference = 2 * pi * radius;

fprintf('半径为 %.2f 的圆:\n', radius);
fprintf('面积 = %.2f\n', area);
fprintf('周长 = %.2f\n', circumference);

2. 函数文件

创建可重复使用的函数:

% 创建函数文件 quadratic.m
function [x1, x2] = quadratic(a, b, c)
% 求解二次方程 ax^2 + bx + c = 0
% 输入: a, b, c - 二次方程系数
% 输出: x1, x2 - 方程的两个根

discriminant = b^2 - 4*a*c;
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
end


%在命令窗口调用:
[r1, r2] = quadratic(1, -3, 2)  % 解 x^2 - 3x + 2 = 0

3. 流程控制

% if-else 条件语句
x = 10;
if x > 0
    disp('正数');
elseif x < 0
    disp('负数');
else
    disp('零');
end

% for 循环
for i = 1:5
    fprintf('循环迭代 %d\n', i);
end

% while 循环
n = 1;
while n <= 5
    fprintf('n = %d\n', n);
    n = n + 1;
end


四、数据处理基础

1. 导入数据

% 导入Excel数据
data = readtable('data.xlsx');

% 导入CSV数据
data = readtable('data.csv');

% 查看数据摘要
summary(data)

% 显示前几行
head(data)

2. 数据操作

% 创建表格
names = {'Alice'; 'Bob'; 'Charlie'};
ages = [25; 30; 35];
scores = [85; 92; 78];
T = table(names, ages, scores)

% 访问列数据
T.ages       % 访问年龄列
T.ages(2)    % Bob的年龄

% 筛选数据
young = T(T.ages < 30, :)  % 年龄小于30的记录


五、实用技巧

1. 提高效率

  • 使用 Tab 键补全:输入部分命令后按 Tab 查看选项

  • 查看历史命令:按 ↑ 键浏览之前输入的命令

  • 帮助文档:在命令窗口输入 doc 函数名 查看详细帮助

  • 注释代码:使用 % 添加注释

2. 常见错误解决方法

  1. 未定义变量:确保所有变量都已定义

  2. 矩阵维度不匹配:检查操作矩阵的大小

  3. 函数名拼写错误:使用 Tab 补全避免拼写错误

  4. 路径问题:确保文件在 MATLAB 当前文件夹中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值