最近看到一篇将Chatgpt和MATLAB结合起来的研究,居然发在了中科院一区TOP期刊Computers and Geotechnics上!
这篇文章首次提出了一个将ChatGPT与MATLAB相结合的框架,用于解决岩土工程中的数值建模问题。研究探讨了ChatGPT在生成MATLAB代码以解决特定工程问题(如渗流分析、边坡稳定性分析和相位分割图像分析)方面的潜力。
ChatGPT 在基于MATLAB的问题求解中的作用可归纳为如下几种
二维渗流分析:
研究者利用ChatGPT生成了用于模拟围绕挡土板渗流的MATLAB代码。研究人员首先通过描述问题的几何形状、初始条件和边界条件来向ChatGPT提问。生成的代码经过执行后,研究者通过进一步的提示进行修正,最终将结果与商业软件(GeoStudio SEEP/W)进行对比。通过多次迭代提示,ChatGPT生成的代码得出了准确的结果,如图1和图2中的对比所示。
图1:岩土工程中存在问题的场景示意图:板桩周围的二维渗流分析
图2:在相同的几何和边界条件下,由 ChatGPT 通过第一次试验生成的 MATLAB 代码分析的流网(a)与 GeoStudio SEEP/W 分析的基准结果(b)之间的比较。
边坡稳定性分析: ChatGPT被用于生成基于Fellenius方法的边坡稳定性分析MATLAB代码。生成的代码计算了基于土壤属性和边坡几何形状的安全系数(FS)。输出结果随后与GeoStudio SLOPE/W的结果进行了验证。问题描述如图3所示,具体的修正步骤则展示在图4和图5中。
图3:利用费勒尼乌斯切片法进行二维斜坡稳定性分析
图4:向 ChatGPT 发送的用于创建计算 FS 的 MATLAB 函数的第一次试验提示(上框),以及从 ChatGPT 收到的相应 MATLAB 代码响应(下框)。
图5:(a)三种不同故障类型的分析域示意图,以及在第一次试验中使用 ChatGPT 提供的 MATLAB 代码计算 FS 的精度评估,并与 GeoStudio SLOPE/W 的结果进行比较。(b)ChatGPT 在第一次试验中创建的 MATLAB 函数中的三个错误导致了不正确的 FS 计算结果。
相位分割图像分析:
ChatGPT还帮助进行了部分饱和砂的X射线CT扫描图像处理。研究人员提供了基本的问题定义,ChatGPT生成了用于相位分割的MATLAB代码。初始代码采用了常规的阈值分割方法,后经过进一步提示引入了更先进的图像处理技术来提高分割的准确性,如图6以及图7和图8中的输出图像所示。
图6:通过图像处理对部分饱和砂 XCT 图像进行相位分割
图7:向 ChatGPT 发送的用于生成 MATLAB 代码以执行相位分割的第一次试验提示(上框),以及从 ChatGPT 收到的相应 MATLAB 代码响应(下图8:向 ChatGPT 发送的用于生成 MATLAB 代码以执行相位分割的第二次试验提示(上框),以及从 ChatGPT 收到的相应 MATLAB 代码响应(下框)。
主要成果总结如下
ChatGPT成功自动生成了用于解决复杂工程问题的MATLAB代码。
生成的结果与已建立的商业软件进行了验证,证明ChatGPT能够有效地生成代码并且减少了人为编码时的语法错误。
人类专家在指导和优化ChatGPT的输出过程中仍然是不可或缺的,确保了最终结果的准确性和相关性。
这个框架展示了将ChatGPT集成到岩土工程工作流程中的潜力,为未来的研究和实际应用提供了一个有前景的方向。