第一个MATLAB程序 #

一、程序员的仪式:Hello World #

按照程序员的传统,学习一门新语言的第一件事就是输出"Hello World"。让我们开始吧!

二、使用命令窗口 #

2.1 打开MATLAB #

启动MATLAB后,你会看到主界面:

text
┌─────────────────────────────────────────────────────────────┐
│  工具栏                                                      │
├──────────────────┬──────────────────────────────────────────┤
│                  │                                          │
│   当前文件夹      │           编辑器/脚本                    │
│                  │                                          │
│                  │                                          │
├──────────────────┼──────────────────────────────────────────┤
│                  │                                          │
│   工作区         │           命令窗口                        │
│                  │                                          │
│                  │  >> _                                    │
└──────────────────┴──────────────────────────────────────────┘

2.2 在命令窗口输出 #

在命令窗口的 >> 提示符后输入:

matlab
>> disp('Hello World!')
Hello World!

或者使用 fprintf 函数:

matlab
>> fprintf('Hello World!\n');
Hello World!

2.3 尝试更多操作 #

matlab
>> 1 + 1
ans =
     2

>> 2 * 3
ans =
     6

>> 2^10
ans =
        1024

>> sin(pi/2)
ans =
     1

2.4 命令窗口技巧 #

命令历史

matlab
% 使用上下箭头键浏览历史命令
% 按 Tab 键自动补全

清除命令窗口

matlab
>> clc    % 清除命令窗口显示

清除变量

matlab
>> clear  % 清除所有变量
>> clear x y  % 清除指定变量

三、创建脚本文件 #

3.1 创建新脚本 #

方法1:工具栏

点击"新建脚本"按钮

方法2:快捷键

Ctrl + N(Windows/Linux)或 Cmd + N(macOS)

方法3:命令行

matlab
>> edit hello

3.2 编写脚本 #

创建 hello.m 文件:

matlab
% hello.m
% 我的第一个MATLAB程序
% 作者:你的名字
% 日期:2026-03-27

% 清除工作区和命令窗口
clear;
clc;

% 输出欢迎信息
disp('===================================');
disp('       Hello World!');
disp('       欢迎学习MATLAB!');
disp('===================================');

% 简单计算
a = 10;
b = 20;
c = a + b;

fprintf('a = %d, b = %d\n', a, b);
fprintf('a + b = %d\n', c);

% 创建一个简单的图形
x = 0:0.1:2*pi;
y = sin(x);

figure;
plot(x, y, 'b-', 'LineWidth', 2);
title('正弦函数');
xlabel('x');
ylabel('sin(x)');
grid on;

disp('程序执行完成!');

3.3 运行脚本 #

方法1:编辑器工具栏

点击"运行"按钮(绿色三角形)

方法2:快捷键

F5Ctrl + Enter

方法3:命令窗口

matlab
>> hello    % 不需要输入.m扩展名

3.4 输出结果 #

text
===================================
       Hello World!
       欢迎学习MATLAB!
===================================
a = 10, b = 20
a + b = 30
程序执行完成!

同时会弹出一个显示正弦函数的图形窗口。

四、使用实时脚本 #

4.1 什么是实时脚本 #

实时脚本(Live Script)是MATLAB R2016b引入的新功能,它将代码、输出和格式化文本整合在一个交互式文档中。

4.2 创建实时脚本 #

方法1:工具栏

点击"新建实时脚本"按钮

方法2:命令行

matlab
>> edit hello_live.mlx

4.3 编写实时脚本 #

实时脚本支持:

  • 代码块
  • 格式化文本
  • 内联数学公式
  • 图形嵌入
  • 控件(滑块、下拉菜单等)

示例内容:

text
# 第一个实时脚本

这是一个__实时脚本__示例,结合了代码和文档。

## 基本计算

下面进行一些基本计算:

%% 计算示例
a = 5;
b = 3;
sum = a + b;
diff = a - b;
prod = a * b;

%% 显示结果
fprintf('和: %d\n', sum);
fprintf('差: %d\n', diff);
fprintf('积: %d\n', prod);

## 绘图示例

绘制一个简单的函数图形:

%% 绘图
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);

figure;
plot(x, y1, 'b-', x, y2, 'r--');
legend('sin(x)', 'cos(x)');
title('三角函数');
xlabel('x');
ylabel('y');
grid on;

4.4 运行实时脚本 #

  • 点击代码块左侧的蓝色竖条
  • 或按 Ctrl + Enter 运行当前节

4.5 导出实时脚本 #

实时脚本可以导出为:

  • PDF文档
  • HTML网页
  • LaTeX文档
  • Word文档

五、MATLAB程序结构 #

5.1 脚本 vs 函数 #

脚本(Script)

matlab
% script_example.m
% 脚本:按顺序执行的命令序列

x = 1:10;
y = x.^2;
plot(x, y);

特点:

  • 不接受输入参数
  • 不返回输出参数
  • 操作工作区变量

函数(Function)

matlab
% function_example.m
function y = square(x)
% SQUARE 计算平方
%   y = square(x) 返回x的平方

y = x.^2;
end

特点:

  • 可以接受输入参数
  • 可以返回输出参数
  • 拥有独立的工作区

5.2 程序注释 #

matlab
% 单行注释

%% 节标题(可折叠)

%{
多行注释
可以跨越多行
%}

% TODO: 待办事项
% FIXME: 需要修复的问题
% NOTE: 重要说明

5.3 代码规范 #

命名规范

matlab
% 变量名:小写,下划线分隔
student_name = '张三';
total_score = 95;

% 常量:大写,下划线分隔
MAX_ITERATIONS = 100;
DEFAULT_VALUE = 0;

% 函数名:小写,驼峰或下划线
function result = calculateAverage(data)
    result = mean(data);
end

代码格式

matlab
% 使用空格和缩进提高可读性
if x > 0
    result = sqrt(x);
    fprintf('结果是: %.2f\n', result);
end

% 一行一条语句
x = 1;
y = 2;

% 长语句换行
total = a + b + c + ...
        d + e + f;

六、调试技巧 #

6.1 设置断点 #

matlab
% 在编辑器中点击行号左侧设置断点
% 或使用命令:
dbstop in hello at 5    % 在hello.m第5行设置断点

6.2 调试命令 #

matlab
dbstep     % 单步执行
dbcont     % 继续执行
dbquit     % 退出调试
dbstack    % 显示调用堆栈
dbup       % 上移调用堆栈
dbdown     % 下移调用堆栈

6.3 查看变量 #

matlab
% 在工作区查看变量
% 或使用命令:
whos       % 显示所有变量
disp(x)    % 显示变量值
size(A)    % 显示数组大小
class(x)   % 显示数据类型

七、常见错误 #

7.1 语法错误 #

matlab
% 错误:缺少引号
disp('Hello World)    % Error: 字符串未正确终止

% 正确
disp('Hello World')

7.2 变量未定义 #

matlab
% 错误:变量未定义
y = x + 1    % Error: Undefined function or variable 'x'

% 正确
x = 5;
y = x + 1;

7.3 矩阵维度不匹配 #

matlab
% 错误:维度不匹配
A = [1 2 3];
B = [1; 2];
C = A + B    % Error: 矩阵维度必须一致

% 正确
A = [1 2 3];
B = [1 2 3];
C = A + B;

7.4 文件名错误 #

matlab
% 错误:脚本名与函数名冲突
% 文件保存为 myScript.m,但函数名为 myFunction

% 正确:文件名与主函数名一致
% 文件: calculate.m
function result = calculate(x)
    result = x * 2;
end

八、练习 #

练习1:个人信息 #

matlab
% 创建脚本显示个人信息
name = '你的名字';
age = 20;
major = '计算机科学';

fprintf('姓名: %s\n', name);
fprintf('年龄: %d\n', age);
fprintf('专业: %s\n', major);

练习2:数学运算 #

matlab
% 计算圆的面积和周长
radius = 5;
pi_value = pi;

area = pi_value * radius^2;
circumference = 2 * pi_value * radius;

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

练习3:温度转换 #

matlab
% 摄氏度与华氏度转换
celsius = 25;
fahrenheit = celsius * 9/5 + 32;

fprintf('%.1f°C = %.1f°F\n', celsius, fahrenheit);

九、总结 #

本章你学到了:

  1. 命令窗口:交互式执行MATLAB命令
  2. 脚本文件:创建和运行.m文件
  3. 实时脚本:创建交互式文档
  4. 程序结构:脚本与函数的区别
  5. 调试技巧:断点和调试命令
  6. 常见错误:避免常见编程错误

下一章,我们将深入学习MATLAB的基础语法。

最后更新:2026-03-27