matlab的非线性拟合程序,MATLAB非线性拟合程序

云南大学数学与统计学实验教学中心实验报告

f6cc0af1ca3e4cccf96625028c5f747d.png

一、实验目的:对所给数据点进行函数拟合,并求得较为可靠的所需数值点。

二、实验内容:1.旧车价格问题。

2.设备能力与生产效率的关系。

三、实验环境:MATLAB。

四,实验方法:

1. 旧车价格问题:

先将因变量X和变量Y作出图形,通过观测图形,大概猜想其数据分布符合的函数走向,先用多项式函数拟合,得到相应的系数后观测,再对拟合函数做一定调整,最后对拟合出的函数的精准度做评估,并求出需要的节点处函数值。

2. 设备能力与生产效率的关系:

先通过对数据点作图,观测可能的拟合函数应该为f=ax+blog(x)+c的类型,所以建立相应的函数模型,并用所给的数据组进行计算拟合相关的系数,最后对拟合出的函数的精准度做评估,并求出需要的节点处函数值。

五、实验过程:

1.旧车价格问题:

通过计算思想书写并键入相应程序于MATLAB工作表中,我书写的程序为:(首先建立函数文件程序)

function f=jx_fun(x,t)

f=x(1)*(t.^4)+x(2)*(t.^3)+x(3)*(t.^2)+x(4)*t+x(5)*(cos(t).^2)+x(6)*cos(t)+x(7) (然后运行的拟合程序)

t=[1:6,8:10];

y=[2615 1943 1494 1087 765 538 290 226 204];

x0=[1 1 1 1 1 1 1];

x=lsqcurvefit('jx_fun',x0,t,y)

y1=jx_fun(x,t);

a=jx_fun(x,4.5)

plot(t,y1,t,y,'ko',4.5,a,'ro')

(调试并运行得到实验结果)

当前非线性拟合和多元拟合的工具较少,这是针对常用的拟合算法,开发的一款数据拟合为主的软件。包括线性拟合的各种算法,非线性拟合的各种算法,以及多元拟合的各种算法。其中提供了很多非线性方程的模型,以满足不同的需求,也可以制定自己所需要的指定非线性方程模型的,采用最先进的初始值估算算法,无需初始值就可以拟合自己想要的非线性方程模型各个模块的介绍如下。 1.线性拟合算法模块 根据最小二乘拟合算法,对输入的数据进行变量指定次方的拟合。同时可对自变量或因变量进行自然对数和常用对数的转换后再拟合。根据实际情况,开发了单调性拟合以针对各种定量分析的用途。同时开发了,针对一组数据,得到最高相关系数的自动拟合功能,由程序自动选择拟合次数以及自变量和因变量的数据格式。 2.非线性拟合算法模块 根据非线性方程的特点,开发了最先进的智能初始值估算算法,配合LM迭代算法,进行非线性方程的拟合。只需要输入自变量和因变量,就可以拟合出所需要的非线性方程。拟合相关系数高,方便快捷。并借助微粒群算法,开发了基于微粒群的智能非线性拟合算法,拟合出方程的相关系数相当高,甚至会出现过拟合现象。 3.多元拟合算法模块 根据最小二乘算法的原理开发了多元线性拟合算法,同时开发了能够指定变元次数的高次多元线性拟合。由于多元变量的情况下函数关系复杂,采用高次多元线性拟合能有效提高拟合效果而不会出现过拟合现象。同时针对每个变元可能最合适的拟合次数不一定都一样,开发了自适应高次多元拟合算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值