⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m5_3.m

📁 matlab 相关的数值积分 例如高斯积分 龙贝格积分等等 可参考。
💻 M
字号:
%%%%%%%%%  Gauss Quadrature  %%%%%%%%%%%%%%
fprintf('Orders of the quadratures available are :n=2,3,4,5\n');
n=input('input n:');
while n>5|n==1
    fprintf('\n warn: n=2,3,4,5\n');
    n=input('input n:');
    if n>=2&n<=5 break;end
end

a=input('Lower limit:');
b=input('Upper limit:');

%%%%%%%%%%%%%%%  高斯节点  %%%%%%%%%%%%%%%%%%%%
a_{2}=[0.5773503  -0.5773503];
a_{3}=[-0.774596669  0  0.774596669];
a_{4}=[-0.861136312  -0.339981043  0.339981043 0.861136312];
a_{5}=[-0.9061798416  -0.538469310  0  0.538469310  0.9061798416];

%%%%%%%%%%%%%%%  高斯系数  %%%%%%%%%%%%%%%%%%%%
b_{2}=[1 1];
b_{3}=[0.555555556 0.888888889   0.555555556];
b_{4}=[0.347854845  0.652145155  0.652145155  0.347854845];
b_{5}=[0.236926885  0.4786828670  0.568888889  0.4786828670  0.236926885];

I=ones(1,n);
x=((b-a)*a_{n}+a*I+b*I)/2;
y=f(x);
Result=(b-a)/2*(sum(b_{n}.*y));

%%%%%%%%%%%%%%%%%  结果输出  %%%%%%%%%%%%%%%%%%%%%
fprintf('\n---------------------------------------------------------\n');
fprintf(' n          x              f(x)              w        \n');
fprintf('---------------------------------------------------------\n');

for i=1:n
     fprintf(' %d   %12.5f     %12.5f    %12.5f \n',i,x(i),y(i),b_{n}(i));
end

fprintf('---------------------------------------------------------\n');
fprintf('Result    I=%6.5f',Result);
fprintf('\n---------------------------------------------------------\n');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -