MATLAB 向量和矩阵一:向量
绘图功能
基本绘图
要绘制函数的图形,需要执行以下步骤:
- 通过指定变量x的值范围来定义x
- 定义函数 y = f(x)
- 调用 plot(x, y) 命令
1
2
3
4
clear; clc;
x = 0:5:100;
y = x;
plot(x, y)
运行结果
>> clear; clc; >> x = 3; >> if x == 3 disp(“x is 3”) end x is 3
1
2
3
x = -100:1:100;
y = x.^2;
plot(x, y)
运行结果
>> x = -100:1:100; >> y = x.^2; >> plot(x, y) % 显示一条抛物线
添加标题、标签、网格线和缩放
1
2
3
4
5
x = 0:0.01:10;
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on % 允许您将网格线放在图形上
axis equal % 命令生成一个正方形图
运行结果
>> x = 0:0.01:10; >> y = sin(x); >> plot(x, y), xlabel(‘x’), ylabel(‘Sin(x)’), title(‘Sin(x) Graph’), >> grid on >> axis equal % 显示带网格的正弦曲线图
在同一图形上绘制多个函数
1
2
3
4
x = 0:0.01:10;
y = sin(x);
g = cos(x);
plot(x, y, x, g), legend('Sin(x)', 'Cos(x)')
运行结果
>> x = 0:0.01:10; >> y = sin(x); >> plot(x, y), xlabel(‘x’), ylabel(‘Sin(x)’), title(‘Sin(x) Graph’), >> grid on >> axis equal % 显示带网格的正弦曲线图
设置颜色
MATLAB提供了八种基本的颜色选项来绘制图形:
| 代码 | 颜色 |
|---|---|
| w | 白色 |
| k | 黑色 |
| b | 蓝色 |
| r | 红色 |
| c | 青色 |
| g | 绿色 |
| m | 洋红色 |
| y | 黄色 |
1
2
3
4
x = -10:0.01:10;
y = 3*x.^4 + 2*x.^3 + 7*x.^2 + 2*x + 9;
g = 5*x.^3 + 9*x + 2;
plot(x, y, 'r', x, g, 'g')
运行结果
>> x = -10:0.01:10; >> y = 3x.^4 + 2x.^3 + 7x.^2 + 2x + 9; >> g = 5x.^3 + 9x + 2; >> plot(x, y, ‘r’, x, g, ‘g’) % 显示红色和绿色两条曲线
设定轴比例
1
2
3
x = 0:0.01:10;
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])
运行结果
>> x = 0:0.01:10; >> y = sin(x); >> plot(x, y), xlabel(‘x’), ylabel(‘Sin(x)’), title(‘Sin(x) Graph’), >> grid on >> axis equal % 显示带网格的正弦曲线图
生成子图
1
2
3
4
5
6
7
8
x = 0:0.01:5;
y = exp(-1.5*x).*sin(10*x);
subplot(1, 2, 1)
plot(x, y), xlabel('x'), ylabel('exp(–1.5x)*sin(10x)'), axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1, 2, 2)
plot(x, y), xlabel('x'), ylabel('exp(–2x)*sin(10x)'), axis([0 5 -1 1])
运行结果
>> x = 0:0.01:5; >> y = exp(-1.5x).sin(10x); >> subplot(1, 2, 1) >> plot(x, y), xlabel(‘x’), ylabel(‘exp(–1.5x)sin(10x)’), axis([0 5 -1 1])
>> y = exp(-2x).sin(10x); >> subplot(1, 2, 2) >> plot(x, y), xlabel(‘x’), ylabel(‘exp(–2x)sin(10x)’), axis([0 5 -1 1]) % 显示两个子图
绘制条形图
1
2
3
4
clear; clc; close all;
x = 1:10;
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x, y), xlabel('Student'), ylabel('Score'), title('First Sem:')
运行结果
>> clear; clc; close all; >> x = 1:10; >> y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95]; >> bar(x, y), xlabel(‘Student’), ylabel(‘Score’), title(‘First Sem:’) % 显示条形图
三维图
三维图显示了由函数定义的两个变量 g = f(x, y) 的曲面。
1
2
3
[x, y] = meshgrid(-2:.2:2);
z = x .* exp(-x.^2 - y.^2);
surf(x, y, z)
运行结果
>> [x, y] = meshgrid(-2:.2:2); >> z = x .* exp(-x.^2 - y.^2); >> surf(x, y, z) % 显示三维曲面图