matlab切比雪夫拟合

matlab中没有切比雪夫拟合的现成算法,这里把我程序中的这部分抽出来,说一下。

1、首先是切比雪夫计算式

function [ res ] = ChebyShev(num,i)

if i==0
    res=1;
elseif i==1
    res=num;
else
    res=2*num*ChebyShev(num,i-1)-ChebyShev(num,i-2);
end

end

2、计算拟合系数

function [ coeff ] = ChebyCoeff( xfile,timefile )

x=load(xfile);
time=load(timefile);
B=zeros(length(time),11); %B
L=x;%L
sec_start=time(1);
sec_end=time(end);
for i=1:length(time)
     chang_sec=(2*time(i)-(sec_start+sec_end))/(sec_end-sec_start);
    for j=1:11
        B(i,j)=ChebyShev(chang_sec,j);
    end
end
coeff=(B‘*B)\(B‘*L);
end

3、根据系数计算拟合值

function [ res ] = ChebyValue( timefile,coeff,num )

res=0;
time=load(timefile);
change_time=(2*num-(time(1)+time(end)))/(time(end)-time(1));
for i=1:length(coeff)
    res=res+coeff(i)*ChebyShev(change_time,i);
end

end
时间: 2024-10-12 02:57:13

matlab切比雪夫拟合的相关文章

Matlab 最小二乘法拟合非线性函数

1.最小二乘原理 参考资料: 1.http://blog.csdn.net/lotus___/article/details/20546259 2.http://blog.sina.com.cn/s/blog_5404ea4f0101afth.html 2.matlab实现最小二乘法 利用matlab的最小二乘拟合函数对非线性函数进行拟合,具体地拟合的函数: [q r] = lsqcurvefit(fun, q_0, xdata, ydata);输入参数:fun:需要拟合的函数,假定有n个需要拟

MATLAB分布拟合工具箱distributionFitter

借助MATLAB(R2017b)分布拟合工具箱distributionFitter,我们可以快速地检查数据的分布. 可以进行非参数密度估计(核平滑方法)和参数密度估计(Beta分布.gamma分布.Normal分布等十几个常用的参数模型). 给出参数估计结果: Distribution: Generalized Extreme ValueLog likelihood: 17147.7Domain: -Inf < y < InfMean: 0.00159053Variance: 3.21144e

Matlab多项式拟合测试

x=0:0.2:4; %生成等差数列 rnd=rand(1,size(x,2))*5; %生成一组随机数 y=x.*x.*x+x.*x+6+rnd; %生成y=x^3+x^2+6函数在垂直方向5个尺度内的随机采样序列 b=polyfit(x,y,3); %计算多项式拟合参数 yy=polyval(b,x); %生成拟合后y函数的新值 hold on,plot(x,y,'o'),plot(x,yy); %hold开关打开用于画在同一张图上,前者画散点,后者话拟合曲线. [效果图]:

Matlab多项式拟合測试

x=0:0.2:4; %生成等差数列 rnd=rand(1,size(x,2))*5; %生成一组随机数 y=x.*x.*x+x.*x+6+rnd; %生成y=x^3+x^2+6函数在垂直方向5个尺度内的随机採样序列 b=polyfit(x,y,3); %计算多项式拟合參数 yy=polyval(b,x); %生成拟合后y函数的新值 hold on,plot(x,y,'o'),plot(x,yy); %hold开关打开用于画在同一张图上,前者画散点,后者话拟合曲线. [效果图]:

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= polyfit (X,Y,3);% % x = 0:2:10;% y = polyval(P,x);% plot(x,y,X,Y,'r*');%% 指定函数拟合 x=[ 0;0.4;1.2; 2;2.8;3.6;4.4;5.2; 6;7.2; 8;9.2;10.4;11.6;12.4;13.6;14.4;1

最小二乘法拟合非线性函数及其Matlab/Excel 实现(转)

1.最小二乘原理 Matlab直接实现最小二乘法的示例: close x = 1:1:100; a = -1.5; b = -10; y = a*log(x)+b; yrand = y + 0.5*rand(1,size(y,2)); %%最小二乘拟合 xf=log(x); yf=yrand; xfa = [ones(1,size(xf,2));xf] w = inv(xfa*xfa')*xfa*yf';%直接拟合得到的结果 参考资料: 1.http://blog.csdn.net/lotus_

[matlab]曲线拟合(整理)

一.曲线拟合是要找到一条光滑曲线,使其最佳地拟合数据,该曲线不必经过数据点: 二.曲线拟合的内容: 1.光滑曲线的形式是怎么样:多项式模型?指数模型?其他函数模型 2.最佳拟合的概念: 常用的误差准则是误差平方和最小,也可以是最大误差最小准则,误差绝对值和等. 三.Matlab多项式拟合函数(指数拟合可以转换为多项式拟合来做,略): ployfit(x,y,n);   %返回值为多项式的各个系数 x  自变量 y  应变量 n  多项式阶数 polyval(P,xi);   %返回值为多项式在x

Matlab实现线性回归和逻辑回归: Linear Regression &amp; Logistic Regression

原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性回归.多参数线性回归和 逻辑回归的总结版.旨在帮助大家更好地理解回归,所以我在Matlab中分别对他们予以实现,在本文中由易到难地逐个介绍. 本讲内容: Matlab 实现各种回归函数 ========================= 基本模型 Y=θ0+θ1X1型---线性回归(直线拟合) 解决

matlab学习笔记第十章——曲线拟合

1.调用polyfit让MATLAB计算拟合数据的多项式的系数. y = mx + b,要求得m和b的值,我们可以使用一个称为polyfit(x, y, n)的MATLAB函数,其中n是我们要MATLAB求出的多项式的次数,对于y = mx + b形式的方程,我们把n设为等于1,因此调用的语句将是polyfit(x, y, 1). 2.可以使用find命令提问与数据有关的问题. 3.指数函数的拟合   w = log10y   z = x 然后用下面的形式进行数据拟合:w = p1z + p2.