MATLAB实现高斯曲线拟合

MATLAB实现高斯曲线拟合

完成某次课程任务,在MATLAB中新建一个m文件,将下列代码复制,或者直接复制到命令栏回车即可使用

x=[0:0.1:10];%0—10每次加0.1,共101个点
y=50*exp(-(x-5).^2./2);%x,y为初始函数值表现为红线
x=x';%因为拟合曲线时需要列向量
y=y';
y0=1*randn(1,101);%添加噪声//形成1行101列随机数
y0=y0';%y1为添加噪声后的函数,表现为点
y1=y+y0;%加上噪声后的函数值
Mytype=fittype('A*exp(-(x-u)^2/(2*d^2))');%需要拟合的函数类型
[cf ,gof]=fit(x(:),y1(:),Mytype)%fit函数
xi=0:0.1:10;
yi=cf.A*exp(-(xi-cf.u).^2/(2*cf.d^2));%xi,yi为拟合后的函数
plot(x,y1,'g.');%加噪声的函数为绿色的点
hold on;
plot(xi,yi,'r');%拟合后的曲线为红色的线
plot(x,y,'b');%拟合前的标准曲线为蓝色的线

在这里插入图片描述

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值