📄 m5_3.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 + -