matlab中求积函数,MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...
MATLAB軟件及高斯勒讓德求積公式MATLAB軟件及高斯勒讓德求積公式
數 值 分 析 課 程 實 驗 報 告
2012—2013學年度 第二學期
系別:數學與計算機科學學院
實驗課程數值分析班 級10級數學與應用數學2班學 號05姓 名杜寧峰指導教師陳耀庚實驗題目學習編寫高斯-勒讓德計算程序日 期2013 年 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...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加盟奶茶店要多少钱啊?
- 下一篇: matlab二次二阶距,用Matlab改