首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >幂函数拟合报错及解决办法

幂函数拟合报错及解决办法

作者头像
联远智维
发布2022-01-20 14:03:38
发布2022-01-20 14:03:38
9580
举报
文章被收录于专栏:联远智维联远智维

问题描述

采用MATLAB、Python对数据拟合时(函数形式如y=1-c*exp(k*x^t)),程序有时能够完美运行,给出你想要的结果,然而有时候竟然报错,运行不出结果,或者给出的结果明显不对,让你时常怀疑电脑是不是中病毒了,😅,为什么交给电脑同样的任务(拟合求参数),电脑还需要根据自身心情来决定是否给你想要的结果?

昨天,硕士好友王博士同样也遇见这个问题,现分析其具体原因?于此同时,针对疲劳裂纹扩展具体的工程问题,对最小二乘法拟合(疲劳裂纹扩展速率以及应力强度因子)实验数据的基本过程进行简要介绍,具体如下:

拟合结果明显有问题:图中黑色点点为数据点,蓝色为MATLAB工具箱拟合结果

解决办法有:

修改初始点位置,限制指数 n 的范围可以大大改善该问题

添加方程参数(还未能解释为何添加的参数会改善拟合效果,甚至最后发现添加的参数对拟合函数值基本没影响)

附录:特定问题采用最小二乘法拟合的基本过程

基于线弹性断裂力学,Paris等学者将疲劳裂纹扩展速率da/dN与裂纹尖端的应力强度因子幅值ΔK联系了起来,例如著名的Walker模型形式为:

其中,m、b和Cf是需要确定的模型参数,根据实验数据确定模型参数的基本过程为:

对方程两边取对数可得:

定义如下参数:

方程左右两边误差的平方和 I 可以定义为:

其中 n 是试验数据数,根据最小二乘法定义,误差的平方和 I 取最小值时,下式成立:

即:

进而可以求解方程组得到参数u, v和w,实现实验数据的拟合。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 轻量化结构分析与设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档