Lab Test 2: Calculus Tricks Lab Test 2: 微积分通关全解析

Topic 1: Separable Differential Equations 考点 1: 分离变量微分方程

📚 Knowledge Point & Fixed Mindset📚 题意破解与极速通关流

一阶可分离变量的微分方程 (Separable First-Order Differential Equations) 及其 初值问题 (Initial Value Problem)。关键信号:出现 dy/dx,且等式右边可以通过乘除法把 x 和 y 的项彻底拆分开。"乘除关系"就是触发"分离变量法"的最强烈信号。

🧠 Standard SOP🧠 行云流水做题 SOP

  1. 强制大分家(分离变量): 把 y 统统用乘、除法赶到 dy 这一侧,把 dx 乘到含有 x 的那一侧。如:遇到 dy/dx = x^2 * y^2 时,两边同除以 y^2(相当于乘以 y^(-2)),再同乘以 dx,得到 y^(-2) dy = x^2 dx
  2. 各自开外挂(两边同时积分): 直接给等式左右分别套上积分号 ∫。左边积分得 -1/y,右边积分得 (x^3)/3。最后任意找一边加上常数 C。得到:-1/y = (x^3)/3 + C
  3. 立刻代入初值(求出唯一 C): 假若题目给出 x=2 时 y=-3。直接代入:-1/(-3) = (2^3)/3 + C,得到 C = 1/3 - 8/3 = -7/3
  4. 反解出孤立的 y(整理答案): 把求出的 C 放回去,算解得 y = 3/(7 - x^3) 或者 -3/(x^3 - 7)

💡 Memory Trick💡 终极防翻车法则

遇乘除想分家,左甩 y 右甩 x;两头齐积分必加 C,千万立刻代初值,查底细再反解孤立的 y。生吃夹生饭(留着 C 反解 y 再算常数)极其容易眼花坠崖!

Topic 2: Exact Differential Equations 考点 2: 恰当微分方程 (Exact ODEs)

📚 Knowledge Point & Fixed Mindset📚 题意破解与肉眼秒杀大法

当你看到长得像 M(x,y) dx + N(x,y) dy = 0 的怪物方程,且题目要求你勾选 Exact (恰当) 的方程时。不要慌,这不需要你解方程,仅仅是微积分基础的“偏导数交叉检验”。

🧠 Standard SOP🧠 交叉求导看门狗 SOP

  1. 找出左门神 M 和右门神 N: 把紧紧贴在 dx 前面的一大坨包起来叫 M;紧紧贴在 dy 前面的叫 N
  2. 交叉安检(求偏导): 必须是“交叉”验证!
    • M(守 dx 的),我们偏偏要拿着放大镜对 y 求偏导,得到 My。
    • N(守 dy 的),我们偏偏要去对 x 求偏导,得到 Nx。
  3. 核对指纹: 如果两边求出来的结果一模一样(连正负号、连体系数都不可差分毫),那么它就是 Exact(打钩)!如果哪怕仅仅是正负号反了,那就立刻叉掉(不打勾)。

💡 Memory Trick💡 致命陷阱预警

陷阱:教授最喜欢在常数项和正负号上做文章!比如 M = ... - 2x sin(x^2) y,对 y 求偏导结果是 -2x sin(x^2)。而 N = ... + cos(x^2),对 x 求偏导会因为 cos 求导变负数,并且用链式法则掏出个 2x,结果也是 -2x sin(x^2)。看似长得不一样,其实指纹完全吻合!在纸上一步步写好这两行,一对比就出答案。

Topic 3: Undetermined Coefficients (Non-homogeneous ODEs) 考点 3: 二阶非齐次微分方程 - 待定系数法

📚 Knowledge Point & Fixed Mindset📚 题意破解与极速通关流

用来解长得像 y'' + p y' + q y = f(x) 的二阶微分方程。题目通常直接把齐次解(等于零的形式)的答案 y_h 扔给你了,只要求你猜特解 (Particular Solution) y_p 的雏形并算出来。

🧠 Standard SOP🧠 照猫画虎猜答案 SOP

  1. 看等号右边的脸型下菜碟: 等式右边的 f(x) 是什么脸型,你的雏形就猜什么脸型!
    • 如果右边是多项式(比如 3x+4),就猜 y_p = ax + b
    • 如果右边是指数型(比如 6 e^{2x}),极其无脑地猜 y_p = a e^{2x}
    • 如果右边是三角函数(比如 cos(3x)),必须猜一套完整的 y_p = a cos(3x) + b sin(3x)
  2. 防撞车安检 (Resonance Check): 把你猜出来的脸型去跟题目给的 y_h 对比!如果你的指数(比如 2x)刚好和 y_h 里的 -4x 不一样,安全!如果长得完全一样(撞车了),那就得在前面粗暴地乘上一个 x 避险。
  3. 疯狂求导带回原式求 a : 对确定的 y_p 连求两阶导数,代回原方程左侧对齐消消乐,强行把常数 a 揪出来!

💡 Memory Trick💡 Maple 提交满分语法指南

如果你的答案里有带分数的系数加上常数 $e$ 的指数。往系统里填必须严格使用星号隔开,并且把 $e$ 写全!比如不能写 e^(2x)/6,必须写出极简格式的 1/6*exp(2*x)。不要省略任何乘号!

Topic 4: Non-linear ODE — Maple dsolve 考点 4: 非线性二阶 ODE — Maple 全微分降阶

📚 Knowledge Point & Fixed Mindset📚 题意破解与折叠望远镜心法

当你看到 y·y'' + (y')² = 0 这种非线性怪物方程时,不要慌。关键信号:y 乘以自己的二阶导一阶导的平方 同时出现。这是一个隐藏的"全微分"结构:(y · y')' = y'·y' + y·y'' = (y')² + y·y'',恰好等于方程左边!

🧠 Standard SOP🧠 手算降阶 SOP(了解原理)

  1. 识别结构: 看到 y·y'' + (y')² → 立刻想到这就是 (y·y')' = 0
  2. 第一次积分: (y·y')' = 0 → y·y' = C₁(常数)
  3. 代初值求 C₁: 代入 y(0)=5, y'(0)=6 → 5×6 = 30 → C₁ = 30
  4. 第二次积分: y·(dy/dx) = 30 → y dy = 30 dx → y²/2 = 30x + C₂
  5. 再代初值求 C₂: 5² = 60×0 + 2C₂ → C₂ = 25/2 → y² = 60x + 25
  6. 开根号: y = sqrt(60x + 25)(取正根,因为 y(0)=5 > 0)

🖥️ Maple Code — Copy-Paste Template🖥️ Maple 万能代码 — 考场无脑复制

这类非线性 ODE 题目明确说了 "You will need the Maple computer algebra system",所以考场上直接用 dsolve 秒杀:

dsolve({y(x)*diff(y(x), x $ 2) + diff(y(x), x)^2 = 0, y(0) = 5, D(y)(0) = 6}, y(x))

输出: y(x) = sqrt(60*x + 25)

填空只填等号右边: sqrt(60*x+25)

🖥️ Maple Code — Variant Example🖥️ 变体题 — 系数变了照样秒杀

方程变成 y·y'' - 1/2·(y')² = 0,初值 y(0)=3, y'(0)=4。注意减号和 1/2 系数!

dsolve({y(x)*diff(y(x), x $ 2) - 1/2*(diff(y(x), x)^2) = 0, y(0) = 3, D(y)(0) = 4}, y(x))

输出: y(x) = 4*(x + 3/2)^2 / 3

填空: (4*(x + 3/2)^2)/3

⚠️ 万能套路:不管系数怎么变(+1、-1/2、+3...),Maple 代码只需要把方程原样翻译进去。你只需要做好三件事:①把数学符号精确翻译成 Maple 语法 ②初值用 y(0) 和 D(y)(0) ③全部塞进大括号。剩下的交给机器!

💡 Memory Trick💡 Maple dsolve 防爆语法清单

  • 函数必须写 y(x),不能只写 y
  • 二阶导用 diff(y(x), x $ 2)diff(y(x), x, x)
  • 一阶导初值必须用大写 D(y)(0) = 6,不能写 y'(0)
  • 填空时 不写 y(x) =,只填等号右边的表达式

Topic 5: Taylor Series — Maple series() & coeff() 考点 5: Taylor 级数展开 — Maple 读系数秒杀法

📚 Knowledge Point & Fixed Mindset📚 题意破解与极速通关流

题目让你求 e^(3x)·cos(2x) 在 x=0 处的 Taylor 级数展开中,某几项的系数(比如 a₀ 和 a₇)。本质上不是考你手算 7 次导,而是考你会不会让 Maple 自动展开级数,然后直接读系数

🖥️ Maple Method 1 — View Entire Expansion🖥️ 方法一:展开整个级数,肉眼找系数

series(exp(3*x)*cos(2*x), x=0, 8);

输出类似: 1 + 3*x + (5/2)*x^2 + ... - (1483/1680)*x^7 + O(x^8)

读答案: 常数项 = 1(即 a₀ = 1),x^7 前面的系数 = -1483/1680(即 a₇ = -1483/1680)

⚠️ 重要:最后的数字 8 表示"展开到小于 8 次",意味着包含 x^0 到 x^7。想看 x^7 的系数就写 8,想看 x^n 的系数就写 n+1!

🖥️ Maple Method 2 — Extract Coefficient Directly🖥️ 方法二:让 Maple 直接吐出某一项系数(更快)

coeff(series(exp(3*x)*cos(2*x), x=0, 8), x, 0);
coeff(series(exp(3*x)*cos(2*x), x=0, 8), x, 7);

第一行输出: 1(就是 a₀)

第二行输出: -1483/1680(就是 a₇)

coeff(表达式, x, k) 的意思就是"把 x^k 前面的系数给我取出来"。

📖 Maple Quick Reference📖 Maple 级数速记表(背死它)

Maple 语法 含义
exp(x)e^x
cos(x), sin(x)三角函数
series(f, x=a, n)在 x=a 处展开级数,包含到 x^(n-1)
coeff(expr, x, k)取 x^k 的系数
x=0Maclaurin 展开(about 0)

💡 Memory Trick💡 万能做题模板

以后遇到"求 Taylor 展开某一项系数"的题,直接套:coeff(series(函数, x=展开点, 阶数+1), x, 阶数)。填空答案直接从 Maple 输出里复制。a₀ = 1,a₇ = -1483/1680

Topic 6: Iterative Procedure — Maple proc & for loop 考点 6: 迭代数列逼近 — Maple proc 过程与 for 循环

📚 Knowledge Point & Fixed Mindset📚 题意破解与极速通关流

题目给你一个递推公式(比如 a_{n+1} = sin((1 + a_n/4)^2)),要你写一个 Maple procedure(过程/函数),用 for 循环迭代算到第 m 项,然后检查最后两项的差是否小于 10^(-13)。满足条件就返回 a[m],否则返回 -1。

🧠 Standard SOP🧠 迭代 Procedure 万能骨架 SOP

  1. 先给 a[0]: 题目告诉你初始值,直接写 a[0] := 0;
  2. for 循环算到 a[m]: 从 i=1 跑到 i=m,每一步用递推公式算出 a[i]
  3. 检查收敛:abs(a[m]-a[m-1]) < 10^(-13) 判断最后两项够不够接近
  4. 返回结果: 满足条件返回 a[m],否则返回 -1

🖥️ Maple Code — Full Copy-Paste Template🖥️ Maple 满分代码 — 考场直接复制

Digits := 30:

f := proc(m)
    local a, i;
    a[0] := 0;

    for i from 1 to m do
        a[i] := evalf(sin((1 + a[i-1]/4)^2));
    end do;

    if abs(a[m]-a[m-1]) < 10^(-13) then
        a[m];
    else
        -1;
    end if;
end proc:

f(4);
f(11);

f(4) 输出: -1(前 4 项差距还太大,不满足收敛条件)

f(11) 输出: 0.999965406070608925874283903615

📖 Maple Procedure Syntax Guide📖 下拉框选项速查表

下拉框位置 应选内容 为什么
第一空(定义)f := proc(m)定义过程,输入参数 m
for from1a[0] 已知,从 i=1 开始算
for tom算到第 m 项
循环体a[i] := evalf(sin((1+a[i-1]/4)^2))递推公式 + evalf 强制数值计算
if thena[m]收敛了就返回当前项
else-1没收敛就返回 -1

💡 Memory Trick💡 迭代题万能秒认口诀

四步秒认:①先给 a[0] ②for 循环从 1 到 m ③循环体放递推公式(记得 evalf!)④if 检查差值返回 a[m] 或 -1。以后只要看到"递推 + procedure + 收敛检查",全都是这个骨架,只需要替换中间的递推公式即可!

Topic 7: For Loops — add() Sums & Multi-term Recurrence 考点 7: For 循环求和 & 多项递推数列

📚 Knowledge Point & Fixed Mindset📚 题意破解 — 两类经典 for 循环题

这道题包含两个子题。(a) 用 for 循环配合 add() 求和函数批量计算一个求和式;(b) 用 for 循环和多项递推公式(涉及 a[n], a[n-1], a[n-2] 三项)算出数列的第 80 项。

🖥️ Part (a) — For Loop + add() Sum🖥️ 第 (a) 小题 — for 循环 + add() 求和

题目要求:对 k 从 3 到 50,每个 k 都算出 ∑(n=12 到 29) sin(k/n) 的值。

for k from 3 to 50 do
    evalf(add(sin(k/n), n=12..29));
end do;
下拉框 应选 原因
for ___k外层循环变量是 k
from ___3k 从 3 开始
to ___50k 到 50 结束
循环体evalf(add(sin(k/n), n=12..29))add() 做内层求和,evalf 算出小数

⚠️ 区分 add 和 sum:add() 用于数值计算求和,sum() 用于符号计算。机考里 99% 的情况用 add()

🖥️ Part (b) — Multi-term Recurrence🖥️ 第 (b) 小题 — 三项递推数列求 a[80]

递推公式:a_{n+1} = a_n - 4·a_{n-1} + a_{n-2},for n = 3, 4, 5, ...。已知 a[1]=3, a[2]=-1, a[3]=-1。求 a[80]。

a[1] := 3:
a[2] := -1:
a[3] := -1:

for n from 3 to 79 do
    a[n+1] := a[n] - 4*a[n-1] + a[n-2];
end do:

a[80];

输出: -5947589900344241186765

⚠️ 致命陷阱 — 循环范围:公式是 a_{n+1} = ...,for n。已知到 a[3],所以 n 从 3 开始。要算到 a[80],因为公式算的是 a[n+1],所以 n 最大到 79(79+1=80)。千万别写成 for n from 3 to 80,那样会多算一项 a[81]!

💡 Memory Trick💡 循环范围防翻车法则

如果公式写的是 a[n+1] = f(a[n], a[n-1], ...):你想算到 a[目标],那 for 循环的 to 就是目标 - 1。想算 a[80] 就跑到 79,想算 a[100] 就跑到 99。因为循环体里算的是"下一项"(n+1),所以 n 本身要比目标少 1。

Start Calculus Quiz 开始微积分实战刷题测验