IE盒子

搜索
查看: 128|回复: 0

连小学数学题都做错,ChatGPT仍是学习数学的大杀器

[复制链接]

4

主题

13

帖子

25

积分

新手上路

Rank: 1

积分
25
发表于 2023-3-10 20:09:45 | 显示全部楼层 |阅读模式
截止目前,我们可以发现ChatGPT在做一些基础的公式化简时,经常出错,即便是一些小学数学题,它都不会做,这也难怪让很多人觉得它的数学能力很差。不过这并非是不能解决的问题,毕竟“未来可期”ChatGPT应该会升级进化。
怎样用ChatGPT做数学题

先抛开公式化简类的题目先不谈(后面有解决办法),ChatGPT有着强大的文本理解和生成能力,即便是一些逻辑十分复杂的数学题,也能处理。不过要想让ChatGPT愉快地处理带有数学公式和符号的题目,则需要先转成Latex,这里推荐一款软件Mathpix。



Mathpix支持各种终端设备

Mathpix有手机版、PC版,也有Chrome插件版,它可以通过拍照(手机版)或截屏就能将照片、PDF、网页等文件里的数学公式转为Latex,即使是手写的数学公式也可以。
很多数学题目的结构很复杂,如公式、符号、选项,标点等等都是混杂在一起的,如果是手动输入,效率就太低了,使用Mathpix可以一键复制,然后直接就可以把Latex形式的数学题目整个地复制粘贴给ChatGPT,ChatGPT就能读得懂并作答了。



Mathpix可以通过截屏的方式将公式转为Latex



即便是复杂的选择题也不在话下



Latex处理数学题

显示Latex公式的方法

从上图我们可以看到,网页会对块级Latex数学公式进行解析,但是部分内联的Latex公式却没有解析(对照下面的文字和上图就可以了解):
对于 $f\left(x+1, e^x\right)=x(x+1)^2$,可以对 $x$ 进行求导这里推荐Chrome的插件TeX All the Things,它可以把内联的Latex和块级Latex都解析成数学公式,不过体验不是很好。
同时也推荐VSCode的一个插件Markdown Math,可以把Latex粘贴到Markdown里,通过预览的方式就能显示整个公式了,以下是VSCode安装了Markdown Math之后的预览效果



Markdown Math让Latex通过Markdown预览显示公式

ChatGPT与编程语言

ChatGPT对数学的学习和教育帮助最大的地方并不只在于它有强大的讲解数学概念以及解题的能力,而是它能够与一些常用数学编程语言相结合。
在数学教育中,经常使用到以下几种编程语言,其中Python和MATLAB是最常用的数学教育编程语言,而R语言和Julia也因在数学和数据科学领域的应用逐渐增加也越来越受到关注。

  • Python:Python是一种通用编程语言,但由于其简单易学的语法和强大的科学计算库,它在数学教育中广泛使用。Python的NumPy库和Matplotlib库提供了用于数值计算、线性代数和绘图的工具,而SciPy库和SymPy库提供了用于科学计算和符号计算的高级功能。
  • MATLAB:MATLAB是一种流行的数学软件,它提供了强大的数值计算、可视化和编程功能,特别适合用于线性代数、微积分和数值分析等方面的数学教育。
  • R语言:R语言是一种用于数据分析和统计建模的编程语言,它也被广泛应用于数学教育中。R语言提供了用于数据可视化、统计分析和机器学习等领域的丰富工具集。
  • Julia:Julia是一种相对较新的编程语言,它专为科学计算而设计。Julia语言的优点在于其快速的执行速度和易于编写高性能代码的语法,使得它在数学教育中也越来越受到关注。
我们可以通过对话,给ChatGPT“下命令”,让ChatGPT来写这些编程语言的完整代码从而来解决数学问题。比如前面我们所说的公式化简的问题,就可以让符号计算软件来处理,比如Python的Sympy就能进行符号计算。
符号计算软件是指一类可以进行符号计算的计算机程序,它们可以对数学表达式、方程、函数、矩阵等符号对象进行代数运算、求解、化简、微积分、数值计算等操作。这里的符号指的是数学符号,如加号、减号、乘号、除号、括号、幂指数等等,以及各种数学函数、变量和常量。符号计算软件的主要目标是提供高效、准确、全面的符号计算能力,以便于数学研究、数学教学、工程计算、科学研究等各种领域的应用。
与符号计算相对应的是数值计算,数值计算是指对数学对象进行数值近似计算的过程。与符号计算不同,数值计算通常需要进行数值逼近、误差分析、数值稳定性等方面的考虑,以确保计算结果的正确性和可靠性。符号计算和数值计算都是数学计算的重要分支,两者相互补充,常常在实际应用中结合起来使用,以提供全面的数学计算支持。
让ChatGPT调用Python解决数学问题

无论是Python、MATLAB、R还是Julia,ChatGPT都能写,这里以Python为例,看如何让ChatGPT写Python代码解决数学问题。



用Python的Sympy解决数学问题

由于这道题存在一定的公式化简,直接让ChatGPT来做,就大概率会出错,但是可以让ChatGPT写一个用Python的Spmpy包解决这个问题的完整代码,代码直接复制到本地,完全不用做任何修改,就能直接运行:



ChatGPT写的Python代码

Python写的完整代码如下,注释写得非常清楚,代码完全不需要改就能运行出结果:
import sympy as sp

# 定义符号变量
x = sp.Symbol('x')
y = sp.Symbol('y')
b = sp.Symbol('b')
c = sp.Symbol('c')

# 定义方程
eq1 = sp.Eq(y, 1/2*x**2 + b*x + c)
eq2 = sp.Eq(y, -1)
eq3 = sp.Eq(y, -3)

# 解方程,求出 b 和 c 的值
sol = sp.solve([eq1.subs(x,-2).subs(y,-1), eq1.subs(x,0).subs(y,-3)], [b, c])
b_val = sol
c_val = sol[c]

# 将 b 和 c 的值代入方程,得到简化后的函数
simplified_eq = eq1.subs([(b, b_val), (c, c_val)])
sp.pprint(simplified_eq)同样我们还可以让ChatGPT调用Python的matplotlib来画一些曲线的图表,这一点尤其是对数学教育而言,具有非常大的帮助。



ChatGPT具有卓越的写程序的能力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表