MATLAB软件及高斯勒让德求积公式

  • 格式:doc
  • 大小:40.00 KB
  • 文档页数:5
数值分析课程实验报告
2012—2013学年度第二学期
系别:数学与计算机科学学院
实验课程
数值分析
班级
10级数学与应用数学2班
学号
05
姓名
杜宁峰
指导教师
陈耀庚
实验题目
学习编写高斯-勒让德计算程序
日期
2013年3月27日
实验原理
MATLAB软件及高斯勒让德求积公式
实验内容及具体步骤:
一、试验环境
计算机MATLAB软件
二、实验目的
1利用MATLAB软件编写高斯-勒让德求积公式程序.
三、实验内容
1.建立function函数,在学习了高斯勒让德求积公式的基础上,结合MATLAB
软件编写程序。
2.结合课本122页表4-7检验程序。
四、试验步骤
1程序(1)
functiong= GuassLegendre (a,b,n,m)
ห้องสมุดไป่ตู้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)
% a,b·Ö±ðÊÇ»ý·ÖµÄÉÏÏÂÏÞ£»
% n+1Ϊ½Úµã¸öÊý£»
% mÊǵ÷ÓÃf1.mÖеڼ¸¸ö±»»ýº¯Êý£»
[A,x]=Guass1(n)
g=0;
fori=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);
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)
f=diff(f,i);
t=solve(f);
forj=1:i
fork=1:i
X(j,k)=t(k)^(j-1);
end
ifmod(j,2)==0
B(j)=0;
else
B(j)=2/j;
end
end
X=inv(X);
forj=1:i
A(j)=0;
x(j)=0;
fork=1:i
A(j)=A(j)+X(j,k)*B(k);
end
2程序(2)
functionf=f1(i,x)
g(1)=sqrt(x);
ifx==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;