- 第 115 篇 -
Date: 2025 - 07 - 23
Author: 鄭龍浩(仟墨)
續寫上一篇,如下文章:
【數學建模|Matlab】Matlab「基礎知識」和「基礎操作」
五 二維繪圖
1 舉例
% 二維平面繪圖(擴展至 -2π 到 2π)
x = -2*pi:0.01:2*pi; % x范圍擴展為[-2π, 2π]% 繪制基礎正弦函數
y = sin(x);figure % 建立畫布
plot(x, y, 'b', 'LineWidth', 1.5) % 藍色實線,線寬1.5
title('y = sin(x)')
xlabel('x ')
ylabel('sin(x)')
% 如果不寫這一行的話,在兩側留空白(如顯示 [-1, 7] 而非 [0, 6.28]),而寫了范圍后就是[-1,7]
xlim([-2*pi 2*pi]) % 設置x軸范圍(將x顯示范圍限制在這個區間)
grid on % 添加網格線
2 各種參數設置
① 顏色
顏色 | 字符 | 顏色 | 字符 |
---|---|---|---|
紅 | r | 粉紅 | m |
綠 | g | 青 | c |
藍 | b | 白 | w |
黃 | y | 黑 | k |
② 線型
線型 | 符號 | 正確示例 | MATLAB顯示效果 |
---|---|---|---|
實線 | - | ———————————————— | 連續無間隔的直線 |
虛線 | -- | —— —— —— —— —— | 中等長度線段+中等間隔 |
冒號線 | : | ·············· | 緊密排列的小點 |
點畫線 | -. | —·—·—·—·—·—·—·—· | 交替的長線段和圓點 |
③ 標記點類型
符號 | 點類型 | 示例 | 符號 | 點類型 | 示例 |
---|---|---|---|---|---|
· | 點 | ···· | ^ | 上三角 | △△△△ |
+ | 十字號 | ++++ | v | 下三角 | ▽▽▽▽ |
o | 圓圈 | ○○○○ | < | 左三角 | ???? |
* | 星號 | **** | > | 右三角 | ???? |
x | 叉號 | ×××× | p | 五角星 | ☆☆☆☆ |
s | 正方形 | □□□□ | h | 六角星 | ???? |
d | 菱形 | ◇◇◇◇ |
3 雙y軸繪圖 yyaxis
yyaxis
的核心是左右Y軸切換其余操作與普通 plot
一致。
任務:
繪制雙Y軸圖形,左側為 y1 = 0.5*exp(-x)
(綠色實線),右側為 y2 = 100*log(x+1)
(黑色點線),并添加網格和圖例。
人話就是:左側Y軸是綠色實線的指數函數圖像的,右側Y軸是黑色電線的對數圖像的
x = 0:0.1:5;
y1 = exp(-x);
y2 = log(x+1);figure;
yyaxis left;
plot(x, y1, 'g-', 'LineWidth', 1.5);
ylabel('exp(-x)'); % 左側Y軸的名字yyaxis right;
plot(x, y2, 'k:', 'LineWidth', 2);
ylabel('ln(x+1)'); % 右側Y軸的名字
圖像:
六 三維繪圖
1 基本介紹
繪制二維圖用的是plot()
,繪制三維圖用的是plot3
plot3(X, Y, Z, '參數')
屬性的話,可以寫到一起,不是必須得分開的
plot3(x, y, z, 'r--0') % 意思就是紅色虛線原點標記三維圖像
當然,生成三維圖像不是只可以從一個角度看,可以進行旋轉,從多個角度去觀看
2 用view()去調整
1)簡單介紹
當然也可以用view(n,m)
去觀察角度
n 表示的是方位角
m 表示的是仰角
角度都是°
2)用view(30, 30)
舉例來說明:
第一個 30
:方位角
- 定義:觀察者繞 Z 軸(垂直屏幕的軸)逆時針旋轉的角度
0°
:正對 X 軸正方向(從正前方看)90°
:正對 Y 軸正方向(從右側看)30°
:介于正前方和右側之間的斜視角。
- 類比:像人站在物體周圍 水平移動(左右轉頭)
2. 第二個 30
:仰角
- 定義:觀察者相對于 XY 平面(水平面)的俯仰角度。
0°
:平視(視線與 XY 平面平行)。90°
:正上方俯視(鳥瞰圖)。30°
:輕微俯視(視線從斜上方看向物體)。
- 類比:像人 抬頭或低頭 看物體。
3. view(30, 30)
的視覺效果
- 方位角 30°:視角從正前方偏右 30° 方向觀察。
- 仰角 30°:視線從斜上方 30° 向下看。
常用視角如下
代碼 | 視角描述 | 適用場景 |
---|---|---|
view(0, 90) | 正上方俯視(只看 XY 平面) | 二維數據的熱力圖 |
view(0, 0) | 平視(沿 X 軸) | 側視輪廓分析 |
view(30, 30) | 斜向上 30° 看 | 展示三維立體效果(默認) |
view(-37.5, 30) | MATLAB 默認三維視角 | 通用三維圖形 |
3 舉例
① 三維直線
紅色+圓圈+實線
X = [1, 2]; % X坐標
Y = [1, 3]; % Y坐標
Z = [1, 4]; % Z坐標plot3(X, Y, Z, 'ro-', 'LineWidth', 2); % 紅色圓圈標記+實線
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D 直線');
grid on;
② 3D 螺旋線圖
t = 0:0.1:10*pi; % 參數 t
x = sin(t);
y = cos(t);
z = t;plot3(x, y, z, 'b:', 'LineWidth', 1.5);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D 螺旋線圖');
grid on;
view(30, 30); % 調整視角
③ 3D 散點圖
rng(0); % 固定隨機數種子
X = rand(20, 1); % 20個隨機X坐標
Y = rand(20, 1); % 20個隨機Y坐標
Z = rand(20, 1); % 20個隨機Z坐標plot3(X, Y, Z, 'b.', 'MarkerSize', 20);
xlabel('X'); ylabel('Y'); zlabel('Z');
title('3D 散點圖');
grid on;
view(30, 30)