求下列線性變換的矩陣 - 指南_變換規則

線性變換的矩陣表示

背景知識

在線性代數中,線性變換是指滿足以下兩個條件的變換求下列線性變換的矩陣 - 指南_變換規則_02

  1. 求下列線性變換的矩陣 - 指南_變換規則_03(可加性)
  2. 求下列線性變換的矩陣 - 指南_變換規則_04(齊次性)

對於任意向量求下列線性變換的矩陣 - 指南_cT_05 和標量 求下列線性變換的矩陣 - 指南_線性變換_06

線性變換的矩陣表示:給定線性變換求下列線性變換的矩陣 - 指南_變換規則_07 和標準基 求下列線性變換的矩陣 - 指南_變換規則_08,變換 求下列線性變換的矩陣 - 指南_變換規則_09 對應的矩陣 求下列線性變換的矩陣 - 指南_變換規則_10 的第 求下列線性變換的矩陣 - 指南_線性變換_11 列就是 求下列線性變換的矩陣 - 指南_線性變換_12在標準基下的座標表示。

求下列線性變換的矩陣 - 指南_cT_13中,標準基為:
求下列線性變換的矩陣 - 指南_cT_14

線性變換的矩陣表示基本原理

線性變換的矩陣表示基於一個核心思想:矩陣的列就是標準基向量經過變換後的座標

標準基的重要性

求下列線性變換的矩陣 - 指南_線性變換_15中,標準基向量為:
求下列線性變換的矩陣 - 指南_變換規則_16

這些基向量的重要性在於:

  • 任何向量 求下列線性變換的矩陣 - 指南_變換規則_17都可以表示為求下列線性變換的矩陣 - 指南_cT_18
  • 如果大家知道每個基向量求下列線性變換的矩陣 - 指南_變換規則_19 經過變換 求下列線性變換的矩陣 - 指南_變換規則_09後的結果,就能確定任意向量求下列線性變換的矩陣 - 指南_cT_21
矩陣-向量乘法的列視角

考慮矩陣 求下列線性變換的矩陣 - 指南_變換規則_10 與向量 求下列線性變換的矩陣 - 指南_線性變換_23 的乘法:
求下列線性變換的矩陣 - 指南_cT_24

這個公式表明:

  • 矩陣 求下列線性變換的矩陣 - 指南_變換規則_10 的第 求下列線性變換的矩陣 - 指南_線性變換_11 列就是 求下列線性變換的矩陣 - 指南_線性變換_27
  • 矩陣-向量乘法實際上是輸入向量各分量與矩陣各列的線性組合

題目求解

(1) 關於求下列線性變換的矩陣 - 指南_變換規則_28

變換規則求下列線性變換的矩陣 - 指南_線性變換_29
關於 y 軸對稱時,x 座標取反,y 座標不變

計算標準基的變換

  • 求下列線性變換的矩陣 - 指南_cT_30
  • 求下列線性變換的矩陣 - 指南_變換規則_31

矩陣表示
求下列線性變換的矩陣 - 指南_cT_32

驗證
求下列線性變換的矩陣 - 指南_cT_33


(2) 關於直線求下列線性變換的矩陣 - 指南_變換規則_34

變換規則求下列線性變換的矩陣 - 指南_線性變換_35
關於直線 y=x對稱時,x 和 y 座標交換

計算標準基的變換

  • 求下列線性變換的矩陣 - 指南_變換規則_36
  • 求下列線性變換的矩陣 - 指南_線性變換_37

矩陣表示
求下列線性變換的矩陣 - 指南_cT_38

驗證
求下列線性變換的矩陣 - 指南_cT_39


(3) 關於直線求下列線性變換的矩陣 - 指南_線性變換_40

變換規則求下列線性變換的矩陣 - 指南_線性變換_41
關於直線 y=−x 對稱時,x 座標變為 -y,y 座標變為 -x

計算標準基的變換

  • 求下列線性變換的矩陣 - 指南_cT_42
  • 求下列線性變換的矩陣 - 指南_線性變換_43

矩陣表示
求下列線性變換的矩陣 - 指南_cT_44

驗證
求下列線性變換的矩陣 - 指南_變換規則_45


圖表

變換類型

矩陣表示

關於

關於

關於

運行代碼可視化

python代碼

import numpy as np
import matplotlib.pyplot as plt
# 設置中文字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解決中文顯示問題-設置字體為黑體
plt.rcParams['axes.unicode_minus'] = False  # 解決保存圖像是負號'-'顯示為方塊的問題
# 定義標準基向量
e1 = np.array([1, 0])
e2 = np.array([0, 1])
print("標準基向量:")
print(f"e1 = {e1}")
print(f"e2 = {e2}")
print()
# (1) 關於 y 軸對稱的變換
def reflection_y(vec):
"""關於 y 軸對稱變換"""
return np.array([-vec[0], vec[1]])
# 計算標準基的變換結果
T_e1_y = reflection_y(e1)
T_e2_y = reflection_y(e2)
# 構建變換矩陣
A_y = np.column_stack([T_e1_y, T_e2_y])
print("(1) 關於 y 軸對稱的變換矩陣:")
print(A_y)
# (2) 關於直線 y = x 對稱的變換
def reflection_y_eq_x(vec):
"""關於直線 y = x 對稱變換"""
return np.array([vec[1], vec[0]])
# 計算標準基的變換結果
T_e1_yx = reflection_y_eq_x(e1)
T_e2_yx = reflection_y_eq_x(e2)
# 構建變換矩陣
A_yx = np.column_stack([T_e1_yx, T_e2_yx])
print("(2) 關於直線 y = x 對稱的變換矩陣:")
print(A_yx)
# (3) 關於直線 y = -x 對稱的變換
def reflection_y_eq_minus_x(vec):
"""關於直線 y = -x 對稱變換"""
return np.array([-vec[1], -vec[0]])
# 計算標準基的變換結果
T_e1_ymx = reflection_y_eq_minus_x(e1)
T_e2_ymx = reflection_y_eq_minus_x(e2)
# 構建變換矩陣
A_ymx = np.column_stack([T_e1_ymx, T_e2_ymx])
print("(3) 關於直線 y = -x 對稱的變換矩陣:")
print(A_ymx)
# 可視化變換結果
def plot_transformations():
"""繪製變換效果圖"""
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
# 原始向量
original = np.array([2, 1])
# (1) 關於 y 軸對稱
axes[0].quiver(0, 0, original[0], original[1], angles='xy', scale_units='xy', scale=1, color='blue',
label='原始向量')
transformed = A_y @ original
axes[0].quiver(0, 0, transformed[0], transformed[1], angles='xy', scale_units='xy', scale=1, color='red',
label='變換後')
axes[0].axvline(x=0, color='gray', linestyle='--', alpha=0.7)
axes[0].set_xlim(-3, 3)
axes[0].set_ylim(-2, 2)
axes[0].set_aspect('equal')
axes[0].set_title('關於 y 軸對稱')
axes[0].legend()
axes[0].grid(True)
# (2) 關於直線 y = x 對稱
axes[1].quiver(0, 0, original[0], original[1], angles='xy', scale_units='xy', scale=1, color='blue',
label='原始向量')
transformed = A_yx @ original
axes[1].quiver(0, 0, transformed[0], transformed[1], angles='xy', scale_units='xy', scale=1, color='red',
label='變換後')
x = np.linspace(-3, 3, 100)
axes[1].plot(x, x, 'gray', linestyle='--', alpha=0.7)
axes[1].set_xlim(-3, 3)
axes[1].set_ylim(-2, 2)
axes[1].set_aspect('equal')
axes[1].set_title('關於 y = x 對稱')
axes[1].legend()
axes[1].grid(True)
# (3) 關於直線 y = -x 對稱
axes[2].quiver(0, 0, original[0], original[1], angles='xy', scale_units='xy', scale=1, color='blue',
label='原始向量')
transformed = A_ymx @ original
axes[2].quiver(0, 0, transformed[0], transformed[1], angles='xy', scale_units='xy', scale=1, color='red',
label='變換後')
axes[2].plot(x, -x, 'gray', linestyle='--', alpha=0.7)
axes[2].set_xlim(-3, 3)
axes[2].set_ylim(-2, 2)
axes[2].set_aspect('equal')
axes[2].set_title('關於 y = -x 對稱')
axes[2].legend()
axes[2].grid(True)
plt.tight_layout()
plt.show()
# 執行可視化
plot_transformations()

可視化

求下列線性變換的矩陣 - 指南_變換規則_52