编程语言
首页 > 编程语言> > 复化梯形公式公式求二重积分matlab源码

复化梯形公式公式求二重积分matlab源码

作者:互联网

复化梯形公式求二重积分matlab源码

这段代码具有很好的交互性和通用性,将代码复制到matlab编辑器之后,按照提示操作即可。傻瓜式操作,结果一目了然~

%%%%%%%%%%     2020.6.5        %%%%%%%%%
%%%%%%%%%%复化梯形公式求二重积分%%%%%%%%%
%%%%%%%%%%     Liu Deping      %%%%%%%%%
clear all;
%%%被积函数及积分上下限导入;
s=input('请输入函数表达式:f = ','s');
f=inline(s);
a = input('请输入积分变量x左边界a的值:');
b = input('请输入积分变量x右边界b的值:');
c = input('请输入积分变量y左边界c的值:');
d = input('请输入积分变量y右边界d的值:');
h1 = input('请输入积分变量x步长h1的值:');
h2 = input('请输入积分变量y步长h2的值:');
m=round((b-a)/h1);
n=round((d-c)/h2);
%%%系数矩阵T,t[i,j]为复化梯形公式的系数;
TT=zeros(m+1,n+1);
TT(1,1)=1;
TT(m+1,1)=1;
TT(1,n+1)=1;
TT(m+1,n+1)=1;
for i=2:m
    TT(i,1)=2;
    TT(i,n+1)=2;
end
for j=2:n
    TT(1,j)=2;
    TT(m+1,j)=2;
end
TT(TT==0)=4   %%系数表
 
%%%计算各二维节点函数值,并存放于矩阵F中;
F=zeros(m+1,n+1);
for i=0:m
    for j=0:n
      F(i+1,j+1)=f(a+i*h1,c+j*h2);    
    end
end 
 
%%%结果输出;
format long;
fprintf('各节点函数值;')
F
fprintf('复化梯形公式计算结果;')
Tnm=(b-a)*(d-c)/(4*m*n)*sum(sum(TT.*F))

之后还有辛普森公式求二重积分,希望喜欢的小伙伴持续关注篱落~~成殇~~

了解本专栏 订阅专栏 解锁全文

标签:公式,TT,复化,积分,input,源码,二重积分
来源: https://blog.csdn.net/m0_46498899/article/details/106616597