Matlab线性拟合和非线性拟合
线性拟合
已知如下图像的x,y坐标,x = [1.0, 1.5, 2.0, 2.5, 3.0],y = [0.9, 1.7, 2.2, 2.6, 3.0],如何用一条直线去拟合下列散点?
代码:
x = [1.0, 1.5, 2.0, 2.5, 3.0]';
y = [0.9, 1.7, 2.2, 2.6, 3.0]';
a = polyfit(x,y,1) % a会返回两个值,[斜率,x=0时y的值]
xi = 1:0.1:3;
yi = polyval(a,xi);
plot(x,y,'o',xi,yi);
拟合后的图像如下:
非线性拟合
普通非线性拟合:已知如下图像的x,y坐标,x = [1.0, 1.5, 2.0, 2.5, 3.0],y = [0.9, 1.7, 2.2, 2.6, 3.0],如何用一条曲线a*x+b*sin(x)+c去拟合下列散点?
代码:
x = [1.0, 1.5, 2.0, 2.5, 3.0]';
y = [0.9, 1.7, 2.2, 2.6, 3.0]';
p = fittype('a*x+b*sin(x)+c');
f = fit(x,y,p) % f会返回a,b,c的值
plot(f,x,y);
指数非线性拟合:如何拟合1790-1900年美国人口指数增长模型
思路:
实现代码:
t = 1790:10:1900;
p = [3.9 5.3 7.2 9.6 ...12.9 17.1 23.2 31.4 ...38.6 50.2 62.9 76.0];
Y = log(p); % Y = log(p) 返回数组p中每个元素的自然对数ln(x)
X = t;
a = polyfit(X,Y,1)
x0 = exp(a(2)); r = a(1);
ti = 1790:1900;
pti= x0*exp(r*ti);
plot(t,p,'o',ti,pti,'m')
xlabel('Year')
ylabel('Population')
对数形式的非线性拟合:
%% 对数形式非线性回归
x = [1.5, 4.5, 7.5,10.5,13.5,16.5,19.5,22.5,25.5];
y = [7.0,4.8,3.6,3.1,2.7,2.5,2.4,2.3,2.2];
plot(x, y, '*', 'linewidth', 1) % 这里的linewidth指的是散点大小
m1 = @(b,x) b(1) + b(2)*log(x);
nonlinfit1 = fitnlm(x,y,m1,[0.01;0.01])
b = nonlinfit1.Coefficients.Estimate;
Y1 = b(1,1) + b(2,1)*log(x);
hold on
plot(x, Y1, '--k', 'linewidth',2)
Matlab线性拟合和非线性拟合相关推荐
- c++ 显示三维散点图_【无机纳米材料科研制图——OriginLab 0209】Origin散点图线性拟合与非线性拟合...
此篇,我们来分享对于散点图的线性拟合和非线性拟合. 一.线性拟合 1)绘制散点图. 如下图所示,我们随意编了一组数据,框选X.Y两列之后,点击Plot-->Symbol-->Scatter ...
- 最小二乘法详解(线性拟合与非线性拟合)
监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归.回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表 ...
- Java 使用 Apache commons-math3 线性拟合、非线性拟合实例(带效果图)
Java 使用 CommonsMath3 的线性和非线性拟合实例,带效果图 例子查看 GitHub Gitee 在线查看 运行src/main/java/org/wfw/chart/Main.java ...
- matlab线性拟合和非线性拟合,matlab多元非线性拟合
希望虫友能给与帮助 采用多元非线性回归: data.txt 168.7 202.9 145.9 12.1 142.0 206.4 ...
- MATLAB中用nlinfit做多元非线性拟合(回归)
MATLAB中有一个多元非线性拟合的功能是nlinfit 基本语法是: beta = nlinfit(X,Y,modelfun,beta0) 式子左边的beta可以是一个向量,向量的元素就是要回归的模 ...
- R语言非线性拟合之多项式回归
前面用了2篇推文,帮大家梳理了从线性拟合到非线性拟合的常用方法,包括多项式回归.分段回归.样条回归.限制性立方样条回归,以及它们之间的区别和联系,详情请看: 多项式回归和样条回归1 多项式回归和样条回 ...
- lsqcurvefit拟合结果为复数_非线性拟合怎么转化为线性拟合?
1. 前言 对于多项式函数,可以用最小二乘法求得精确的拟合结果,使得拟合函数具有全局最优的拟合误差:对于某些非线性函数,如指数函数 ,也可以对函数转化后,求得精确的拟合结果,如上述指数函数可转化为 , ...
- 数据拟合---使用自定义函数进行非线性拟合 -在Origin。matlab拟合工具箱cftool
在Origin中使用自定义函数进行非线性拟合 http://blog.163.com/wuhen211@126/blog/static/7474635020105233269949/ matlab拟合 ...
- 线性神经网络原理以及MATLAB算法实现权值拟合和可线性分类
前言 本章主要参考<MATLAB 神经网络原理与实例精讲 陈明等编著> 一.线性神经网络原理 一般来说,线性神经网络就是感知器的升级版,但相比于单层感知器,线性神经网络有很多的优点,其对比 ...
- Matlab对指定参数的曲线进行非线性拟合
Matlab拟合曲线的方式 Matlab拟合曲线的方式有很多种,有三次样条插值.线性插值.多项式拟合等等.多项式拟合由于函数由f(x)=anxn+an−1xn−1+...+a1x+a0f(x)=a_n ...
最新文章
- Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar
- position 再谈
- 初步了解中文编程工具易语言
- c语言 链表 删除节点,C语言实现单链表节点的删除(不带头结点)
- CoreOS上的Fleet,第二部分
- EasyUi之书籍功能(CRUD)
- ArcGIS中使用模型构建器快速计算图斑面积占比
- 一、简单刷题APP(题库是Excel)之项目功能和效果图
- 2009年三月全国计算机二级,2009年3月全国计算机二级考试Access真题(2)
- H264 帧格式 封装 传输
- 实现一个Android锁屏App的难点总结
- 【Python】迭代法求解非线性方程及方程组
- MTK_android11_以太网(内网)和WIFI(外网)共存
- Liferay Portal CVE-2020-7961
- R网格MIC与频繁项集
- linux系统locale的设定
- Exclusive-OR
- 微信小程序css篇----背景(Background)与颜色(Color)
- 7、基于STM32的智能风扇√★
- 软考__第17章 战略管理
热门文章
- 无线路由器的DNS服务器怎么设置,无线路由器DNS的设置方法
- Oracle错误——user ** lacks CREATE SESSION privilege logon denied
- 两年数据对比柱形图_【Excel技巧】制作柱形图图表完美呈现百分比,提升您的报表颜值...
- 制动计算机,一种基于摩擦制动的计算机主机底座
- Python中类的多继承
- 中文维基百科数据爬取与预处理
- session 失效 java.lang.IllegalStateException异常产生的原因及解决办法
- 安装cad提示command_win7系统安装CAD软件失败总是提示“错误1327”怎么解决
- 市场调查报告写作的基本要求
- 自制力差?!教你强迫自己学习