这是《The Numerical Solution of Integral Equations of the Second Kind》书上的例题代码实现,基于MATLAB来编写的,对应于这一篇的Python代码点击打开链接

本代码主要实现Fredholm integral equations of the second kind,方程如下: 
         lamda*x(t)-integrate(K(t,s)*x(s))ds=y(t),a=0<=t<=b,K(t,s)取exp(s*t) 
首先,我们给定两个精确解exp(-t)cos(t)和sqrt(t),求出其对应的y(t),然后再来反解x(t).更详细说明可

参见《The Numerical Solution of Integral Equations of the Second Kind》P30-34.

首先定义各种函数,保存为.m文件

第一步:定义核函数

function k=func_k(s,t)
k=exp(s*t); %k的表达式

第二步:定义给定的精确解x

function x=func_x(t)
x=exp(-t)*cos(t); %x的表达式

第三步:用精确解求出y

function y=func_y(x,k,a,b,lamda)
syms t s;
y=subs(lamda*x-int(x*k,t,a,b),t,s); % 用符号积分求出y的表达式,并统一y中的变量为s

第四步:求方程组的右端项(相当于Ax=b中的b)

function f=func_f(y,a,b,lamda,n)
syms s;
f=ones(n,1);
for i=1:nf(i)=int(y*s^(i-1),s,a,b); %这里用符号积分求y*s^(i-1)
end

第五步:求系数c

function c=solve_c(f,a,b,lamda,n) %
B=ones(n,n); %用于存放系数矩阵
for i=1:nfor j=1:nB(i,j)=-b^(i+j-1)/(factorial(j-1)*(i+j-1));endB(i,i)=lamda+B(i,i);
end
c=B\f; %求c,其为一个n维的向量
end

第六步:求xn

function xn=solve_xn(y,c,a,b,lamda,n)
syms t;
m=0;
for i=0:n-1m=m+c(i+1)*t^i/factorial(i);
end
xn=(y+m)/lamda;

第七步:求无穷范数

function E=err(x,xn,a,b)
syms s t;
tt=a:0.1:b;
E=vpa(norm(subs(subs(x-xn,s,t),t,tt),Inf),20); %取区间[a,b]中的离散点,求无穷范数

以上是定义好的函数,接下来再写一个主函数文件,然后运行此文件即可。以上的核函数,x函数等可以改成自己想要的!!!

clear
n=input('please input n:')
a=input('please input a:')
b=input('please input b:')
lamda=input('please input lamda:')
e=ones(n,1); %用来存误差
syms s t;
for i=1:nk=func_k(s,t);x=func_x(t);y=func_y(x,k,a,b,lamda);f=func_f(y,a,b,lamda,i);c=solve_c(f,a,b,lamda,i);xn=solve_xn(y,c,a,b,lamda,i);e(i)=err(x,xn,a,b);
end
e
if n==10figure(1)tt=a:0.1:b;plot(tt,vpa(subs(subs(x-xn,s,t),t,tt),20),'r--')xlabel('t'), ylabel('error')title('error,n=10,a=0,b=1,lamda=5')
end

运行结果我就不放上来了,因为这台电脑没有按MATLAB,o(╥﹏╥)o

Fredholm第二类积分方程的MATLAB代码实现(1)相关推荐

  1. java第二类斯特林数编程代码,Luogu1655 小朋友的球 (组合数学,第二类斯特林数,高精)...

    我bingoyes再高精用STL就饿死,死外边! string真的爽... 斯特林数模板题:\(S(n,m) = S(n-1,m-1)+S(n-1,m)*n\) #include #include # ...

  2. matlab线性相位滤波器设计,关于第二类线性相位滤波器问题分析

    线性相位滤波器是移动相位与频率成比例的滤波器,因此不改变波形而引入一常数延迟.线性相位滤波器是一个混合相位的滤波器,它按照与频率成正比地对频率分量作时移.因而在通常频带内相位移与频率的关系图是线性的, ...

  3. matlab差分迭代解决静电场边界问题(含第二类边界条件)

    matlab差分迭代解决静电场边界问题(含第二类边界条件) 相关链接:Matlab编程用迭代有限差分求电势分布https://blog.csdn.net/Mr_tea_milk/article/det ...

  4. “类EMD”算法分解后要怎样使用(1)——内涵模态分量IMF的方差贡献率、平均周期、相关系数的计算及MATLAB代码实现

    之前我们有了十几篇文章讲述了EMD算法的基础理论.IMF的含义.EMD的MATLAB实现方法,EEMD.CEEMD.CEEMDAN.VMD.ICEEMDAN.LMD.EWT的理论及代码实现,还讲到了H ...

  5. MATLAB代码:电动汽车需求响应虚拟电厂 参考文档:《计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型》

    MATLAB代码:电动汽车需求响应虚拟电厂 关键词:电动汽车:需求响应:虚拟电厂:竞标策略:多类电力市场 参考文档:<计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型> 仿真平台:M ...

  6. MATLAB代码:含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度 计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型

    MATLAB代码:含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度 关键词:需求响应 空调负荷 电动汽车 微网优化调度 虚拟电厂调度 参考文档: <计及电动汽车和需求响应的多类电力市场下虚拟 ...

  7. matlab 第二类边界条件,第二类边界条件.ppt

    第二类边界条件 弦的横振动方程 * 回顾 1.Delta函数及其性质 2.Laplace变换及其性质 3.Laplace变换的应用 (线性性质.位移性质.延迟性质.相似性质. 微分性质.积分性质.卷积 ...

  8. matlab舍选抽样正态分布,采用第二类舍选抽样法产生标准正态分布

    <采用第二类舍选抽样法产生标准正态分布>由会员分享,可在线阅读,更多相关<采用第二类舍选抽样法产生标准正态分布(3页珍藏版)>请在人人文库网上搜索. 1.采用第二类舍选抽样法产 ...

  9. 数学建模常用方法 | matlab代码 | 二十三种数学建模方法 |2022赛前突击 |模型代码 |比赛比用、简单高效| 分享

    为是赛前突击,所以就不过多的介绍理论知识了,直接上案例,matlab代码 更加详细例题解析: 公众h:露露IT 目录 1.类比法 2.二分法 3.量纲分析法 4.图论法 5.差分法 6.变分法 7.数 ...

  10. k均值算法原理详细讲解以及matlab代码实现

    有研究生物电信号处理和机器学习的欢迎加我qq429500506共同交流学习进步. 最近更新文章的频率太低了,主要原因是不想为了发文章而发文章,想潜心研究,写好文章,顺便想说一句开源万岁,最近一个月虽然 ...

最新文章

  1. 用tar来备份Ubuntu操作系统
  2. 如何用计算机寒假计划表,寒假学习计划表
  3. so文件反编译_安卓攻防so模块自动化修复实战
  4. 阿里云Spark Shuffle的优化
  5. DNN结构演进History—CNN( 优化,LeNet, AlexNet )
  6. PHP中text里数字相加,excel文字数字如何混合求和
  7. 1262. 可被三整除的最大和(贪心||动态规划)
  8. 【Error-Android Studio】clang++: error: no such file or directory
  9. Android Studio中的APK分析器
  10. Android开发笔记(三十七)按钮类控件
  11. DYNAMIC_DOWNCAST STATIC_DOWNCAST IsKindOf
  12. Ubuntu系统---C++之Eclipse IDE 编译器安装
  13. Mac配置adb笔记,彻底解决zsh: command not found: adb问题
  14. Oracle下载及安装超详细教程
  15. 如何完全禁止win10自动更新(自动升级)
  16. “龙腾计划”启动!邀请 500 家企业加入,与龙蜥社区一起拥抱无限生态
  17. Sumatra PDF阅读器之 Sumatra PDF 高级设置
  18. 有个程序猿很忧桑:一个命令rm -rf/ ,他把整个公司删没了
  19. 《Unity 2018 AR与VR开发快速上手》简介
  20. 业务常识:线上充值与掉单

热门文章

  1. 国内nodejs下载网站
  2. 易语言取MySQL错误代码,易语言中“取错误码”命令详解
  3. 人工智能__一种现代方法 绪论导读
  4. 恩智浦智能车竞赛摄像头相关组入门
  5. 【存储测试】vdbench存储性能测试工具
  6. Android 基于x5Webview 浏览文件 office文档
  7. 招商银行网络科技笔试
  8. grubbs准则 matlab_MATLAB-格拉布斯准则(MATLAB-Grubbs criterion)_0
  9. HTTP协议原理与代码实践之大纲
  10. 2020美赛F奖论文(三):足球团队指标和基于机器学习的球队表现预测