《MATLAB程序设计实践》课程作业

一、用MATLAB编程实现“帕德逼近”的科学计算算法,及举例应用。

1)帕德逼近算法说明如下:

帕德逼近是一种有理分式逼近,逼近公式如下:

大量实验表明,当L+M为常数时,取L=M,帕德逼近精确度最好,而且速度最快。此时,分子与分母中的系数可通过以下方式求解。

首先,求解线形方程Aq=b,得到(…)的值,其中

,,

然后,通过下式求出的值。

注意,函数的帕德逼近不一定存在。

在MATLAB中编程实现的帕德逼近法函数为:Pade。

功能:用帕德形式的有理分式逼近已知函数。

调用格式:f=Pade(y,n)或f=Pade(y,n,x0)。

其中,y为已知函数;

n为帕德有理分式的分母多项式的最高次数;

x0为逼近点的x坐标;

f为求得的帕德有理分式或在x0处的逼近值。

2)程序源代码如下:

①在m文件中编写实现函数的Pade逼近的代码如下:

function f=Pade(y,n,x0)

%用帕德形式的有理分式逼近已知函数

%已知函数:y

%帕德有理分式的分母多项式的最高次数:n

%逼近点的坐标:x0

%求得的帕德有理分式或在x0处的逼近值:f

syms t;

A=zeros(n,n);

q=zeros(n,1);

p=zeros(n+1,1);

b=zeros(n,1);

yy=0;

a(1:2*n)=0.0;

for(i=1:2*n)

yy=diff(sym(y),findsym(sym(y)),n);

a(i)=subs(sym(yy),findsym(sym(yy)),0.0)/factorial(i);

end;

for(i=1:n)

for(j=1:n)

A(i,j)=a(i+j-1);

end;

b(i,1)=-a(n+i);

end;

q=A\b;

p(1)=subs(sym(y),findsym(sym(y)),0.0);

for(i=1:n)

p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0);

for(j=2:i-1)

p(i+1)=p(i+1)+q(j)*a(i-j);

end

end

f_1=0;

f_2=1;

for(i=1:n+1)

f_1=f_1+p(i)*(t^(i-1));

end

for(i=1:n)

f_2=f_2+q(i)*(t^i);

end

if(nargin==3)

f=f_1/f_2;

f=subs(f,'t',x0);

else

f=f_1/f_2;

f=vpa(f,6);

end

3)算法实现流程图如下:

开始

开始

定义变量,输入:

定义变量,输入: syms t;

A=zeros(n,n);q=zeros(n,1);

p=zeros(n+1,1);b=zeros(n,1);

赋初始值,输入

赋初始值,输入

yy=0;a(1:2*n)=0.0

No开始循环判断

No

开始循环判断

i≤2n

Yes

Yes

yy=diff(sym(y),findsym(sym(y)),n);

yy=diff(sym(y),findsym(sym(y)),n);

a(i)=subs(sym(yy),findsym(sym(yy)),0.0)/factorial(i);

开始循环判断

开始循环判断

i≤n

No

No

Yes

Yes

No开始循环判断

No

开始循环判断

j≤n

q=A\b;

q=A\b;

p(1)=subs(sym(y),findsym(sym(y)),0.0);

b(i,1)=-a(n+i)Yes

b(i,1)=-a(n+i)

Yes

A(i,j)=a(i+j-1)

A(i,j)=a(i+j-1)

No开始循环判断

No

开始循环判断

j≤n

Yes

Yes

p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0)

p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0)

f_1=0;

f_1=0;

f_2=1;

No开始循环判断

No

开始循环判断

2≤j≤i-1

Yes

Yes

p(i+1)=p(i+1)+q(j)*a(i-j)

p(i+1)=p(i+1)+q(j)*a(i-j)

开始循环判断

开始循环判断

1≤j≤n+1

No

No

Yes

Yes

f_1=f_1+p(i)*(t^(i-1))

f_1=f_1+p(i)*(t^(i-1))

开始循环判断1

开始循环判断

1≤i≤n

No

No

Ye

帕德逼近matlab算法,帕德逼近算法.doc相关推荐

  1. matlab 求解最短路问题,matlab算法求解最短路问题.doc

    matlab算法求解最短路问题.doc 组合优化实验报告实验序号日期班级姓名学号实验名称最短路问题实验所用软件及版本MATLABR2008B1.实验目的1.掌握最短路问题的一种求解算法,并能编程实现该 ...

  2. 微分法MATLAB语言程序,MATLAB语言常用算法程序集 102MB 百度网盘

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x MATLAB语言常用算法程序集 102MB 百度网盘 点击进入 上篇 matlab基础 ...

  3. 【老生谈算法】matlab实现轮盘赌算法-Roulette——轮盘赌算法

    轮盘赌算法-Roulette-matlab版 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]轮盘赌算法matlab程序及介绍 ...

  4. 【老生谈算法】matlab实现LMS算法源码——LMS算法

    matlab的LMS算法详解 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab的LMS算法.doc 2.算法详解: ...

  5. 【老生谈算法】matlab实现图像拼接算法源码——图像拼接

    matlab图像拼接程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab图像拼接程序代码.doc 2.算法详解: ...

  6. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  7. c语言三元组稀疏矩阵的转置实验报告,稀疏矩阵三元组实现矩阵转置算法实验报告.doc...

    稀疏矩阵三元组实现矩阵转置算法实验报告.doc 1实验三稀疏矩阵的三元组表示实现矩阵转置算法学院专业班学号姓名一.实习目的1掌握稀疏矩阵的三元组顺序表存储表示:2掌握稀疏矩阵三元组表示的传统转置算法的 ...

  8. matlab在电力行业中的仿真技术-MATLAB基于EKF算法估计电动汽车蓄电池的SOC

    前言 关于本文的代码请参加,有兴趣的小伙伴可自行订阅. matlab电力系统仿真-MATLAB基于EKF算法估计电动汽车蓄电池的SOC 电动汽车(EV)是未来汽车的一大发展方向.动力锂电池组是电动汽车 ...

  9. ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性

    ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性 目录 输出结果 实现代码 输出结果 更新-- 实现代码 %RF:RF实现根据乳腺肿瘤特征 ...

最新文章

  1. 央行官员:强化虚拟货币监管 遏制境外发币行为
  2. 软中断amp;taskletamp;工作队列
  3. 通俗易懂!navicate如何导入MySQL数据库的.sql文件?
  4. 对SQL server、Oracle、MySQL和PostgreSQL进行OLTP性能测试(Benchmark)
  5. Objective-C语法快速参考
  6. OpenCV相机标定与畸变校正
  7. C# 绘制PDF图形——基本图形、自定义图形、色彩透明度
  8. 安卓 linux arm go,go arm、android版本
  9. 流程生产订单和离散生产订单的区别_离散式生产和流程式生产的区别
  10. sql server2008密钥
  11. c语言小车程序,循迹小车程序C语言
  12. GEE学习笔记3:Landsat8 植被指数计算
  13. 2014年上半年系统集成项目管理工程师真题解析(上午+下午)
  14. PHP+Mysql 实现数据库增删改查
  15. word刷子刷格式_【Word中格式刷】Word格式刷在哪里?Word格式刷用法大全!
  16. 三国演义人物出场次数统计
  17. 基于yolov3的水下目标检测(百度飞浆实现)
  18. realsense moveit生成octomap错误:‘Client [/move_group] wants topic /camera/color/image_raw to have dataty
  19. [linux虚拟机] 使用yum命令时,解析不了yum源,Cannot find a valid baseurl for repo: base/7/x86_6
  20. 2023银行校园招聘简历自我评价高分写法模板

热门文章

  1. php程序员学什么语言好就业_中高级PHP程序员应该掌握哪些技术?
  2. LCD液晶屏连接方式有哪些呢及各自优缺点是什么?
  3. 菜鸟学数据库——大话 char、varchar、 nchar、nvarchar之间剪不断理还乱的关系
  4. 解决关闭浏览器后再打开,访问网站仍然自动登陆的问题
  5. 802.11--802.11a协议
  6. linux服务篇-Nagios监控
  7. Python:NBA球员得分数据排行爬虫
  8. 比editplus好用的编辑器sublime text3
  9. Python3与SQLServer、Oracle、MySql的连接方法
  10. Excel制作四分位图