跳到主要内容
Varlig 指南
Varlig 首页

学习与科学

检查作业和实验时,单位会贯穿每一步计算;你还可以对实验结果做统计,求解那些很难手动变形的方程。如果结果的单位不对劲,你就知道该回头检查公式了。

带单位的物理计算

给每个物理量都加上单位,让 Varlig 替你跟踪。公里每小时、米每二次方秒和千克会组合成每个结果应有的单位。

calc
# 一辆车从 108 km/h 紧急制动
速度 = 108 km/h in m/s 结果为 30 m/s
减速度 = 6 m/s²
制动距离 = 速度^2 / (2 * 减速度) 结果为 75 m
停车时间 = 速度 / 减速度 结果为 5 s
质量 = 1200 kg
动能 = 0.5 * 质量 * 速度^2 in kJ 结果为 540 kJ
制动力 = 质量 * 减速度 结果为 7,200 N
制动力 * 制动距离 in kJ 结果为 540 kJ

先把速度换算成米每秒,后面的结果就都会是国际单位制单位。力乘以距离得到的是功,所以最后两行证实了制动恰好消耗掉全部动能。如果公式里该除的地方你却乘了,结果就会显示 (m/s)²·m/s² 这样纠缠不清的单位,而不是米,这是提醒你检查计算过程的快速信号。请参阅带单位的运算和乘方与开方。

常数与教科书上的单位

资料手册上的单位带着点号、斜杠、括号和上标。照着印出来的样子敲进去,公式就会以该有的单位算出结果。

calc
# 把半升水加热 20 度
4186 J/kg/°C * 0.5 kg * 20 °C 结果为 41,860 J
# 万有引力常数,照资料手册上印的样子
G = 6.674e-11 N·m²/kg² 结果为 6.674e-11 N·m²/kg²
G * 5.972e24 kg * 80 kg / (6371 km)^2 结果为 785.5625626253 N
1 N in kg*m/s^2 结果为 1 kg·m/s²
1 kg·m²/s² in J 结果为 1 J
# 海平面上的音速
Mach 1 in km/h 结果为 1,225.044 km/h

*、· 和 ⋅ 都表示相乘,^2 和 ² 都表示平方,括号里的分母会作为一个整体。如果几个基本单位组合起来正好是某个有专名的单位,答案就用那个名称,所以 80 kg 的人所受的重力以牛顿给出;反过来要求写成 kg*m/s^2,得到的就正是那种形式。写成 J/kgK(开尔文直接连在后面)的比热容同样会被读作 J/(kg·K)。请参阅教科书和数据手册上的单位。

浓度与溶液

化学和生物里,同一个量既可能写成百分比,也可能写成物质的量浓度或百万分比。Varlig 可以在它们之间换算,并把水中的某个比例当作浓度处理。

calc
# 0.00243 mol 定容到 25.0 cm³
0.00243 mol / 25.0 cm³ 结果为 0.0972 mol/L
# 0.9% 的生理盐水
0.9% in g/L 结果为 9 g/L
# 余氯 2 ppm
2 ppm in % 结果为 0.0002%
1 ppm in mg/L 结果为 1 mg/L
# 给 200 L 的水箱投药到 20 ppm
20 ppm * 200 L in g 结果为 4 g
# 海水,约千分之三十五
35 ppt of 150 kg 结果为 5.25 kg

以立方厘米计量的少量物质会换成每升来表示,这正是物质的量浓度惯用的单位。水中的百万分比按水的重量计,所以 ppm 的投加量乘以体积就得到克数。ppt 表示千分比,盐度就是这样写的。请参阅千分比、百万分比与十亿分比。

实验结果的统计

把多次测量的数据放进一个列表,就能得到平均值、离散程度,以及与公认值之间的差距。

calc
# 用单摆测量 g
读数 = [9.74 m/s², 9.86 m/s², 9.79 m/s², 9.83 m/s², 9.88 m/s²]
测量值 = average(读数) 结果为 9.82 m/s²
标准差 = stddev(读数)
标准差 to 2 sf 结果为 0.056 m/s²
标准误差: 标准差 / sqrt(count(读数)) to 2 sf 结果为 0.025 m/s²
公认值 = 9.81 m/s²
偏差: (测量值 - 公认值) / 公认值 as % to 2 dp 结果为 0.1%

average 和 stddev 会保留读数的单位。stddev 计算的是样本标准差,这是重复测量时的常用选择。冒号前的标注说明每一行是什么,to 2 sf 则能把任意一行舍入到有效数字,不论它是名称、公式还是函数的结果。这个缩写按你所在学科的习惯写就行:sf、SF、s.f.、sig fig 和 sig. figs 都可以。如果某个零正好是你要求的有效数字之一,它会保留下来,所以 31.0357 m to 3 sf 是 31.0 m 而不是 31 m,答案也就如实反映了你手上的精度。to 2 dp 则是舍入到小数位,并去掉末尾的零。请参阅汇总统计、离散程度和有效数字。

求解方程

给 solve 一个方程、未知数和搜索范围。求解线性方程组时,请使用 solve_system。

calc
# x^2 + 3x - 10 = 0 的根
solve(x^2 + 3x - 10 = 0, x, 0, 5) 结果为 2
solve(x^2 + 3x - 10 = 0, x, -10, 0) 结果为 -5
# 一块石头从 45 m 高处落下,多久落地?
solve(4.9t^2 = 45, t, 0, 10) to 2 dp 结果为 3.03
# 2x + 3y = 13 且 x - y = -1
solve_system([[2, 3], [1, -1]], [13, -1]) 结果为 [2, 3]

solve 会在两个界限之间找出一个根,所以请让界限落在你想要的那个根的两侧。按纸上的样子书写方程即可:4.9t^2 会先对 t 求平方,再相乘。solve_system 按行接收系数,并依次给出 x 和 y。请参阅求一个数值根和求解线性方程组。

快速验算

把公式和直接计算的结果对照一下,或者在交作业前确认导数或积分。

calc
# 前 20 个平方数之和,两种算法
sum(k^2, k, 1, 20) 结果为 2,870
20 * 21 * 41 / 6 结果为 2,870
# x^3 - 4x 在 x = 2 处的斜率
derivative(x^3 - 4*x, x, 2) 结果为 8
# x^2 从 0 到 3 之下的面积
integrate(x^2, x, 0, 3) 结果为 9
# 从 10 人中选出 3 人的方法数
10 choose 3 结果为 120
# 5 个人排成一列的方法数
5! 结果为 120
sind(30) 结果为 0.5

直接求和与公式的结果一致时,你就可以放心用这个公式计算更大的数。derivative 指定一个点时会给出该点的斜率,integrate 则给出两个界限之间的面积。请参阅有限求和与求积、数值微分和定积分。

打造你自己的版本

  • 用一行把满分 40 的测验成绩换算成百分制:[34, 29, 38] / 40 * 100。
  • 安排复习节奏:40 hours at 4 hours a week 得到 10 weeks,2 hours in 15 min 把一次学习拆成 8 个小段。
  • 直接从数字读出占比:5 kg of 20 kg 是 25%,20 min of 1 hour 是 33.3333333333%。
  • 不用切换任何设置就按角度计算:cos(30 deg) 得到 0.8660254038,1/4 turn in degrees 得到 90°。
  • 对含有常数的公式求导,例如 differentiate(a*x^2 + b*x, x),无需先给 a 和 b 赋值。请参阅符号微分。
  • 检查一个电路:12 V * 2 A 会得到 24 W,5000 mAh / 500 mA 则显示电池能用 10 小时。
  • 算算从 45 m 高处落下的石头落地时有多快:sqrt(2 * 9.81 m/s² * 45 m) to 3 sf 会得到 29.7 m/s。
  • 把周期换算成频率:1 / 0.02 s in Hz 会得到 50 Hz,60 rpm in Hz 会得到 1 Hz,因为两者数的是同样的转数。
  • 由厚度和导热系数算传热系数:0.27 m / (0.04 W/mK) 得到 6.75 m²·K/W,1 / (6.75 m²·K/W) 又把它变回 0.1481481481 W/(m²·K)。
  • 把常用公式保存为函数:动能公式(质量, 速度) = 0.5 * 质量 * 速度^2,然后写 动能公式(1200 kg, 30 m/s) in kJ。请参阅自定义函数。