全部工具
图形计算

在线 2D 图形计算器:把函数画出来,让微积分看得见

一款交互式 2D 函数绘图仪,可在笛卡尔坐标系上绘制一条或多条 y=f(x) 表达式。可叠加数值导数虚线并在任意点绘制切线,手动设定视口或使用标准/三角函数/缩放预设,支持平移、以光标为中心缩放及重置视图。全部以清晰的 SVG 渲染并在浏览器本地计算。

-10-8-6-4-20246810-5-4-3-2-1012345
sin(x)
~~
2D 函数绘图 · 使用指南

二维图形计算器使用说明

绘制多个函数、导数和切线

二维图形计算器把抽象的函数表达式变成直观的曲线图像,支持多条曲线叠加、数值导数显示、任意点切线绘制。所有计算在浏览器本地完成,打开网页就能用。适合高中函数学习、大学微积分可视化,以及工程师快速验证表达式形状。

01 绘制函数

每一行定义一个函数。在输入框中输入关于 x 的表达式——例如 sin(x)、x^2 − 4 或 2*sin(x) + cos(2*x)——图形会自动更新。使用色块识别每条曲线。勾选 Visible 可在不删除曲线的情况下显示/隐藏它,Derivative 可叠加 f′(x),Tangent 可在指定 x 值处绘制切线(在出现的数值框中输入该 x)。点击 × 移除函数,或点击 + Add function 添加另一个函数。

可视窗口通过 xmin/xmax 和 ymin/ymax 设置。拖拽画布可平移,滚动/捏合可缩放。预设按钮可快速重置为标准范围、配置适合三角函数的窗口或放大。图例标识每个绘制的序列。

表达式必须显式书写运算符:乘法用 *、幂用 ^。例如 2*x^2 是合法的,而 2x² 会报错。支持的函数包括 sin、cos、tan、asin、acos、atan、log、exp、sqrt、abs、min、max、pow、floor、ceil、round,常数有 pi 和 e。

三角函数默认使用弧度制。如果你习惯角度,请用 pi/180 转换,例如 sin(30*pi/180)。这是微积分的标准约定——只有在弧度制下,sin 的导数才恰好是 cos,公式才最简洁。

  • 支持的运算符:+、−、*、/、^ 和括号
  • 函数:sin、cos、tan、asin、acos、atan、log、exp、sqrt、abs、min、max、pow、floor、ceil、round
  • 可使用常量 pi 和 e
  • 无效表达式会在该函数行上显示内联错误
  • 所有计算在浏览器本地完成,不上传数据

02 导数与切线的几何意义

导数 f′(x) 是曲线在某一点切线的斜率,刻画函数变化的快慢。f′(x) > 0 表示函数在上升,f′(x) < 0 表示在下降,f′(x) = 0 的点往往是"山峰"或"山谷"。打开 Derivative 开关,你会看到原函数与导数曲线一上一下地呼应——原函数取极值的位置,恰好是导数过零的位置。

切线是"用直线逼近曲线"的直观体现。在一点附近,光滑曲线可以被它的切线很好地近似,这叫局部线性化。设一个 x 值,工具会画出该点的切线并显示方程 y = f(a) + f′(a)(x − a)。牛顿迭代、泰勒展开、梯度下降等算法,本质上都是反复用直线去逼近弯曲的对象。

本工具用中心差分公式 f′(x) ≈ (f(x+h) − f(x−h)) / (2h) 计算导数,h 自适应选取。这种方法对任何能算出函数值的表达式都有效,不需要套用求导法则。代价是微小的截断误差,对光滑函数约 8-10 位有效数字。对 |x| 这类带尖点的函数,导数在尖点处会给出介于左右导数之间的值,这是数值方法的固有局限。

03 从解析几何到函数图像

把"式子"变成"图形"的想法,是 17 世纪笛卡尔与费马几乎同时提出的,史称解析几何。它的核心洞见是:方程 f(x,y) = 0 的解集可以在平面上画成一条曲线,于是代数问题可以转化成几何问题,反之亦然。今天你在屏幕上看到的每一条 sin 曲线、每一条抛物线,都是这套思想的延续。

函数图像不仅是"画图",更是"读图"。物理学中,位移—时间图的斜率是速度;经济学中,成本函数的导数是边际成本;工程中,控制系统的阶跃响应、滤波器的频率特性,都是先画出图像再分析。会用图像"读"函数,是理工科学生最重要的基本功之一。

按键与按钮

函数行

  • f(x) input输入要绘制的关于 x 的表达式(例如 sin(x))。
  • Visible在不移除曲线的情况下显示或隐藏它。
  • Derivative叠加数值导数 f′(x)。
  • Tangent在特定 x 值处绘制切线。
  • 切线点 X设置绘制切线的 x 值(开启 Tangent 时显示)。
  • ×移除该函数行(仅剩下一个时禁用)。

窗口与画布

  • xmin / xmaxx 轴的左右边界。
  • ymin / ymaxy 轴的上下边界。
  • -10~10重置为 −10 到 10 的标准窗口。
  • trig设置适合三角函数的窗口。
  • zoom围绕原点放大。
  • drag canvas通过拖拽平移视图。
  • scroll / pinch交互式放大和缩小。
  • reset view画布上的按钮,在鼠标拖动或滚轮缩放后恢复图表。

添加函数

  • + Add function添加一个新的空函数行。
温馨提示
  • 乘法用 *、幂用 ^——例如 2*x^2,而不是 2x²。
  • 启用 Derivative 可直观查看斜率在何处变号(局部极值)。
  • 放大交点可更精确地读取根。
  • 隐藏未使用的曲线,使图形和图例保持清晰。
  • 三角函数默认用弧度,角度请用 pi/180 转换。
  • 曲线断开通常表示函数在该点无定义(如 1/x 在 x=0)。
  • 分段函数可用 min、max、abs 拼凑,例如 max(0, x) 是 ReLU。
  • 断网后页面已加载仍可使用,所有计算都在本地。

免费的在线 2D 函数绘图工具,可同时叠加多条曲线,并显示数值导数与任意点的切线。支持鼠标拖拽平移、滚轮缩放、自动网格与刻度,所有计算都在浏览器本地完成。适合高中函数学习、大学微积分可视化,以及工程师快速验证一个表达式的形状。

这个工具能做什么

你输入关于 x 的表达式,它把对应的曲线画在坐标系里。可以同时画多条曲线对比形状,可以叠加一条虚线表示导数 f′(x),还可以在任意 x 处画出切线并读出该点的函数值与斜率。无需注册、无需安装,打开网页就能用。

函数图像:解析几何的诞生

把"式子"变成"图形"的想法,是 17 世纪笛卡尔与费马几乎同时提出的,史称解析几何。它的核心洞见是:方程 f(x,y)=0 的解集可以在平面上画成一条曲线,于是代数问题可以转化成几何问题,反之亦然。今天你在屏幕上看到的每一条 sin 曲线、每一条抛物线,都是这套思想的延续。

导数的几何意义:曲线在某一点的"陡峭程度"

导数 f′(x) 是切线的斜率,它刻画函数在该点变化的快慢。f′(x)>0 表示函数在上升,f′(x)<0 表示在下降,f′(x)=0 的点往往是"山峰"或"山谷"。打开导数开关,你会看到原函数与导数曲线一上一下地呼应——原函数取极值的位置,恰好是导数过零的位置,这正是费马引理的直观演示。

切线:用直线逼近曲线

在一点附近,光滑曲线可以被它的切线很好地逼近,这叫"局部线性化",是微积分的核心思想之一。设一个 x 值,本工具会画出该点的切线并显示方程 y = f(a) + f′(a)(x − a)。牛顿迭代、泰勒展开、梯度下降等一大堆算法,本质上都是反复用直线(或平面)去逼近弯曲的对象。

数值导数 vs 符号求导

本工具用中心差分公式 f′(x) ≈ (f(x+h) − f(x−h)) / (2h) 来计算导数,h 取一个自适应的小值。它的优点是无需知道函数的"求导规则",对任何能算值的表达式都适用;缺点是会有微小的截断误差,对光滑函数通常有 8-10 位有效数字的精度。如果你需要精确解析表达式,应使用符号计算软件;但要看形状,数值法足够好且更通用。

表达式语法

支持 + − * / ^ 与括号,函数包括 sin、cos、tan、asin、acos、atan、log、exp、sqrt、abs、min、max、pow、floor、ceil、round,常数有 pi 和 e。乘法必须写 *,例如 2*x 而不是 2x。常见示例:x^2 - 4 是抛物线;sin(x) 是正弦;exp(-x^2) 是钟形高斯曲线;1/(1+exp(-x)) 是 S 形的 sigmoid。

弧度制:微积分的默认约定

本工具与几乎所有数学软件一样,把三角函数的输入视为弧度而非角度。原因是只有在弧度制下,sin(x) 的导数才恰好等于 cos(x),泰勒级数才简洁。如果你想画"30 度的正弦",请写成 sin(30*pi/180)。忘记这一点是初学者最常见的错误——画出来的 sin(30) ≈ −0.988 而不是 0.5。

如何使用:三步上手

第一步,在 f(x) 输入框输入表达式,例如 x^2 - 4。第二步,点 + Add function 再加一条 sin(x),观察两条曲线有几个交点。第三步,勾选 Derivative 看导数曲线,勾选 Tangent 并输入 x=1 看该点的切线。配合鼠标拖拽与滚轮,你可以自由地放大感兴趣的局部。

现实中的应用

物理学中,位移—时间图的斜率是速度,速度—时间图的斜率是加速度;经济学中,成本函数的导数是边际成本,收益函数的导数是边际收益;工程中,控制系统的阶跃响应、滤波器的频率特性、梁的弯矩分布,全都是先画出函数图像再进行分析。会用图像"读"函数,是理工科学生最重要的基本功之一。

画图的小技巧

如果曲线在某处突然断开,多半是函数在该点无定义,比如 1/x 在 x=0、tan(x) 在 x=π/2。如果图像呈"锯齿状",说明采样密度跟不上函数变化速度,试着缩小 x 范围或换一个更平滑的表达式。想看周期性,把窗口设成几个周期宽;想看渐近行为,把窗口拉得足够大。

局限性

本工具是数值绘图器,不做符号运算,因此无法识别"可去间断点"或精确标出极值坐标。对 |x| 这类带尖点的函数,导数在尖点处会给出错误结果(中心差分会得到一个介于左右导数之间的值)。对振荡极快的函数如 sin(1/x),靠近奇点时图像会失真。这些都不是 bug,而是数值方法的固有边界。

常见问题

Q可以绘制多少个函数?
A

任意多个。每条曲线有独立的颜色、可见性开关、导数开关与切线开关,可单独控制。建议同时显示的曲线不超过 5 条,否则画面会显得杂乱。

Q导数是怎么算出来的?
A

使用数值中心差分:f′(x) ≈ (f(x+h) − f(x−h)) / (2h),h 自适应选取。这种方法对任何"能算出函数值"的表达式都有效,不需要像符号微分那样套用求导法则。代价是有微小的截断误差,对光滑函数约 8-10 位有效数字。

Q为什么我用 sin(30) 算出来不是 0.5?
A

因为本工具(以及所有标准数学软件)默认使用弧度制。30 是弧度而不是角度。要表达 30°,请写成 sin(30*pi/180)。弧度制下 sin 的导数才是 cos,公式才最简洁。

Q为什么图像在某个地方断开或消失?
A

通常是函数在该点无定义,例如 1/x 在 x=0、log(x) 在 x≤0、sqrt(x) 在 x<0。绘图器会把这些点跳过,于是出现视觉上的断点。这不是错误,而是定义域的真实反映。

Q如何找到两条曲线的交点?
A

把两条曲线 f(x) 与 g(x) 同时画出来,目测交点的大致 x;然后新增一条曲线 f(x) − g(x),它与 x 轴的交点就是原两条曲线的交点。要更精确,可滚动放大局部,或把 f(x) − g(x) 复制到方程求解器中用二分法求根。

Q为什么 |x| 在 x=0 处的导数看起来是 0?
A

|x| 在 x=0 处的左导数是 −1、右导数是 +1,数学上导数不存在。但中心差分 (f(h)−f(−h))/(2h) 恰好在该点等于 0,于是数值方法"骗"了你。这是数值导数对不可微点的固有局限,不是工具的 bug。

Q能画分段函数吗?
A

可以借助 min、max 与 abs 拼凑。例如 max(0, x) 是 ReLU;abs(x) 是绝对值;min(max(x, 0), 1) 是把 x 截断到 [0,1]。虽然不能写 if/else,但用这些函数能覆盖大部分常见分段形状。

Q如何让曲线更平滑?
A

本工具按等间距采样连接成折线,对变化平缓的函数已经足够光滑。若曲线显得粗糙,说明函数在你的窗口内变化太快——把窗口缩小,或换更"温和"的表达式。对 sin(1/x) 这类在奇点附近无限振荡的函数,任何有限采样都无法完美呈现。

Q图像和函数会被上传到服务器吗?
A

不会。整个解析器、求值器、绘图器都运行在你的浏览器中,函数表达式从未离开你的设备。你甚至可以断网后继续使用——只要页面已加载。

Q为什么 sin(x) 的导数曲线恰好是 cos(x)?
A

这是微积分中最优美的恒等式之一。直观地看:sin 在 0 处上升最快(斜率 = 1 = cos(0)),在 π/2 处达到顶点(斜率 = 0 = cos(π/2)),之后开始下降(斜率为负)。把"每一点的斜率"连成曲线,形状恰好就是 cos(x)。打开导数开关画一遍,你会亲眼看到这件事。