数值分析-Legendre正交多项式 实现函数逼近

一个定义在区间[-1  1]上的连续函数,我们可以把他展开成勒让德级数,也就是说我们可以通过勒让德级数来逼近一个函数。本文参考用书为丁丽娟 程杞元编著的 《数值计算方法》第二版,北京理工大学出版社,具体用到的公式见下图。下面还给出matlab相应代码,matlab2016a可以运行,matlab2012也测试成功,matlab2008绿色版测试失败。

%名称:Legendre正交多项式函数逼近
%版本:V2.0C
%日期:2016.11.20
%说明:
%       y:  已知函数            (x^2) (二次函数)
%       k: 逼近已知函数所需项数 (6)   (6次逼近)  
%       x0: 逼近点的x坐标
%备注:解决V1.0T中精度问题(公式6-9)
%作者:冰三点水

function f=Legendre(y,k,x0)

syms t ;        %系统变量
P(1:k+1)=t;     %Legendre函数初始化
P(1)=1;         %第一级初始化    P152-(6-7)
P(2)=t;         %第二级初始化    P152-(6-7)
c(1:k+1)=0.0;   %正则方程组解初始化
c(1)=int(subs(y,findsym(sym(y)),sym( 't' )) *P(1), t, -1, 1)/2;     %正则方程组解1    P157-(6-35)
c(2)=3*int(subs(y,findsym(sym(y)),sym( 't' )) *P(2), t, -1, 1)/2;   %正则方程组解2    P157-(6-35)

f=c(1)+c(2)*t;  %逼近多项式初始化    P157-(6-36)

%递推求解
for i=3:k+1
    P(i)=((2*i-3)*P(i-1)*t-(i-2)*P(i-2))/(i-1);                     %递推公式       P153-(6-20)
    c(i)=(2*i-1)*int(subs(y,findsym(sym(y)),t)*P(i),t,-1,1)/2;      %正则方程组解   P157-(6-35)
    f=f+c(i)*P(i);              %更新逼近多项式                
    if (i==k+1)
        if (nargin==3)          %输入参数个数为三
            f=subs(f, 't' ,x0); %输出多项式在x0的值
        else
            f=vpa(f,4);         %对逼近值f 取六位有效数字
        end
    end
end

% 测试命令1
% f=Legendre('3*x^2+2*x+1',6)
% f=Legendre('3*x^2+2*x+1',6, 0.5)

% 测试命令2
% f=Legendre('x^3-1',6)
% f=Legendre('x^3-1',6, 0.5)

冰三点水

16年12月18于天津

数值分析-Legendre正交多项式 实现函数逼近相关推荐

  1. 数值计算(六)——函数逼近 (2)正交多项式多项式和最小二乘法

    正交多项式 上一节中我们学会了最佳一致逼近和平方逼近的方式求解函数逼近多项式,但是发现在求解法方程时,多元方程求解难度较大,如果我们能够将对应的法方法的矩阵直接变为只有对角线元素不为零的矩阵,将极大降 ...

  2. 【数理知识】《数值分析》李庆扬老师-第3章-函数逼近与快速傅里叶变换

    第2章 回到目录 第4章 第3章-函数逼近与快速傅里叶变换 3.1 函数逼近的基本概念 3.2 正交多项式 3.3 最佳平方逼近 3.4 曲线拟合的最小二乘法 3.5 有利逼近 3.6 三角多项式逼近 ...

  3. matlab实现线性函数逼近,1基于MATLAB的科学计算—函数逼近1.doc

    1基于MATLAB的科学计算-函数逼近1 数值分析-最佳逼近 ━基于MATLAB的实现与分析 §1 引 言 所谓函数最佳逼近就是从指定的一类简单的函数中寻找一个和给定的函数"最贴近" ...

  4. 给定一个函数做其最佳平方逼近c语言,第三章 函数逼近 — 最佳平方逼近.

    第三章 函数逼近 - 最佳平方逼近 内容提要 最佳平方逼近 最佳平方逼近函数.多项式 利用正交多项式计算最佳平方逼近多项式 Chebyshev 级数与最佳一致逼近 最佳平方逼近 什么是最佳平方逼近 设 ...

  5. 函数逼近和曲线拟合、插值

    因为精力有限加上涉及的内容太多,无法一次性写完,后续会持续更新~ 文章目录 前言 一.函数逼近 1.背景 2.定义 2.相关知识 3.适用情况 4.函数逼近 二.万能逼近定理 1.定义 2.Weier ...

  6. TensorFlow实现多层感知机函数逼近

    TensorFlow实现多层感知机函数逼近 准备工作 对于函数逼近,这里的损失函数是 MSE.输入应该归一化,隐藏层是 ReLU,输出层最好是 Sigmoid. 下面是如何使用 MLP 进行函数逼近的 ...

  7. 相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?答案在这...

    来源:机器之心 本文约2400字,建议阅读10分钟其实,针对不同类型的任务,我们可以有选择性地使用傅里叶变换或神经网络. 函数逼近(function approximation)是函数论的一个重要组成 ...

  8. 相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?

    ©作者 | 杜伟.陈萍 来源 | 机器之心 其实,针对不同类型的任务,我们可以有选择性地使用傅里叶变换或神经网络. 函数逼近(function approximation)是函数论的一个重要组成部分, ...

  9. Tensorflow实现多层感知函数逼近

    #1:导入需要用到的模块 import tensorflow as tf import tensorflow.contrib.layers as layers from sklearn import ...

最新文章

  1. ViewPager+RadioGroup实现标题栏切换,Fragment切换
  2. 十一、Android学习第十天——项目开始(转)
  3. linux系统解决boot空间不足
  4. Hadoop3.0的新特性
  5. 计算机专业410分能上哪些大学,2021年高考410分能报什么学校
  6. ES6-使用let关键字定义变量
  7. .net MVC Model
  8. python爬取歌词_利用Python网络爬虫抓取网易云音乐歌词
  9. 高光谱成像技术在茶叶中的应用研究进展
  10. Java获取程序或项目路径的常用方法
  11. OpenGL摄像机(Look At矩阵)
  12. DDS、openDDS和fast DDS介绍
  13. java 使用subList痛彻心扉的领悟
  14. 房子、高薪、股权:3C企业为留人才拼福利
  15. “春城”昆明郁金香盛开 万紫千红引游人
  16. 虚幻4混合空间动画蓝图
  17. 民事诉讼过程中的一些笔记
  18. 国际经济合作知识点归纳
  19. oracle的faq,ORACLE之常用FAQ V1.0
  20. 为什么fflush(stdin)用了并不能清除缓冲区

热门文章

  1. C# OpencvSharp报错
  2. 浪潮n系列服务器指示灯_浪潮服务器系统故障指示灯按键做什么用的
  3. setsockopt函数
  4. 杭州国际服装城导航地图
  5. 对我影响最大的4句名言
  6. SUN公司还真有创意
  7. 准确率(Auccary),精确率(Precision),召回率(Recall),F1,ROC,AUC说明
  8. 快速幂+等比数列求和取模
  9. 函数练习220216
  10. 51单片机STC89C52点亮一个LED(IO口的位操作)