MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式
数 值 分 析 课 程 实 验 报 告
—学年度 第二学期
系别:数学与计算机科学学院
实验课程数值分析班 级10级数学与应用数学2班学 号05姓 名杜宁峰指导教师陈耀庚实验题目学习编写高斯-勒让德计算程序日 期 年 3月 27日实验原理MATLAB软件及高斯勒让德求积公式实验内容及具体步骤:
一、试验环境
计算机 MATLAB软件
二、实验目的
1利用MATLAB软件编写高斯-勒让德求积公式程序.
三、实验内容
1.建立function函数,在学习了高斯勒让德求积公式的基础上,结合MATLAB
软件编写程序。
2.结合课本122页表4-7检验程序。
四、试验步骤
1程序(1)
function g= GuassLegendre (a,b,n,m)
% a,b·?±eê??y·?μ?é????T£?
% n+1?a?úμ???êy£?
% mê?μ÷ó?f1.m?Dμú????±??yoˉêy£?
[A,x]=Guass1(n)
g=0;
for i=1:n+1
y(i)=(b-a)/2*x(i)+(a+b)/2;
f(i)=f1(m,y(i));
g=g+(b-a)/2*f(i)*A(i);
end
2程序(2)
function f=f1(i,x)
g(1)=sqrt(x);
if x==0
g(2)=1;
else
g(2)=sin(x)/x;
end
g(3)=4/(1+x^2);
f=g(i);
程序(3)
function [A,x]=Guass1(N)
i=N+1;
f=((sym('t'))^2-1)^i;
f=diff(f,i);
t=solve(f);
for j=1:i
for k=1:i
X(j,k)=t(k)^(j-1);
end
if mod(j,2)==0
B(j)=0;
else
B(j)=2/j;
end
end
X=inv(X);
for j=1:i
A(j)=0;
x(j)=0;
for k=1:i
A(j)=A(j)+X(j,k)*B(k);
x(j)=x(j)+t(j);
end
x(j)=x(j)/k;
end
五、运行结果
[A,x]=Guass1(2)
A =
0.8889 0.5556 0.5556
x =
0 0.7746 -0.7746
>>
>> [A,x]=Guass1(1)
A =
1 1
x =
0.5774 -0.5774
>> [A,x]=Guass1(4)
A =
0.5689 0.2369 0.4786 0.2369 0.4786
x =
0 0.9062 0.5385 -0.9062 -0.5385
>> [A,x]=Guass1(5)
如果觉得《matlab中求积函数 MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...》对你有帮助,请点赞、收藏,并留下你的观点哦!