专栏
标签
转变区域用tanh函数拟合结果画出来是一维线性函数,为什么?
技术分享
发布于 2025-07-15 11:45:34
查看 1过去348天

问题现象

image.png

解决方法

由于tanh的函数特性、示例数据中的数据点和代码中的函数参数影响,需要通过调参或改动数据等方式再拟合。
修改startpt=[1e-8, minimum(data[13:28,1]),0,-0.05])参数为1e-7

using TyBase
using TyPlot
using TyCurveFitting
data=load("single_transition.txt")
ft = fittype("k*tanh(2*(x-b)*pi/a)+c",independent="x",coefficients=["a","b","c","k"])
opt = fitoptions(ft;lb=[0,1.70e-5,-Inf,-Inf],ub=[Inf,1.80e-5,Inf,0],startpt=[1e-7, minimum(data[13:28,1]),0,-0.05])
curve2 = fit(ft, data[13:28,1], data[13:28,2]; options=opt)
figure("transition拟合")
plot(data[13:28,1], data[13:28,2], "o")
hold("on")
xlabel("x pos/m")
ylabel("magnetization")
plotfit(curve2, "b")
hold("off")

image.png

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天