matlab 画非线性曲线,MATLAB实例:非线性曲线拟合

该博客介绍了如何使用MATLAB进行非线性曲线拟合,通过Lennard-Jones势函数和傅里叶函数展示了两种拟合方法。实验结果显示,Lennard-Jones势函数的参数A为0.00000003,B为0.00103726,傅里叶函数拟合得到的相关系数接近1,表明拟合效果良好。
摘要由CSDN通过智能技术生成

MATLAB实例:非线性曲线拟合

用最小二乘法拟合非线性曲线,给出两种方法:(1)指定非线性函数,(2)用傅里叶函数拟合曲线

1. MATLAB程序

clear

clc

xdata=[0.1732;0.1775;0.1819;0.1862;0.1905;0.1949;0.1992;0.2035;0.2079;0.2122;0.2165;0.2208;0.2252;0.2295;0.2338;0.2384];

ydata=[-3.41709;-4.90887;-6.09424;-6.95362;-7.63729;-8.12466;-8.37153;-8.55049;-8.61958;-8.65326;-8.60021;-8.52824;-8.43502;-8.32234;-8.20419;-8.04472];

%% 指定非线性函数拟合曲线

X0=[1 1];

[parameter,resnorm]=lsqcurvefit(@fun,X0,xdata,ydata); %指定拟合曲线

A=parameter(1);

B=parameter(2);

fprintf('拟合曲线Lennard-Jones势函数的参数A为:%.8f,B为:%.8f', A, B);

fit_y=fun(parameter,xdata);

figure(1)

plot(xdata,ydata,'r.')

hold on

plot(xdata,fit_y,'b-')

xlabel('r/nm');

ylabel('Fe-C Ec/eV');

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值