离散正交的二次多项式matlab实现,月光软件站 - 编程文档 - 其他语言 - 用离散正交多项式求三次拟合多项式[MATLAB版本]...
%用离散正交多项式求三次拟合多项式
% 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版本]...相关推荐
- php ftp 账号密码修改,月光软件站 - 编程文档 - 其他语言 - 用PHP即时添加,删除FTP帐号和更改FTP密码的函数...
网上不知道有没有Serv-U FTP的接口,这类的资料,由于不知道Serv-U的加密方式,所以没有使用加密密码的方式,如果有人知道算法,麻烦你告诉我一声 $filepath是Serv-U的安装地址,$ ...
- mysql的结构化编程_月光软件站 - 编程文档 - 其他语言 - 结构化子查询:在mysql4.1中的应用...
By Trudy Pelzer 翻译:guipei 随着mysql 4.1版的发布,现在有两种方法可以使用一个单独的查询从多个数据表中取得数据:使用连接(join)或者使用子查询(subquery). ...
- gdb arm linux 下载,月光软件站 - 编程文档 - 其他语言 - 关于ARM Linux下的GDBServer
在一块ARM Linux 开发板上,我想用GDBServer进行Debug. 首先尝试PC机(安装Fedora Core 1)上自带的gdbserver, 启动gdbserver:gdbserver ...
- c代码实现 ifft运算_月光软件站 - 编程文档 - 其他语言 - 时间抽选基2FFT及IFFT算法C语言实现...
正在学数字信号处理,感觉上学期信号与系统学得不扎实,因为当时只是死记公式,这学期数信老师提倡动手实践,觉得自己在编程中对公式理解得更加深刻了. 以下是我写的FFT,欢迎指教. /*时间抽选基2FFT及 ...
- php domino,月光软件站 - 编程文档 - 其他语言 - Domino 与 Apache PHP 的集成
现在很多项目是php开发,php作为流行的开发语言,具有良好的性能 这篇文章就是介绍如何使domino与php集成在一起 Introduction People often ask whether i ...
- java textsharp,月光软件站 - 编程文档 - 其他语言 - 利用TextEditorControl控件现代码语法高亮显示...
/********************************************************************************************** * 创建 ...
- 个人帐目管理系统java_月光软件站 - 编程文档 - Java - 实战EdaEagle——个人帐目管理系统(一)...
实战EdaEagle--个人帐目管理系统(一) 作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 点击此出下载EdaEagle 点击此处下载个人帐目管理源码 EdaEagle,既 ...
- 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信号和 ...
- autocad java api_月光软件站 - 编程文档 - Java - 在java中实现 AutoCAD api
因为在项目中需要从autoCAD 的dwg文件中提取标题框中的属性插入到数据库中实现图纸的批量入库. 一开始在网上搜索这方面的资料,其中有一些控件可以脱离autoCAD系统提取的,但都是要收费的.比如 ...
最新文章
- Java TreeMap 源码解析
- python2好还是python3好-Python 2 和 Python 3 有哪些主要区别?
- Docker 最佳实践
- ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
- Android应用程序绑定服务(bindService)的过程源代码分析
- .SpelEvaluationException: EL1008E: Property or field ‘cache_department_list_Tree‘ cannot be found
- ORA-00907:missing right parenthesis缺少右括号
- 《Reids 设计与实现》第十三章 Sentinel
- css样式优先级和权重问题
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_6_练习_序列化集合...
- windows版redis安装教程
- 32位java8,jdk8下载,解压版
- 1分钟激活任意Windows 系统
- 无线局域网安全(一)———WEP加密
- 地表最强的GPT-3,是在推理,还是胡言乱语?
- 基于Android的百度地图定位开发
- 做自媒体视频剪辑为什么赚不到钱?
- 本地项目转git项目的详细操作方法
- 50天50个前端小项目(纯html+css+js)第十二天(FAQ 问题与回答框)
- C++无符号数比较大小