matlab的拟合函数polyfit()函数
matlab的多项式拟合:
polyfit()函数
功能:在最小二乘法意义之上,求解Y关于X的最佳的N次多项式函数。
clc;clear;
close all;
x=[ ];
y=[2.7 7.4 20.0 54.5 148.4];
r=corrcoef(x,y) ;%两个变量的相关系数
a=polyfit(x,y,)
x1=:0.1:;
P=polyval(a,x1);%a是多项式拟合后返回的系数
figure();hold on;plot(x,y,'r*',x1,P,'b-.');
注:a是返回的两次多项式的系数,返回结果是:14.3071 -51.9929 45.2000,这意味着拟合的多项式是:
y=45.2000+(-51.9929)*x+14.3071*x^2

clc;clear;
close all;
x=[ ];
y=[2.7 7.4 20.0 54.5 148.4];
r=corrcoef(x,y) ;
%a=polyfit(x,y,)
b=polyfit(x,y,)
c=polyfit(x,y,)
x1=:0.1:;
%Pa=polyval(a,x1);%a是多项式拟合后返回的系数
Pb=polyval(b,x1);%a是多项式拟合后返回的系数
Pc=polyval(c,x1);%a是多项式拟合后返回的系数
%figure();hold on;plot(x,y,'r*',x1,Pa,'b-.');
figure();hold on;plot(x,y,'r*',x1,Pb,'r-.');
figure();hold on;plot(x,y,'r*',x1,Pc,'g-.');

注:红色是三次拟合的结果。
绿色是四次拟合的结果。
例1:
clc;clear;
close all;
x=[ ];
y=[2.7 7.4 20.0 54.5 148.4];
r=corrcoef(x,y) ;
%a=polyfit(x,y,)
[b s]=polyfit(x,y,)
%c=polyfit(x,y,)
x1=:0.1:;
%Pa=polyval(a,x1);%a是多项式拟合后返回的系数
Pb=polyval(b,x1);%a是多项式拟合后返回的系数
%Pc=polyval(c,x1);%a是多项式拟合后返回的系数
%figure();hold on;plot(x,y,'r*',x1,Pa,'b-.');
figure();hold on;plot(x,y,'r*',x1,Pb,'r-.');
%figure();hold on;plot(x,y,'r*',x1,Pc,'g-.');
注:[b s]=polyfit(x,y,3) %这里返回的s是个结构体,s中的normr表示拟合的残差的二范。
以下例子的来源:https://blog.csdn.net/qq_33591755/article/details/82453757
有如下数据
|
时间t |
1900 |
1910 |
1920 |
1930 |
1940 |
1950 |
1960 |
1970 |
1980 |
1990 |
2000 |
|
人口y |
76 |
92 |
106 |
123 |
132 |
151 |
179 |
203 |
227 |
250 |
281 |
1. y与t的经验公式为 y = at^2 + bt + c
clear;
clf; %清除当前窗口
clc;
t = ::; %时间t
y = [ ]; %人口y plot(t,y,'k*');
hold on;
% figure; %重新开一个图
p1 = polyfit(t,y,);
h=polyval(p1, t);
plot(t, h);
axis([ ]); %图像xy轴范围 disp(char(['y=',poly2str(p1,'t')],['a=',num2str(p1()),' b=',...
num2str(p1()),' c=',num2str(p1())]));

2. y与t的经验公式为y = a e^(bt)
clear;
clf; %清除当前窗口
clc;
t = ::; %时间t
y = [ ]; %人口y
yy = log(y); %指数基尼必需的线性化变形
p2 = polyfit(t,yy,);
b = p2();
a = exp(p2());
y2 = a * exp(b*t); %指数拟合函数式
plot(t,y,'rp',t,y2,'k-');
grid off;
xlabel('时间t');
ylabel('人口数(百万)');
title('人口数据');

最佳拟合次数的确定:
clc;clear;
close all;
x=[ ];
y=[2.7 7.4 20.0 54.5 148.4];
for i=:
y2=polyfit(x,y,i);
Y=polyval(y2,x);%计算拟合函数在x处的值。
if sum((Y-y).^)<0.1
c=i
break;
end
end
matlab的拟合函数polyfit()函数的更多相关文章
- matlab多项式拟合以及指定函数拟合
clc;clear all;close all;%% 多项式拟合指令:% X = [1 2 3 4 5 6 7 8 9 ];% Y = [9 7 6 3 -1 2 5 7 20]; % P= poly ...
- matlab中的polyfit函数。
来源:https://blog.csdn.net/zhaluo0051/article/details/77949170 :https://blog.csdn.net/g28_gwf/article/ ...
- MATLAB相关快捷键以及常用函数
MATLAB快捷键大全 F1帮助 F2改名F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 ...
- MATLAB利用散点进行函数曲线拟合
原文:MATLAB利用散点进行函数曲线拟合 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/laobai1015/article/details/77 ...
- MATLAB中trapz和cumtrapz函数
这两个函数都是MATLAB中的内置函数,是基于梯形法则的数值积分公式 例如我们有函数y=x^3-2x-3,为了计算在[0,1]上的积分,可以这么做: 其中x和y分别是自变量和对应的值,trapz其实就 ...
- matlab 对图像操作的函数概览
转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...
- Matlab近期用到的函数(持续更新)
最近任务用到matlab较多,第一版的代码大部分对于矩阵类的计算都是用for循环来完成的,主要是思维还没有适应matlab.看了同事的一份代码后,现在遇到需要循环的地方第一反应就是如何能够用矩阵的直接 ...
- MATLAB中“repmat”与“cat”函数的用法
MATLAB中“repmat”与“cat”函数的用法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. repmat函数 >> z=re ...
- MATLAB算术运算符和常用函数
1 算术运算符 Matlab中的算术运算符按优先级由高到低为: (1) ^ 幂 (2) * 乘 / 右除(正常除) ...
随机推荐
- Synchronized实现原理及和Lock的区别
Synchronized 无锁,偏向锁,轻量级锁 ,重量级锁 偏向锁:对象头存储线程ID,可重入(根据线程ID判断) 轻量级锁:复制对象头到Lock Record 记录锁信息,拥有锁 复制的Lock ...
- [转帖]SpringBoot集成redisson分布式锁
SpringBoot集成redisson分布式锁 https://www.cnblogs.com/yangzhilong/p/7605807.html 前几天同事刚让增加上这一块东西. 百度查一下 啥 ...
- Ubuntu 中linux 编译错误的(-)
1.错误 compress.c:14:58: fatal error: zlib.h: No such file or directorycompilation terminated. 解决:sudo ...
- 图片url地址的生成获取方法
在写博客插入图片时,许多时候需要提供图片的url地址.作为菜鸡的我,自然是一脸懵逼.那么什么是所谓的url地址呢?又该如何获取图片的url地址呢? 首先来看一下度娘对url地址的解释:url是统一资源 ...
- 面试6 --- 当List<String> list =new ArrayList<String>(20); 他会扩容多少次
当List<String> list =new ArrayList<String>(20); 他会扩容多少次?A 0 B 1 C 2 D 3答案是A: 因为这个集合 ...
- 关闭 OSX 10.11 SIP (System Integrity Protection) 功能
关闭 OSX 10.11 SIP (System Integrity Protection) 功能 来源 https://cms.35g.tw/coding/%E9%97%9C%E9%96%89-os ...
- Ant Design Pro实现导出Excel
react Ant Design ProUI框架导出Excel(只能导出当前列表数据) 插件安装 npm install js-export-excel 安装完成之后开始引入 import Expor ...
- Git使用整理
[本文由水木桶首发于博客园,原文地址:https://www.cnblogs.com/shuimutong/p/11404664.html,未接允许,严禁转载] 背景 很久之前使用的是svn,直接在E ...
- UCOSIII时间片轮转调度
OS_RATE_HZ const OSCfg_TickRate_Hz = (OS_RATE_HZ )OS_CFG_TICK_RATE_HZ; #define OS_CFG_TICK_RATE_HZ 2 ...
- 制作IOS ANE的基本流程
来源:http://www.swfdiy.com/?p=1239 1. 使用xcode新建ios上的static library 工程 2. 从air sdk/include里拷贝flashrunti ...