矩阵实习作业Word格式文档下载.docx

上传人:b****2 文档编号:982841 上传时间:2023-04-29 格式:DOCX 页数:17 大小:129.44KB
下载 相关 举报
矩阵实习作业Word格式文档下载.docx_第1页
第1页 / 共17页
矩阵实习作业Word格式文档下载.docx_第2页
第2页 / 共17页
矩阵实习作业Word格式文档下载.docx_第3页
第3页 / 共17页
矩阵实习作业Word格式文档下载.docx_第4页
第4页 / 共17页
矩阵实习作业Word格式文档下载.docx_第5页
第5页 / 共17页
矩阵实习作业Word格式文档下载.docx_第6页
第6页 / 共17页
矩阵实习作业Word格式文档下载.docx_第7页
第7页 / 共17页
矩阵实习作业Word格式文档下载.docx_第8页
第8页 / 共17页
矩阵实习作业Word格式文档下载.docx_第9页
第9页 / 共17页
矩阵实习作业Word格式文档下载.docx_第10页
第10页 / 共17页
矩阵实习作业Word格式文档下载.docx_第11页
第11页 / 共17页
矩阵实习作业Word格式文档下载.docx_第12页
第12页 / 共17页
矩阵实习作业Word格式文档下载.docx_第13页
第13页 / 共17页
矩阵实习作业Word格式文档下载.docx_第14页
第14页 / 共17页
矩阵实习作业Word格式文档下载.docx_第15页
第15页 / 共17页
矩阵实习作业Word格式文档下载.docx_第16页
第16页 / 共17页
矩阵实习作业Word格式文档下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

矩阵实习作业Word格式文档下载.docx

《矩阵实习作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《矩阵实习作业Word格式文档下载.docx(17页珍藏版)》请在冰点文库上搜索。

矩阵实习作业Word格式文档下载.docx

49

1/3*a;

end

a

结果:

a=4.178866707295604e-024

2、前两项为

MATLAB程序:

functionwyc12

A=zeros(1,50);

A

(1)=1;

A

(2)=1/3;

48

A(i+2)=(10/3).*A(i+1)-A(i);

A(50)

a=2.060436086367324e+006

经过程序发现第二种迭代过程结果偏离正常预期结果,通过观察发现当迭代到第18项左右时,由于出现了小数减去小数的状况进而造成了误差,进而可以得出这种迭代方法不可行。

二、利用迭代格式

及Aitken加速后的新迭代格式求方程

内的根

首先通过普通的迭代格式求求方程

内的根的MATLAB程序:

functionwyc2n

c=2*10^(-6);

x=1;

x1=0;

whilec>

10^(-6)

x1=sqrt(10/(x+4));

ifabs(x1-x)<

c=abs(x1-x);

end

x=x1;

x

程序结果为:

x=1.36522998713958

Aitken加速后的新迭代格式求方程

functionwyc2a

f=inline('

sqrt(10/(x+4))'

'

x'

);

x1=f(f(x))-((f(f(x))-f(x))^2)/(f(f(x))-2*f(x)+x);

ifabs(x1-x)<

c=abs(x1-x);

end

x=x1;

end

程序结果为:

x=1.36523001341410

通过对比两种迭代方法可以发现Aitken加速后的新迭代格式再不出现较大误差的情况下比普通的迭代速度更快,更加的高效。

三、解线性方程组

1.分别Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组

迭代法计算停止的条件为:

Jacobi迭代法MATLAB程序:

functionwyc31j

D=diag([6,5,8,7]);

LU=[0,-2,-1,2;

-2,0,0,2;

2,0,0,-5;

-1,-3,-2,0;

];

B=inv(D)*LU;

b=[4;

7;

-1;

0;

f=inv(D)*b;

x=[0;

x1=[0;

x1=B*x+f;

fori=1:

3

ifabs(x1(i)-x(i))<

c=abs(x1(i)-x(i));

end

x=x1;

x=[0.05205578320797

1.15094276230654

0.24463133345617

-0.57058744756179];

Gauss-Seidel迭代法MATLAB程序

functionwyc31gs

L=[0,0,0,0;

-2,0,0,0;

2,0,0,0;

-1,-3,-2,0;

U=[0,-2,-1,2;

0,0,0,2;

0,0,0,-5;

0,0,0,0;

B=inv(D-L)*U;

f=inv(D-L)*b;

ifabs(x1(i)-x(i))<

c=abs(x1(i)-x(i));

a=[0.05204946628111

1.150********986

0.24463241176981

-0.57059206335719

Gauss-Seidel迭代法对已经计算出的信息加以充分利用,可以对Jacobi迭代法进行加速提高

2.用Gauss列主元消去法、QR方法求解如下方程组:

用Gauss列主元消去法求解方程MATLAB程序:

functionwyc32g

A1=[2,2,1,2;

4,1,3,-1;

-4,-2,0,1;

2,3,2,3;

b=[1;

2;

1;

0];

[n,m]=size(A1);

x=zeros(n,1);

A=[A1,b];

fork=1:

n-1

forp=k+1:

n

ifabs(A(p,k))>

abs(A(k,k))

forj=k:

n+1

t=A(k,j);

A(k,j)=A(p,j);

A(p,j)=t;

end

fori=k+1:

l=-A(i,k)/A(k,k);

forj=k+1:

A(i,j)=A(i,j)+l*A(k,j);

x(n)=A(n,n+1)/A(n,n);

fori=n-1:

-1:

1

s=0;

forj=i+1:

s=s+A(i,j)*x(j);

x(i)=(A(i,n+1)-s)/A(i,i);

x=[1.54166666666667

-2.75000000000000

.0833********

1.66666666666667]

用QR方法求解方程MATLAB程序:

functionwyc32qr

A=[2,2,1,2;

2,3,2,3;

[n,m]=size(A);

Q=zeros(m,n);

R=zeros(m,n);

[Q,R]=qr(A);

b2=inv(Q)*b;

A2=[R,b2];

x(n)=A2(n,n+1)/A2(n,n);

s=0;

s=s+A2(i,j)*x(j);

x(i)=(A2(i,n+1)-s)/A2(i,i);

x=[1.54166666666666

1.66666666666666]

四、已知一组数据点

,编写一程序求解三次样条插值函数

满足

并针对下面一组具体实验数据

0.25

0.3

0.39

0.45

0.53

0.5000

0.5477

0.6245

0.6708

0.7280

求解,其中边界条件为

.

functionwyc4

x=[0.25;

0.3;

0.39;

0.45;

0.53;

y=[0.5000;

0.5477;

0.6245;

0.6708;

0.7280;

s21=0;

s25=0;

[n,n1]=size(x);

lamb=zeros(n,1);

mu=zeros(n,1);

h=zeros(n,1);

g=zeros(n,1);

m=zeros(n,1);

s=zeros(4,1);

symsp

h(i)=x(i+1)-x(i);

forj=2:

lamb(j)=h(j)/(h(j-1)+h(j));

mu(j)=h(j-1)/(h(j-1)+h(j));

lamb(n)=1;

mu

(1)=1;

fork=2:

g(k)=3*(mu(k)*(y(k+1)-y(k))/h(k)+lamb(k)*(y(k)-y(k-1))/h(k-1));

A=zeros(n,n);

A(i,i)=2;

A(i,i+1)=mu(i);

A(i+1,i)=lamb(i+1);

A(n,n)=2;

g

(1)=3*(y

(2)-y

(1))/h

(1)-h

(1)*s21/2;

g(n)=3*(y(n)-y(n-1))/h(n-1)+h(n-1)*s25/2;

m=inv(A)*g;

4

(h(k)+2.*(p-x(k))).*((p-x(k+1)).^2).*vpa(y(k)./(h(k).^3))+(h(k)-2.*(p-x(k+1))).*((p-x(k)).^2).*vpa(y(k+1)./(h(k).^3))+(p-x(k)).*((p-x(k+1)).^2).*vpa(m(k)./(h(k).^2))+(p-x(k+1)).*((p-x(k)).^2).*vpa(m(k+1)./(h(k).^2))

s(p)=4000.*(-9/20+2*p)*(p-3/10)^2+4381.6*(13/20-2*p)*(p-1/4)^2+387.865164*(p-1/4)*(p-3/10)^2+369.069670*(p-3/10)*(p-1/4)^2

s(p)=751.303155*(-51/100+2*p)*(p-39/100)^2+856.652949*(87/100-2*p)*(p-3/10)^2+113.910392*(p-3/10)*(p-39/100)^2+98.670540*(p-39/100)*(p-3/10)^2

s(p)=2891.203704*(-18/25+2*p)*(p-9/20)^2+3105.555556*(24/25-2*p)*(p-39/100)^2+222.008716*(p-39/100)*(p-9/20)^2+206.2349887*(p-9/20)*(p-39/100)^2

s(p)=1310.15625*(-41/50+2*p)*(p-53/100)^2+1421.875*(57/50-2*p)*(p-9/20)^2+116.007181*(p-9/20)*(p-53/100)^2+109.574534*(p-53/100)*(p-9/20)^2

经过验证发现s(p)在各个区间段符合要求。

五、编写程序构造区间

上的以等分结点为插值结点的Newton插值公式,假设结点数为

(包括两个端点),给定相应的函数值,插值区间和等分的份数,该程序能快速计算出相应的插值公式。

为例计算其对应的插值公式,分别取不同的

值并画出原函数的图像以及插值函数的图像,观察当

增大时的逼近效果.

functionwyc5

n=4;

 

x=sym('

real'

A=zeros(n+1,n);

t=-1:

0.02:

z=1./(1+25.*(t.^2));

1/(1+25*(y^2))'

y'

forj=1:

ifi==1

A(1,j)=2*(j-1)/(n-1)-1;

ifi==2

A(2,j)=f(A(1,j));

if(i>

2)&

(i<

n+2)

ifj<

n+3-i

A(i,j)=(A(i-1,j+1)-A(i-1,j))/((i-2)*2/(n-1));

A

P3=ones(100)*A(2,1);

q=zeros(n-1,1);

100

x=0.02*k-1;

fori=1:

q(i)=A(i+2,1);

i

q(i)=q(i)*(x-A(1,i));

P3(k)=P3(k)+q(i);

plot(P3)

当n=4时当n=6时

当n=8时当n=10时

当n=20时当n=30时

当n=50时

当n=100时

通过n取不同的值后观察发现当n的取值足够大时

区间内p(x)趋近于0,当x趋近于-1时p(x)趋近于无穷。

Newton插值公式不随插值点的增加而逼近,因此插值公式不适合对函数进行逼近。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2