Files
Iris Series: Visualize Math -- From Arithmetic Basics to Machine Learning 79be5dda7d Add files via upload
2025-02-01 17:06:45 +08:00

315 lines
6.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "73bd968b-d970-4a05-94ef-4e7abf990827",
"metadata": {},
"source": [
"Chapter 02\n",
"\n",
"# 向量加减法\n",
"Book_4《矩阵力量》 | 鸢尾花书:从加减乘除到机器学习 (第二版)"
]
},
{
"cell_type": "markdown",
"id": "5727cda1-e9bd-4483-b50f-9b9ef36574ae",
"metadata": {},
"source": [
"这段代码定义了两个二维列向量 $a$ 和 $b$,并计算了它们的加法与减法。具体来说,向量 $a$ 定义为:\n",
"\n",
"$$\n",
"a = \\begin{bmatrix} -2 \\\\ 5 \\end{bmatrix}\n",
"$$\n",
"\n",
"向量 $b$ 定义为:\n",
"\n",
"$$\n",
"b = \\begin{bmatrix} 5 \\\\ -1 \\end{bmatrix}\n",
"$$\n",
"\n",
"代码首先计算了 $a$ 和 $b$ 的向量加法,得到结果向量 $a + b$,其计算过程为:\n",
"\n",
"$$\n",
"a + b = \\begin{bmatrix} -2 \\\\ 5 \\end{bmatrix} + \\begin{bmatrix} 5 \\\\ -1 \\end{bmatrix} = \\begin{bmatrix} 3 \\\\ 4 \\end{bmatrix}\n",
"$$\n",
"\n",
"此外,代码还展示了向量减法 $a - b$ 和 $b - a$,分别为:\n",
"\n",
"$$\n",
"a - b = \\begin{bmatrix} -2 \\\\ 5 \\end{bmatrix} - \\begin{bmatrix} 5 \\\\ -1 \\end{bmatrix} = \\begin{bmatrix} -7 \\\\ 6 \\end{bmatrix}\n",
"$$\n",
"\n",
"$$\n",
"b - a = \\begin{bmatrix} 5 \\\\ -1 \\end{bmatrix} - \\begin{bmatrix} -2 \\\\ 5 \\end{bmatrix} = \\begin{bmatrix} 7 \\\\ -6 \\end{bmatrix}\n",
"$$\n",
"\n",
"代码中分别使用了直接运算(如 `a + b`)和 `NumPy` 函数 `np.add` 与 `np.subtract` 来完成加法和减法操作。这种处理方式展示了向量的基本线性代数操作。"
]
},
{
"cell_type": "markdown",
"id": "88825576-ff58-4b2e-8a6b-770f593c57bb",
"metadata": {},
"source": [
"## 导入所需库"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "61e4349a-f354-4e33-a9a0-0b43ab26eb3b",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np # 导入NumPy库用于数值计算"
]
},
{
"cell_type": "markdown",
"id": "ea419dfa-5bf7-4c35-b465-8ff0416ce120",
"metadata": {},
"source": [
"## 定义两个列向量"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ee8dadac-372a-43a9-8a21-f2e54d27b4c6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-2],\n",
" [ 5]])"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = np.array([[-2], [5]]) # 定义向量a值为[-2, 5]\n",
"a"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1749cae5-c1ac-491b-ba00-0e93066130ac",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 5],\n",
" [-1]])"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b = np.array([[5], [-1]]) # 定义向量b值为[5, -1]\n",
"b"
]
},
{
"cell_type": "markdown",
"id": "68440eab-d48e-450b-ad71-43adcc4c30b3",
"metadata": {},
"source": [
"## 计算向量加法"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "7c6885fd-59eb-457b-967f-fbeebee26a96",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[3],\n",
" [4]])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a_plus_b = a + b # 使用直接加法计算a和b的和\n",
"a_plus_b"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "2bbd2e21-91c4-43b5-b18d-597011c73214",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[3],\n",
" [4]])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a_plus_b_2 = np.add(a, b) # 使用np.add函数计算a和b的和\n",
"a_plus_b_2"
]
},
{
"cell_type": "markdown",
"id": "54f2167f-edeb-48f4-81e4-89e27e459fd8",
"metadata": {},
"source": [
"## 计算向量减法"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "f6e97112-bfc4-44e9-9a9d-d168d4ba030e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-7],\n",
" [ 6]])"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a_minus_b = a - b # 计算a减去b的差\n",
"a_minus_b"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "a1b483cd-6bfc-450c-a883-d86a89ea897b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-7],\n",
" [ 6]])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a_minus_b_2 = np.subtract(a, b) # 使用np.subtract函数计算a减去b的差\n",
"a_minus_b_2"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "b1b4beab-4cab-48b1-b90d-065ee5971e9e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 7],\n",
" [-6]])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b_minus_a = b - a # 计算b减去a的差\n",
"b_minus_a"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "2a010763-e0f1-457f-acf9-e8e0182d271d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 7],\n",
" [-6]])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b_minus_a_2 = np.subtract(b, a) # 使用np.subtract函数计算b减去a的差\n",
"b_minus_a_2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "85a80909-2aac-49ed-bb7a-f8cc6b80ee7d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "ecd322f4-f919-4be2-adc3-69d28ef25e69",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}