第一个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:快捷键
按 F5 或 Ctrl + 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);
九、总结 #
本章你学到了:
- 命令窗口:交互式执行MATLAB命令
- 脚本文件:创建和运行.m文件
- 实时脚本:创建交互式文档
- 程序结构:脚本与函数的区别
- 调试技巧:断点和调试命令
- 常见错误:避免常见编程错误
下一章,我们将深入学习MATLAB的基础语法。
最后更新:2026-03-27