%用离散正交多项式求三次拟合多项式

% x,y--表示原始数据的节点坐标

% w--表示权重系数

% N--表示要拟合的离散正交多项式的最高次数

% polyapproximate()--是自定义函数,可以求解多项式的系数

% 其返回值c为多项式系数,error为偏差平方和

x=[0 0.2 0.6 1.0 1.3 1.6 1.7 1.8 1.9 2.2 2.3 2.5 2.6 2.9 3.1 3.4 3.8 4.1 4.4 4.7 4.8 4.9 5.0 5.1 5.3];

nn=length(x);

for i=1:nn

w(i)=1;

end

y=[0 -2.5 -4.0 -5.7 -3.5 -2.0 -1.0 2.0 3.5 4.0 7.0 7.5 9.9 10.9 11.9 13.5 13.0 11.9 9.0 6.5 4.0 1.5 0.0 -2.5 -5.0];

N=3;%此处可取3 or 4.

[c,error]=polyapproximate(x,y,w,N)

t=0:0.1:5.3;

u=polyval(c,t);

plot(t,u,x,y,'+')

%自定义函数polyapproximate(),用来做离散正交多项式拟合

% 此函数的作用是做不同次数的离散正交多项式的拟合

% X,Y 为原始数据的坐标值矩阵

% w 为权重系数

% N 为离散正交多项式的最高次数

function [C,E]=polyapproximate(X,Y,w,N)

M=length(X);

for i=1:N+1

for j=1:i

if j~=i

P(i,j)=0;

else

P(i,j)=1;

end

end

end

S=0;

d(1)=0;

for i=1:M

d(1)=d(1)+w(i);

S=S+w(i)*X(i);

end

AF(1)=S/d(1);

P(2,1)=-AF(1);

for i=1:M

PX(i,1)=1;

PX(i,2)=X(i)-AF(1);

end

BA(1)=0;

for k=2:N+1

S=0;

dd=0;

for i=1:M

S=S+w(i)*X(i)*PX(i,k)*PX(i,k);

dd=dd+w(i)*PX(i,k)*PX(i,k);

end

d(k)=dd;

AF(k)=S/d(k);

BA(k-1)=d(k)/d(k-1);

P(k+1,1)=-AF(k-1)*P(k,1)-BA(k-1)*P(k-1,1);

for i=1:k-1

j=k-i+1;

if j>=k

t=0;

else

t=P(k-1,j);

end

P(k+1,j)=P(k,j-1)-AF(k-1)*P(k,j)-BA(k-1)*t;

end

for i=1:M

PX(i,k+1)=PX(i,k)*(X(i)-AF(k-1))-BA(k-1)*PX(i,k-1);

end

end

d(N+1)=0;

for i=1:M

d(N+1)=d(N+1)+w(i)*PX(i,N+1)*PX(i,N+1);

end

for i=1:N+1

FM=0;

for k=1:M

FM=FM+w(k)*Y(k)*PX(k,i);

end

gp(i)=FM/d(i);

end

for i=1:N+1

C(i)=0;

for j=i:N+1

C(i)=C(i)+gp(j)*P(j,i);

end

end

C=flipud(C');

%C=C'

U=0;

for i=1:M

U=U+w(i)*Y(i)*Y(i);

end

V=0;

for k=1:N+1

V=V+gp(k)*gp(k)*d(k);

end

E=U-V;

离散正交的二次多项式matlab实现,月光软件站 - 编程文档 - 其他语言 - 用离散正交多项式求三次拟合多项式[MATLAB版本]...相关推荐

  1. php ftp 账号密码修改,月光软件站 - 编程文档 - 其他语言 - 用PHP即时添加,删除FTP帐号和更改FTP密码的函数...

    网上不知道有没有Serv-U FTP的接口,这类的资料,由于不知道Serv-U的加密方式,所以没有使用加密密码的方式,如果有人知道算法,麻烦你告诉我一声 $filepath是Serv-U的安装地址,$ ...

  2. mysql的结构化编程_月光软件站 - 编程文档 - 其他语言 - 结构化子查询:在mysql4.1中的应用...

    By Trudy Pelzer 翻译:guipei 随着mysql 4.1版的发布,现在有两种方法可以使用一个单独的查询从多个数据表中取得数据:使用连接(join)或者使用子查询(subquery). ...

  3. gdb arm linux 下载,月光软件站 - 编程文档 - 其他语言 - 关于ARM Linux下的GDBServer

    在一块ARM Linux 开发板上,我想用GDBServer进行Debug. 首先尝试PC机(安装Fedora Core 1)上自带的gdbserver, 启动gdbserver:gdbserver ...

  4. c代码实现 ifft运算_月光软件站 - 编程文档 - 其他语言 - 时间抽选基2FFT及IFFT算法C语言实现...

    正在学数字信号处理,感觉上学期信号与系统学得不扎实,因为当时只是死记公式,这学期数信老师提倡动手实践,觉得自己在编程中对公式理解得更加深刻了. 以下是我写的FFT,欢迎指教. /*时间抽选基2FFT及 ...

  5. php domino,月光软件站 - 编程文档 - 其他语言 - Domino 与 Apache PHP 的集成

    现在很多项目是php开发,php作为流行的开发语言,具有良好的性能 这篇文章就是介绍如何使domino与php集成在一起 Introduction People often ask whether i ...

  6. java textsharp,月光软件站 - 编程文档 - 其他语言 - 利用TextEditorControl控件现代码语法高亮显示...

    /********************************************************************************************** * 创建 ...

  7. 个人帐目管理系统java_月光软件站 - 编程文档 - Java - 实战EdaEagle——个人帐目管理系统(一)...

    实战EdaEagle--个人帐目管理系统(一) 作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 点击此出下载EdaEagle 点击此处下载个人帐目管理源码 EdaEagle,既 ...

  8. c语言1999国际标准,月光软件站 - 编程文档 - 软件工程 - C语言国际标准 ISO/IEC 9899:1999(E) 翻译(一):目录...

    1.概述 2.标准化参考 3.术语,定义和记号 4.一致性 5.环境 5.1概念模型 5.1.1翻译环境 5.1.2执行环境 5.2环境考虑 5.2.1字符集 5.2.2字符显示语义 5.2.3信号和 ...

  9. autocad java api_月光软件站 - 编程文档 - Java - 在java中实现 AutoCAD api

    因为在项目中需要从autoCAD 的dwg文件中提取标题框中的属性插入到数据库中实现图纸的批量入库. 一开始在网上搜索这方面的资料,其中有一些控件可以脱离autoCAD系统提取的,但都是要收费的.比如 ...

最新文章

  1. Java TreeMap 源码解析
  2. python2好还是python3好-Python 2 和 Python 3 有哪些主要区别?
  3. Docker 最佳实践
  4. ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
  5. Android应用程序绑定服务(bindService)的过程源代码分析
  6. .SpelEvaluationException: EL1008E: Property or field ‘cache_department_list_Tree‘ cannot be found
  7. ORA-00907:missing right parenthesis缺少右括号
  8. 《Reids 设计与实现》第十三章 Sentinel
  9. css样式优先级和权重问题
  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_6_练习_序列化集合...
  11. windows版redis安装教程
  12. 32位java8,jdk8下载,解压版
  13. 1分钟激活任意Windows 系统
  14. 无线局域网安全(一)———WEP加密
  15. 地表最强的GPT-3,是在推理,还是胡言乱语?
  16. 基于Android的百度地图定位开发
  17. 做自媒体视频剪辑为什么赚不到钱?
  18. 本地项目转git项目的详细操作方法
  19. 50天50个前端小项目(纯html+css+js)第十二天(FAQ 问题与回答框)
  20. C++无符号数比较大小

热门文章

  1. 【FPGA教程案例26】在FPGA中通过verilog来实现小数的基础运算
  2. 定义一个点(Point)的类,x和y分别为第一象限的像素点,输入一些这样的点,然后按照升序输出这些点集(比较x2+y2的大小)。
  3. 跟着陶哲轩一起学数学(二): 罗素悖论
  4. SQL中的CONSTRAINT(约束)用法总结
  5. 如何分辨MPEG2 AAC 跟MPEG4 AAC?
  6. TFTLCD原理及代码步骤
  7. 电子产品需要SRRC测试与认证?
  8. 操作系统实验一·创建进程
  9. 【工业互联网】工业互联网平台建设的四个基本问题
  10. Big O Notation