文档库 最新最全的文档下载
当前位置:文档库 › 上海大学课程实验报告-数值代数

上海大学课程实验报告-数值代数

上海大学课程实验报告-数值代数
上海大学课程实验报告-数值代数

课程实验报告

COURSE PAPER

课程名称:数值代数与计算方法

课程号:08305114

授课教师:

学号:

姓名:

所属:计算机科学与工程

打印时间:2015

评语:

题目一:

算法:

1、对于问题一:

2、对于问题二:

直接编写递归函数程序,算出三个差分方程的10个近似值程序:

1)

%main.m

clc;

clear all;

a=1;

b=-2;

c=-3;

[x1,x2]=roots(a,b,c)

%roots.m

function [x1,x2]=roots(a,b,c)

d=sqrt(b*b-4*a*c);

if d>0

x1=(-2*c)/(b+d);

x2=(-b-d)/(2*a);

elseif d<0

x1=(-b+d)/(2*a);

x2=(-2*c)/(b-d);

end

2)

%solu.m

function [X,R,P,Q]=solu(X0,R0,P0,P1,Q0,Q1) X(1)=X0;

R(1)=R0;

P(1)=P0;

P(2)=P1;

Q(1)=Q0;

Q(2)=Q1;

for i=1:9

X(i+1)=X(i)/2;

X(i)=X(i+1);

end

for i=1:9

R(i+1)=R(i)/2;

R(i)=R(i+1);

end

for i=3:10

P(i)=3/2*P(i-1)-1/2*P(i-2);

P(i-1)=P(i);

P(i-2)=P(i-1);

end

for i=3:10

Q(i)=5/2*Q(i-1)-Q(i-2);

Q(i-1)=Q(i);

Q(i-2)=Q(i-1);

end

%Xn.m

clc;

clear all;

X0=1;

R0=0.994;

P0=1;

P1=0.497;

Q0=1;

Q1=0.497;

[X,R,P,Q]=solu(X0,R0,P0,P1,Q0,Q1);

for i=1:10

x(i)=i;

end

plot(x,X-R,'r*');

hold on

结果:

1)

x1 =

3

x2 =

-1

2)

题目二:

1、

此题我们以第一个式子为例,求出

g(Xn+1)= (2/(2+3*Xn-Xn.^3))^(1/2)

2、利用二分法:

3、利用牛顿迭代法,并根据题目提示的立方根算法:

此题我们以第三个式子为例:,设A=71/3 ,求出x的3次方便是近似值。

1、

%fixpt.m

function [k,p,err,P]=fixpt(p0,tol,max1)

P(1)=p0;

for k=2:max1

P(k)=g(P(k-1));

err=abs(P(k)-P(k-1));

relerr=err/(abs(P(k))+eps);

p=P(k);

if (err

break;

end

end

if k==max1

disp('maximum number of iterations exceeded')

end

P=P';

%g.m

function y=g(x)

y=sqrt(2/(2+3*x-x.^3));

%iteration.m

clc;

clear all;

p0=0.5;

tol=1.0e-9;

max1=20;

[k,p,err,P]=fixpt(p0,tol,max1);

2、

二分法:

%bisect.m

function [c,err,yc,k,an,cn,bn,ycn]=bisect(a,b,delta) ya=f(a);

yb=f(b);

an(1)=a;

bn(1)=b;

if ya*yb>0

disp('No Root in this district!');

end

max1=1+round((log(b-a)-log(delta))/log(2));

for k=1:max1

c=(a+b)/2;

cn(k)=c;

yc=f(c);

ycn(k)=yc;

if yc==0

a=c;

an(k+1)=a;

b=c;

bn(k+1)=b;

elseif yb*yc>0

b=c;

bn(k+1)=b;

yb=yc;

else

a=c;

an(k+1)=a;

ya=yc;

end

if b-a

break;

end

end

c=(a+b)/2;

cn(max1)=c;

err=abs(b-a);

yc=f(c);

ycn(max1)=yc;

for i=1:9

k(i)=i-1;

end

%f.m

function h=f(x)

h=x*sin(x)-1;

%main.m

clc;

clear all;

a=0;

b=2;

delta=0.000001;

[c,err,yc,k,an,cn,bn,ycn]=bisect(a,b,delta);

4、牛顿迭代法求解:

%newton.m

function [p0,err,k,y]=newton(A,p0,delta,epsilon,max1)

for k=1:max1

p1=(2.*p0+A/p0.^2)/3;

err=abs(p1-p0);

relerr=2*err/(abs(p1)+delta);

p0=p1;

y=f(p0,A);

if(err

%f.m

function y=f(x,A)

y=x.^3-A;

%main.m

clc;

clear all;

A=(7).^(1/3);

p0=2;

delta=0.001;

epsilon=0.000001;

max1=30;

[p0,err,k,y]=newton(A,p0,delta,epsilon,max1);

x=p0^3;

vpa(x,10)

结果:

1、2、二分法

3、

即71/3的近似值为1.912931183

题目三:

算法:

▲回代算法:

程序:

%backsub.m

function X=backsub(A,B)

n=length(B);

X=zeros(n,1);

X(n)=B(n)/A(n,n);

for k=n-1:-1:1

X(k)=(B(k)-A(k,k+1:n)*X(k+1:n))/A(k,k); end

%main.m

clear all;

clc;

A=[

3,-2,1,-1;

0,4,-1,2;

0,0,2,3;

0,0,0,5

];

B=[8,-3,11,15]';

X=backsub(A,B)

det(A)

结果:

X =

2

-2

1

3

ans =

120

即x1=2, x2=-2, x3=1, x4=3;

|A|=120.

题目四:

求解方程组:

算法:

先将方程组系数矩阵进行上三角变换,再进行回代,最终求出方程组解。

上三角变换的算法:高斯消元法,AX=B,设增广矩阵为[A|B],进行初等行变换,通过选取主元行并消元,构成使增广矩阵的A矩阵构成上三角矩阵。选主元策略常用偏序选主元策略:首先检查位于主对角线或主对角线下方第p列的所有元素,确定行k,它的元素的绝对值最大,即

|a kp|=max{|a pp|,|a p+1 p|,…,|a N-1 p|,|a N p|}

如果k>p,则交换第k行和第p行。

程序:

%uptrbk.m

function X=uptrbk(A,B)

[N N1]=size(A);

X=zeros(N,1);

C=zeros(1,N+1);

Aug=[A B];

for p=1:N-1

[Y,j]=max(abs(Aug(p:N,p)));

C=Aug(p,:);

Aug(p,:)=Aug(j+p-1,:);

Aug(j+p-1,:)=C;

if Aug(p,p)==0

'A was singular. NO unique solution'

break

end

for k=p+1:N

m=Aug(k,p)/Aug(p,p);

Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);

end

end

X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));

%main.m

clear all;

clc;

A=[2,4,-6;

1,5,3;

1,3,2];

B=[-4,10,5]';

X=uptrbk(A,B)

det(A)

结果:

X =

-3

2

1

ans =

18

即x1=-3, x2= 2, x3=1; |A|=18. 题目五:

算法:

如下线性方程组:

1、雅可比迭代法

2、高斯-赛德尔迭代法:

在此题中我们分别用三组初始值,

P1=[x1=0,x2=0,x3=0];P2=[x1=1,x2=2,x3=3];P3=[x1=5,x2=5,x3=5];分别用雅可比和高斯进行迭代,得出结果并比较。

程序:

%jacobi.m//雅可比迭代函数

function X=jacobi(A,B,P,delta,max1)

N=length(B);

for k=1:max1

for j=1:N

X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-1,j+1:N]))/A(j,j); end

err=abs(norm(X'-P));

relerr=err/(norm(X)+eps);

P=X';

if(err

break

end

end

X=X';

%gseid.m//高斯-赛德尔迭代函数

function X=gseid(A,B,P,delta,max1)

N=length(B);

for k=1:max1

for j=1:N

if j==1

X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);

elseif j==N

X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);

else

X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'-A(j,j+1:N)*P(j+1:N))/A(j,j); end

end

err=abs(norm(X'-P));

relerr=err/(norm(X)+eps);

P=X';

if(err

break

end

end

X=X';

%main.m

clear all;

clc;

delta=0.0000001;

max1=100;

A=[

1,0,1;

-1,1,0;

1,2,-3

];

B=[2,0,0]';

P1=[0,0,0]';

P2=[1,2,3]';

P3=[5,5,5]';

X1=jacobi(A,B,P1,delta,max1);

X1=vpa(X1',10)

X2=jacobi(A,B,P2,delta,max1);

X2=vpa(X2',10)

X3=jacobi(A,B,P3,delta,max1);

X3=vpa(X3',10)

X4=gseid(A,B,P1,delta,max1);

X4=vpa(X4',10)

X5=gseid(A,B,P2,delta,max1);

X5=vpa(X5',10)

X6=gseid(A,B,P3,delta,max1);

X6=vpa(X6',10)

结果:

X1 =

[ 1.001606818, 1.004722712, 1.003011523]

X2 =

[ 1.0022603, 0.9955518438, 0.9943430273]

X3 =

[ 0.9935727281, 0.9811091525, 0.9879539061]

X4 =

[ 0, 0, 0]

X5 =

[ 3.0, 3.0, 3.0]

X6 =

[ 5.0, 5.0, 5.0]

正确结果为:x1=x2=x3=1,发现雅可比迭代对于此方程组有效。题目六:

程序:

%sin.m

clear all;

clc;

x=-1:0.1:1;

P_5=x-(x.^3)/factorial(3)+(x.^5)/factorial(5);

P_7=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7);

P_9=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7)+(x.^9) /factorial(9);

f=sin(x);

plot(x,f,x,P_5,x,P_7,x,P_9);

grid on;

hold on;

x=-1:0.2:1;

P_5=x-(x.^3)/factorial(3)+(x.^5)/factorial(5);

P_7=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7);

P_9=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7)+(x.^9) /factorial(9);

f=sin(x);

D=horzcat(x',P_5',P_7',P_9',f')

结果:

1、

2.x P5(x) P7(x) P9(x) sin(x)

题目七:

此题我们以课本P155页为例

算法:

程序:

%Rd.m

function [B,D,I]=Rd(P,x)

N=length(P);

B(N)=P(N);

for k=N-1:-1:1

B(k)=P(k)+B(k+1)*x;

end

D(N-1)=(N-1)*P(N);

for k=N-1:-1:2

D(k-1)=(k-1)*P(k)+D(k)*x; end

I(N+1)=P(N)/(N);

for k=N:-1:2

I(k)=P(k-1)/(k-1)+I(k+1)*x; end

I(1)=I(2)*x;

%main.m

上海大学通识课:本科生课程论文统一格式

本科生课程论文模板 上海大学—学年学期 (新生研讨课) 课程名称:___________ 课程号:___________ 授课教师:___________ 学号:_________________________ 姓名:_________________________ 所属:_________________________ 成绩:_________________________ 评语:

模板(可参考本科生毕业论文的格式要求): 《红楼梦》的两个英译本中人名翻译的对比研究 (英文标题Times New Roman四号加粗;若论文用中文写,标题为宋体四号加粗) 张××(姓名中文宋体五号) 摘要: 关键词: Abstract: Key words: 注意:(无论是中文论文还是英文论文,都须有中英文摘要和关键词;若为英文论文,英文摘要和关键词在前;若为中文论文,中文摘要和关键词在前。英文为Times New Roman 五号;中文为宋体五号。各关键词之间用分号隔开。) 论文主体部分:主要包括Introduction、Body、Conclusion、Notes、Bibliography、Appendix。 英文论文为Times New Roman,小四,单倍行距。中文为宋体小四,1.5倍行距。 各级小标题(加粗)用词组或短语表述。小标题只需大写第一个单词的第一个字母(专有名词除外)。形式可为: 1. XXXXXXXXXX 1.1 XXXXXXXXXX 1.2 XXXXXXXXXX 2. XXXXXXXXXX 2.1 XXXXXXXXX 2.1.1 XXXXXXXXX 2.1.2 XXXXXXXXX 2.2 XXXXXXXX

数值代数实验报告

1.谈谈你对该算法的理解:(简单谈一下你是如何理解该算法的?) 先对84阶矩阵进行LU分解,通过Gauss消元法 对下三角形方程组利用前代法解出y,在对上三角方程组 用回代法解出x…. 2.实验内容 function [ L,U ] = LUfac( A ) for k=1:n-1 A(k+1:n,k)=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n); end L=tril(A,0); for i=1:n L(i,i)=1; end U=triu(A,0); End //进行LU分解 function [ b ] = TSL( L,b ) n=size(L,1); for j=1:n-1 b(j)=b(j)/L(j,j); b(j+1:n)=b(j+1:n)-b(j)*L(j+1:n,j); end b(n)=b(n)/L(n,n); end //利用前代法解出y function [ b ] = TSU( U,b ) n=size(U,1); for j=n:-1:2 b(j)=b(j)/U(j,j); b(1:j-1)=b(1:j-1)-b(j)*U(1:j-1,j); end b(1)=b(1)/U(1,1); end //利用回代法解出x

主函数程序 A=eye(84); A=6*A; for i=2:84 A(i,i-1)=8; A(i-1,i)=1; End //生成84阶的矩阵A b=ones(84,1); b=b*15; b(1)=7; b(84)=14; [L,U]=LUfac(A);//调用函数LUfac对矩阵A进行分解 y=TSL(L,b);//调用函数TSL求解y x=TSU(U,y); //调用函数TSU求解X 经过matlab…有 x’ ans = 1.0e+008 * Columns 1 through 7 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 8 through 14 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 15 through 21 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 22 through 28 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 29 through 35 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 36 through 42 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 43 through 49 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 50 through 56 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 Columns 57 through 63

用MATLAB解决线性代数问题实验报告

实验三使用MATLAB解决线性代数问题学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144 实验目的: 学习MATLAB有关线性代数运算的指令,主要学习运用MATLAB解决矩阵除法,线性方程组的通解,矩阵相似 对角化问题,以及解决投入产出分析等应用问题。 实验内容: 矩阵转置:A=[1 2;3 4];B=[4 3;2 1]; >> A',B' ans = 1 3 2 4 ans = 4 3 3 1 矩阵加减:A-B ans= -3 -1 1 3 矩阵乘法:A*B,A.*B(数组乘法)||比较矩阵乘法与数组乘法的区别ans= 8 5 20 13 ans= 4 6 6 4 矩阵除法:A\B,B./A ans=

-6 -5 5 4 ans= 4 1.5 0.6667 0.25 特殊矩阵生成:zeros(m,n)||生成m行n列的矩阵 ones(m,n)||生成m行n列的元素全为一的矩阵 eye(n)||生成n阶单位矩阵 rand(m,n)||生成m行n列[0 ,1]上均匀分布随 机数矩阵 zeros(2,3) ans = 0 0 0 0 0 0 >> ones(3,3) ans = 1 1 1 1 1 1 1 1 1 >> eye(3)

ans = 1 0 0 0 1 0 0 0 1 >> rand(2,4) ans = Columns 1 through 3 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 Column 4 0.4565 0.0185 矩阵处理:trace(A)||返回矩阵的迹 diag(A)||返回矩阵对角线元素构成的向量 tril(A)||提取矩阵的下三角部分 triu(A)||提取矩阵的上三角部分 flipud(A)||矩阵上下翻转 fliplr(A)||矩阵左右翻转 reshape(A,m,n)||将矩阵的元素重排成m行n列矩阵A=[1 2 3;4 5 6;7 8 9]; >> t=trace(A),d=diag(A),u=triu(A)

计算方法上机实验报告

《计算方法》上机实验报告 班级:XXXXXX 小组成员:XXXXXXX XXXXXXX XXXXXXX XXXXXXX 任课教师:XXX 二〇一八年五月二十五日

前言 通过进行多次的上机实验,我们结合课本上的内容以及老师对我们的指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法和Gauss 求积公式等六种算法的原理和使用方法,并参考课本例题进行了MATLAB 程序的编写。 以下为本次上机实验报告,按照实验内容共分为六部分。 实验一: 一、实验名称及题目: Newton 迭代法 例2.7(P38):应用Newton 迭代法求 在 附近的数值解 ,并使其满足 . 二、解题思路: 设'x 是0)(=x f 的根,选取0x 作为'x 初始近似值,过点())(,00x f x 做曲线)(x f y =的切线L ,L 的方程为))((')(000x x x f x f y -+=,求出L 与x 轴交点的横坐标) (') (0001x f x f x x - =,称1x 为'x 的一次近似值,过点))(,(11x f x 做曲线)(x f y =的切线,求该切线与x 轴的横坐标) (') (1112x f x f x x - =称2x 为'x

的二次近似值,重复以上过程,得'x 的近似值序列{}n x ,把 ) (') (1n n n n x f x f x x - =+称为'x 的1+n 次近似值,这种求解方法就是牛顿迭代法。 三、Matlab 程序代码: function newton_iteration(x0,tol) syms z %定义自变量 format long %定义精度 f=z*z*z-z-1; f1=diff(f);%求导 y=subs(f,z,x0); y1=subs(f1,z,x0);%向函数中代值 x1=x0-y/y1; k=1; while abs(x1-x0)>=tol x0=x1; y=subs(f,z,x0); y1=subs(f1,z,x0); x1=x0-y/y1;k=k+1; end x=double(x1) K 四、运行结果: 实验二:

数值代数上机实验报告

数值代数课程设计实验报告 姓名: 班级: 学号: 实验日期: 一、实验名称 代数的数值解法 二、实验环境 MATLAB7.0 实验一、平方根法与改进平方根法 一、实验要求: 用熟悉的计算机语言将不选主元和列主元Gasuss 消元法编写成通用的子程序,然后用编写的程序求解下列方程组 ?????????? ????????????=????????????????????????? ? ? ? ? ? ? ?? ?????? ???? ?--?1415151515768 168 168 168 1681612321 n n n n n x x x x x x 用所编的程序分别求解40、84、120阶方程组的解。 二、算法描述及实验步骤 GAuss 程序如下: (1)求A 的三角分解:LU A =; (2)求解b y =L 得y ; (3)求解y x =U 得x ; 列主元Gasuss 消元法程序如下: 1求A 的列主元分解:LU PA =; 2求解b y P L =得y ; 3求解y x =U 得x ;

三、调试过程及实验结果: %----------------方程系数---------------- >> A1=Sanduijiaozhen(8,6,1,40); >> A2=Sanduijiaozhen(8,6,1,84); >> A3=Sanduijiaozhen(8,6,1,120); >> b1(1)=7;b2(1)=7;b3(1)=7; >> for i=2:39 b1(i)=15; end >> b1(40)=14; >> for i=2:83 b2(i)=15; end >> b2(40)=14; >> for i=2:119 b1(i)=15; end >> b3(120)=14; %----------------方程解---------------- >> x11=GAuss(A1,b1') >> x12=GAuss Zhu(A1,b1') >> x21=GAuss(A2,b2') >> x22=GAuss Zhu(A3,b3') >> x31=GAuss(A3,b3') >> x32=GAuss Zhu(A3,b3') 运行结果:(n=40) GAuss消元法的解即为 x11 = 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 列主元GAuss消元法的解即为x12 =

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数学实验1

中国海洋大学本科生课程大纲 课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修 一、课程介绍 1.课程描述: 数学实验是由于计算机技术和科学计算软件的迅猛发展应运而生的一门较新的数学课程,它改变了数学只靠纸和笔的传统形象,将实验的手段引入到数学的学习和研究中。 本课程为大学二年级数学院的学生开设。它不是讲授新的数学知识,而是让学生利用已有的数学知识去解决一些经简化的实际问题。大多数实验的一般过程是:对于给出的实际问题,建立数学模型、选择适当的数学方法、用科学计算软件MATLAB编程计算、对运算结果进行分析、给出结论。 本课程以MATLAB软件为主要的实验工具,采用以学生动手动脑为主,教师讲授和点评、小组讨论、报告为辅的教学方式。 通过本课程的学习,学生用数学解决实际问题的意识和能力可以得到强化和提高,更切实地体会到数学的用处,增加学习兴趣,提高创造力。 2.设计思路: 本课程旨在训练用数学解决实际问题的能力。实验内容的选取是基于学生具备MATLAB语言的初步编程能力、并学习了数学分析、高等代数、解析几何、运筹学基础(初步)、数学实验基础、常微分方程、数值分析或计算方法、概率论等数学课程的基础之上。课程共分七个基础实验和一个综合实验依次进行。七个基础实验是:MATLAB 基础知识复习、常微分方程(组)、数据建模——插值与拟合、古典密码学、图与网络 - 6 -

优化、动态规划、遗传算法。 基础实验涉及的数学内容较为单一、数学模型和求解方法较简单,是对“用数学”能力的基本训练。 综合实验以三人为一组进行,所涉及到的数学知识范围更广,建模和求解的难度更大。综合实验的题目可以小组自拟或在任课教师拟定的题目中选择。任课教师拟定的题目将于综合实验开始前一周给出。各小组在实验前要上交一份“开题报告”:写出问题的重述、模型建立和求解的思路、可能遇到的主要困难及解决方案。通过认真完成综合实验,“用数学”的能力可以有一个较大的提升。 3.课程与其他课程的关系: 先修课程:高等代数I、高等代数II、空间解析几何、数学分析I、数学分析II、数学实验基础;常微分方程;计算方法(或数值分析、数值代数); 并行课程:概率论等; 后置课程:数学模型;数学建模实践 二、课程目标 本课程的目标是为大二数学类专业学生提供用数学知识解决实际问题的系统训练。 到课程结束时,学生应能: (1)对简单的实际问题建立数学模型; (2)采用适当的数学方法,用MA TLAB软件求解模型,并根据计算结果对模型进行评价和改进; (3)具备初步的科研写作能力:学会如何将问题、模型、解决思路、求解方法、计算结果和结论简洁、清晰、严谨地呈现; (4)针对难度较高的实际问题通过小组成员的独立思考、相互合作与激励,共同解决。提高沟通交流能力,促进相互学习,加深对有关数学知识的理解,进一步提升用数学知识和MATLAB软件解决实际问题的能力。 三、学习要求 要完成所有的课程任务,学生必须: (1)按时上课,认真听讲,积极参与课堂讨论、随堂练习和测试; - 6 -

计算方法第二章方程求根上机报告

实验报告名称 班级:学号:姓名:成绩: 1实验目的 1)通过对二分法与牛顿迭代法作编程练习与上级运算,进一步体会二分法与牛顿迭代法的不同特点。 2)编写割线迭代法的程序,求非线性迭代法的解,并与牛顿迭代法。 2 实验内容 用牛顿法和割线法求下列方程的根 x^2-e^x=0; x*e^x-1=0; lgx+x-2=0; 3实验步骤 1)根据二分法和牛顿迭代法,割线法的算法编写相应的求根函数; 2)将题中所给参数带入二分法函数,确定大致区间; 3)用牛顿迭代法和割线法分别对方程进行求解; 3 程序设计 牛顿迭代法x0=1.0; N=100; k=0; eps=5e-6; delta=1e-6; while(1) x1=x0-fc1(x0)/fc2(x0); k=k+1; if k>N disp('Newmethod failed')

break end if(abs(x1-x0)=delta) c=x1; x1=cutnext(x0,x1); x0=c; %x0 x1μYí?μ?μ?x1 x2 è?è?±£′??úx0 x1 end k=k+1; if k>N disp('Cutline method failed') break; end if(abs(x1-x0)

上海大学操作系统(二)实验报告(全)

评分: SHANGHAI UNIVERSITY 操作系统实验报告 学院计算机工程与科学 专业计算机科学与技术 学号 学生姓名

《计算机操作系统》实验一报告 实验一题目:操作系统的进程调度 姓名:张佳慧学号 :12122544 实验日期: 2015.1 实验环境: Microsoft Visual Studio 实验目的: 进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。例如,简单轮转法和优先数法等。本实习可加深对于进程调度和各种调度算法的理解。实验内容: 1、设计一个有n个进程工行的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块通常应包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。 2、调度程序应包含2~3种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。 3、系统应能显示或打印各进程状态和参数的变化情况,便于观察诸进程的调度过程。 操作过程: 1、本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。进程控制块结构如下: 进程控制块结构如下: PCB 进程标识数 链指针 优先数/轮转时间片数 占用 CPU 时间片数 进程所需时间片数 进程状态 进程控制块链结构如下:

其中:RUN—当前运行进程指针; HEAD—进程就绪链链首指针; TAID—进程就绪链链尾指针。2、算法与框图 (1) 优先数法。进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减 1,说明它已运行了一个时间片,优先数也减 3,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级。接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续进行,否则,调度就绪链链首进程投入运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。 (2) 简单轮转法。进程就绪链按各进程进入的先后次序排列,进程每次占用处理机的轮转时间按其重要程度登入进程控制块中的轮转时间片数记录项(相当于优先数法的优先数记录项位置)。每过一个时间片,运行进程占用处理机的时间片数加 1,然后比较占用处理机的时间片数是否与该进程的轮转时间片数相等,若相等说明已到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。 (3) 程序框图

上海大学毕业设计(论文)开题报告

毕业设计(论文)开题报告 学院通信与信息工程 专业不要写错(通信工程或电子信息工程)学号 姓名 指导教师 日期二○一二年三月二十八日

课题名称 课题来源科研、生产实践、自拟(三选一)(课题的立题依据及研究意义) 一 、 课 题 背 景 及 意 义

(课题研究领域的发展现状及可能的发展方向) 二 、 课 题 研 究 现 状 及 发 展 趋 势 (对研究的内容进行说明,并阐明要达到的目标)三 、 研 究 内 容 及 研 究 目 标

(课题研究过程中可能遇到的理论难题或技术难点)四 、 预 计 的 研 究 难 点 (选题、观点、理论、材料、方法等创新点) 五 、 创 新 点

六、进度计划(根据研究内容及研究目标所预计的进度安排) 从3月26日~7月6日分6个时间段表述(共15个星期)如: 3月26 日~*月*日?????? *月* 日~*月*日?????? *月* 日~*月*日?????? *月* 日~*月*日?????? *月* 日~*月*日?????? *月* 日~7月6日??论文答辩 十三周后、十四周前左右论文答辩 七、资料来源(指能够支持“课题背景”、“课题研究现状及发展趋势”所论述内容的主要文献资 料) 3篇以上文献资料例: [1 ]孙长东. ERP 管理思想及其实施风险分析[J ] . 管理世界, 2002 , 8 : 143 -144 [2 ]Geske R. The valuation of compound options[J ] . Journal of Financial Economics , 1977 , 7 : 63-81. [3 ]薛华成. 管理信息系统[M] . 第3 版. 北京: 清华大学出版社, 2000. 124 -156. [4 ]网上资料类:作者、文章名、网址、日期()。

偏微分方程数值解课程的思索

科技信息 SCIENCE &TECHNOLOGY INFORMATION 2012年第9期偏微分方程(PDE )是众多描述物理,化学和生物现象的数学模型的基础,其最新应用已经扩展到经济,金融预测,图像处理等很多领域。要通过PDE 模型研究这些问题,就需要求解PDE 方程,但是绝大多数微分方程特别是偏微分方程,很难得到其解析形式的解。我们希望能够借助于计算机采用数值方法求得偏微分方程的近似解,这就是《偏微分方程数值解》课程的主要内容。 《偏微分方程数值解》是信息与计算科学专业的一门专业课,它与《数值代数》,《数值逼近》一起构成信息与计算科学专业信息与计算方向的核心课程,在专业培养中占有非常重要的地位。随着计算机技术的飞速发展,偏微分方程数值解得到了前所未有的发展和应用,与此同时也暴露了《偏微分方程数值解》课程传统教学中的很多不足之处,这使得该门课程在教学上有很多地方需要调整。 笔者长年教授《偏微分方程数值解》课程,在该门课程的教学改革方面做了一些思索和尝试,主要包括改革教学方法,更新教学模式,加强介绍背景知识,融入数学建模思想,教学与科研相结合,教学与计算软件相结合,增设实验课,改革考核方式等。 1改革教学方法,更新教学模式 由于数学课程大多理论性较强,趣味性较弱,为了激发学生学习兴趣,在教学过程中,我们采用启发式、讨论式等多种教学方法,营造良好的课堂气氛,加强师生之间的交流,引导学生独立思考,强化科学思维的训练。在教学内容方面,不光教授公式推导,定理证明,同时注重算法思想的讲解和程序设计的讲解,同时安排一定课时的习题课,讲解典型习题和对每章进行总结。 由于《偏微分方程数值解》涉及较多的概念、公式和定理,大多数老师仍以传统的课堂教学为主,而少数年轻教师则喜欢用多媒体课件教学。传统的教学方法,虽然受到的批评最多,但也是用得最多,最能让大家普遍接受的一种方法,在算法推导、理论分析等方面,采用传统的板书讲解能更好地引导学生去感受和思考数学逻辑的过程以及创造性的思维过程,加深对数学理论的理解和认识,培养学生的逻辑和思维能力。而在讲述背景知识,算法的应用,算法的程序实现时候最好用多媒体课件进行演示。多媒体课件可以让学生更直观,更全面的理解算法的应用,另外使用多媒体课件还可以节省大段公式的板书时间,图示清楚、准确。但是如果全部使用多媒体课件上课,容易加快教学速度,淡化数学公式的推导以及定理的证明过程,不利于培养学生的数学思维能力。所以,我们认为需要将传统的教学方法和现代的教学手段结合起来,充分发挥各自的优势,在传统教学中穿插多媒体课件,根据教学内容选择合适的教学手段。 2加强知识背景的介绍,融入数学建模思想 《偏微分方程数值解》是理论知识与实际应用之间的桥梁,为学生使用计算机解决科学与工程中的实际问题打下良好的理论基础和应用基础。传统教学以分析,证明,推导为主,重理论,轻应用,缺少偏微分方程产生的实际背景的介绍和应用数值解的方法解决实际问题的实例。因此,我们在教授该课程的时候,注重与数学建模思想相结合,从实际问题出发,建立相应的偏微分方程模型,这样,学生就知道为什么要研究偏微分方程,偏微分方程能解决什么样的实际问题。 例如,我们考虑有衰减的扩散问题:有一个扩散源,某物质从此扩散源向四周扩散,沿x,y,z 三个方向的扩散系数分别为常数,衰减使质量的减少与浓度成正比,扩散前周围空间此物质的浓度为0,估计物质的分布。我们引导学生运用所学过的微积分的思想以及相应的物理知识,对这一问题进行建模,可以得到如下的模型: 鄣u =a 2鄣2 u 鄣x +b 2鄣2 u 鄣y +c 2鄣2 u 鄣z -k 2u 上述方程是常系数线性抛物型方程,它就是有衰减的扩散过程的数学模型。有了这样的铺垫,学生知道了扩散问题的数学模型就是抛物型方程,当然类似的环境污染,疾病流行等与扩散有关的实际问题可以用抛物型方程来描述,很自然的,接下来的问题就是如何求解上面的抛物型方程,学生的学习热情自然就提高了。 3教学与科研相结合 随着计算技术和计算机科学的发展,偏微分方程数值解法的内涵也在不断扩大,我们在讲授《偏微分方程数值解》课程中引进近年来最新的理论和最新的方法,这样可以开阔学生的视野,激发学生的学习情趣,锻炼学生的自学能力。例如我们除了介绍有限差分法,有限元法,有限体积法等经典的具有一般性的方法,还介绍了多重网格法。由于近些年来,人们将辛方法应用于哈密顿常微分方程系统以及推广应用于微分方程的兴趣日益增长,我们也简单介绍了这一主题,并且用这个思想去分析逼近波动方程的交错蛙跳格式。在讲授方法的同时,还注意介绍这些方法的发展历史,设计思想和理论依据,并给出了相当丰富的参考文献,让基础好的同学自己去挖掘感兴趣的问题。承担课题的老师,可以把自己课题中与此课程相关的小问题拿出来供有兴趣的同学琢磨,有助于锻炼学生的科研能力。 4教学与计算软件相结合 由Mathworks 公司推出的MATLAB 软件,现在已经发展成功能强大,适合科学和工程计算的软件,使用MATLAB 编程,语言简洁,数据处理方便,具有强大的数值计算功能和图形展示功能,因此,将MATLAB 融入偏微分方程数值解的教学,更能与时俱进,更有效地提高教学质量。 MATLAB 采用有限元的方法求解各种PDE ,它提供了两种方法解决PDE 问题,一是pdepe 函数,它可以求解一般的PDEs ,具有较大的通用性,但只支持命令行形式的调用。二是PDE 工具箱,可以求解特殊PDE 问题,但有较大的局限性。只能求解二阶PDE 问题,不能求解偏微分方程组。PDE 工具箱支持命令行形式求解,但需要记住大量命令及其调用格式。不过好在它提供了GUI 界面,可以把我们从复杂的编程中解脱出来,还有很好的动画演示功能,尤其适合刚入门的学生。 我们在授课过程中精选与生活,生产密切相关的应用实例,鼓励学生自己动手建立模型,应用数学软件和所学的知识求解模型。例如考虑一个带有矩形孔的金属板上的热传导问题。板的左边保持在100℃,板的右边热量从板向环境空气定常流动,其他边及内孔边界保持绝缘。初始t=t 0时板的温度为0。对于这样的一个实际问题,我们先应用所学的数学分析和数学建模知识,对原问题建立如下偏微分方程模型: 鄣u 鄣t -△u =0,u =100, 鄣u =-1,鄣u =0,u|t=t 0 =0△△△△△△△△△△△△△△ △. 不妨设界顶点坐标为(-0.5,-0.8),(0.5,-0.8),(0.5,0.8),(-0.5,0.8)。内边界顶点坐标为(-0.005,-0.4),(0.05,-0.4),(0.05,0.4),(-0.05,0.4)。对于这样的一个抛物型方程,我们设计其数值计算方法,然后分别用 偏微分方程数值解课程的思索 邹永魁 (吉林大学数学与科学学院吉林 长春 130012) 【摘要】探讨《偏微分方程数值解》课程教学改革的思考与体会,主要包括教学方法和教学模式的改革,加强背景知识的介绍,将科研前沿带入课堂,将MATLAB 融入教学以及考核方式的改革等。 【关键词】偏微分方程数值解;教学改革;MATLAB ;综合评价体系○高校讲坛○200

数值线性代数第二版徐树方高立张平文上机习题第一章实验报告(供参考)

上机习题 1.先用你所熟悉的的计算机语言将不选主元和列主元Gauss 消去法编写成通用的子程序;然后用你编写的程序求解84阶方程组;最后将你的计算结果与方程的精确解进行比较,并就此谈谈你对Gauss 消去法的看法。 Sol : (1)先用matlab 将不选主元和列主元Gauss 消去法编写成通用的子程序,得到P U L ,,: 不选主元Gauss 消去法:[])(,A GaussLA U L =得到U L ,满足LU A = 列主元Gauss 消去法:[])(,,A GaussCol P U L =得到P U L ,,满足LU PA = (2)用前代法解()Pb or b Ly =,得y 用回代法解y Ux =,得x 求解程序为()P U L b A Gauss x ,,,,=(P 可缺省,缺省时默认为单位矩阵) (3)计算脚本为ex1_1 代码 %算法(计算三角分解:Gauss 消去法) function [L,U]=GaussLA(A) n=length(A); for k=1:n-1 A(k+1:n,k)=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n); end

U=triu(A); L=tril(A); L=L-diag(diag(L))+diag(ones(1,n)); end %算法计算列主元三角分解:列主元Gauss消去法) function [L,U,P]=GaussCol(A) n=length(A); for k=1:n-1 [s,t]=max(abs(A(k:n,k))); p=t+k-1; temp=A(k,1:n); A(k,1:n)=A(p,1:n); A(p,1:n)=temp; u(k)=p; if A(k,k)~=0 A(k+1:n,k)=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n); else break; end end L=tril(A);U=triu(A);L=L-diag(diag(L))+diag(ones(1,n));

数值分析上机实验报告

数值分析上机实验报告

《数值分析》上机实验报告 1.用Newton 法求方程 X 7-X 4+14=0 在(0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001)。 1.1 理论依据: 设函数在有限区间[a ,b]上二阶导数存在,且满足条件 {}α?上的惟一解在区间平方收敛于方程所生的迭代序列 迭代过程由则对任意初始近似值达到的一个中使是其中上不变号 在区间],[0)(3,2,1,0,) (') ()(],,[x |))(),((|,|,)(||)(|.4;0)(.3],[)(.20 )()(.110......b a x f x k x f x f x x x Newton b a b f a f mir b a c x f a b c f x f b a x f b f x f k k k k k k ==- ==∈≤-≠>+ 令 )9.1()9.1(0)8(4233642)(0)16(71127)(0)9.1(,0)1.0(,1428)(3 2 2 5 333647>?''<-=-=''<-=-='<>+-=f f x x x x x f x x x x x f f f x x x f 故以1.9为起点 ?? ?? ? ='- =+9.1)()(01x x f x f x x k k k k 如此一次一次的迭代,逼近x 的真实根。当前后两个的差<=ε时,就认为求出了近似的根。本程序用Newton 法求代数方程(最高次数不大于10)在(a,b )区间的根。

1.2 C语言程序原代码: #include #include main() {double x2,f,f1; double x1=1.9; //取初值为1.9 do {x2=x1; f=pow(x2,7)-28*pow(x2,4)+14; f1=7*pow(x2,6)-4*28*pow(x2,3); x1=x2-f/f1;} while(fabs(x1-x2)>=0.00001||x1<0.1); //限制循环次数printf("计算结果:x=%f\n",x1);} 1.3 运行结果: 1.4 MATLAB上机程序 function y=Newton(f,df,x0,eps,M) d=0; for k=1:M if feval(df,x0)==0 d=2;break else x1=x0-feval(f,x0)/feval(df,x0); end e=abs(x1-x0); x0=x1; if e<=eps&&abs(feval(f,x1))<=eps d=1;break end end

上海大学计算机网络实验报告

《网络与通信》课程实验报告 实验三:数据包结构分析

问题1:无法安装Sniffer软件。 刚开始的时候是希望按照实验指导书上的要求,安装Sniffer软件来进行实验。可是后来在安装的过程中出现了很多的问题。经过上网查询原因发现是因为Sniffer软件无法和Win7系统兼容,后来发现了实验室机房自带的科来网络分析系统,就用该软件进行实验。最后成功。 问题2:该开始使用科来网络分析系统是不知道如何操作。 因为实验指导书上主要写的是一些原理方面,所以在真正进行操作的时候会有一些不知所措。后来通过网上查找教程和看实验模板,一步步做成功了。 问题3:在捕获数据包中,查看数据包协议发现HTTP协议中没有内容。 通过实验参考的一些协议说明以及报告模板的分析发现起初在实验时选择协议因为是自己随便选择的,所以发生了失误。然后重新做的时候特意留心了这一点,选择了EhernetII协议,最后成功。 本次实验的体会(结论)(10分)得分: 通过这次的实验,我了解Sniffer的工作原理,掌握Sniffer抓包、记录和分析数据包的方法,并且在这个实验中,使用抓包软件捕获数据包,并通过数据包分析每一层协议,也对协议有了更深刻的了解,不再是只是停留在理论阶段。再用科来网络分析系统的时候从刚开始的不知所措到后来的熟悉操作,我觉得自己的收获很大。 这是一次很实用的实验操作,并且在实验课上发现的问题能够通过自己思考网上查询和询问老师得到的及时的解决,所以这次的实验做得很顺利,尽管在刚开始的时候安装软件发生了一些不可预知的错误,整个实验还是很顺利的完成了,希望下一次可以做得更好。 思考题:(10分) 思考题1:(4分)得分:写出捕获的数据包格式。(见实验过程中的结果分析) 1.打开机房桌面上的科来网络分析系统软件,设置过滤器,选择网卡。 2.设置数据包过滤器 3.新建过滤规则,自定义数据包过滤器 4.开始抓包 5.停止抓包后的协议统计信息 思考题2:(6分)得分:写出实验过程并分析实验结果。 实验中选择HTTP协议进行分析,涵盖了TCP/IP/数据链路层MAC帧等。 1.选择一个数据包 2.双击打开,查看该数据包 3.以太网,MAC帧 3.1格式:

上海大学本科生课程论文封面

上海大学 本科生课程(选修)论文论文题目: 课程名称: 姓名: 学号: 年月日

【摘要】摘要[200字以内(仿宋,小4号)] 【关键词】关键词1、关键词2、关键词3[关键词3-5个(仿宋,小4号)] 正文[宋体,小4号。] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX① XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX② XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXX 层次标题: 一级标题用一、二、三……编号; 二级标题用1、2、3……编号; 三级标题用(1)、(2)(3)……编号。 参考文献[仿宋,5号。(至少5篇)] [1] [2] [3] ①XXXXXXXXXXXXXXXXXXXX ②XXXXXXXXXXXXXXXXXXXXXXXXXX

课程论文评分表 论文题目 姓名学号 评分标准: 优(90-100分):选题新颖,有很大的实践价值;资料掌握翔实;论点鲜明,论据充分,论证思路清晰,逻辑性强;文笔流畅,写作规范。 良(80-89):选题比较新颖,有较好的实践价值;资料掌握比较充分;论点比较有新意,论据比较充分,论证思路比较清晰,逻辑性比较强;文笔较好,合乎写作规范。 中(70-79):选题一般,有一定的实践价值;资料掌握能够满足论文需要;论点清楚,论据尚可,论证思路能合乎逻辑;文笔合乎写作规范。 及格(60-69):选题一般,有一定的实践价值;资料掌握基本满足论文需要;论点基本清楚,论据尚可,论证思路尚能合乎逻辑;文笔一般,基本合乎写作规范。不及格(60以下):选题不适宜,缺乏实践价值;资料掌握不充分;论点不明确,论据不足,论证思路不合乎逻辑;写作能力差,不合乎写作规范。 评语: 论文得分日期 学年季学期

数值线性代数二版徐树方高立张平文上机习题第三章实验报告

- 1 - 第三章上机习题 用你所熟悉的的计算机语言编制利用QR 分解求解线性方程组和线性最小二乘问题的 通用子程序,并用你编制的子程序完成下面的计算任务: (1)求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说明各方法的优劣; (2)求一个二次多项式+bt+c y=at 2 ,使得在残向量的2范数下最小的意义下拟合表3.2中的数据; (3)在房产估价的线性模型 111122110x a x a x a x y ++++= 中,1121,,,a a a 分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房龄、建筑类型、户型及壁炉数目,y 代表房屋价格。现根据表3.3和表3.4给出的28组数据,求出模型中参数的最小二乘结果。 (表3.3和表3.4见课本P99-100) 解 分析: (1)计算一个Householder 变换H : 由于T T vv I ww I H β-=-=2,则计算一个Householder 变换H 等价于计算相应的v 、β。其中)/(2,||||12v v e x x v T =-=β。 在实际计算中, 为避免出现两个相近的数出现的情形,当01>x 时,令2 12221||||) (-x x x x v n +++= ; 为便于储存,将v 规格化为1/v v v =,相应的,β变为)/(221v v v T =β 为防止溢出现象,用∞||||/x x 代替 (2)QR 分解: 利用Householder 变换逐步将n m A n m ≥?,转化为上三角矩阵A H H H n n 11 -=Λ,则有

?? ? ???=0R Q A ,其中n H H H Q 21=,:),:1(n R Λ=。 在实际计算中,从n j :1=,若m j <,依次计算)),:((j m j A x =对应的)1()1()~ (+-?+-k m k m j H 即对应的j v ,j β,将)1:2(+-j m v j 储存到),:1(j m j A +,j β储存到)(j d ,迭代结束 后再次计算Q ,有??? ? ?? ??=-~001 j j j H I H ,n H H H Q 21=(m n =时1-21n H H H Q =) (3)求解线性方程组b Ax =或最小二乘问题的步骤为 i 计算A 的QR 分解; ii 计算b Q c T 11=,其中):1(:,1n Q Q = iii 利用回代法求解上三角方程组1c Rx = (4)对第一章第一个线性方程组,由于R 的结果最后一行为零,故使用前代法时不计最后一行,而用运行结果计算84x 。 运算matlab 程序为 1 计算Householder 变换 [v,belta]=house(x) function [v,belta]=house(x) n=length(x); x=x/norm(x,inf); sigma=x(2:n)'*x(2:n); v=zeros(n,1); v(2:n,1)=x(2:n); if sigma==0 belta=0; else alpha=sqrt(x(1)^2+sigma); if x(1)<=0 v(1)=x(1)-alpha; else v(1)=-sigma/(x(1)+alpha); end belta=2*v(1)^2/(sigma+v(1)^2); v=v/v(1,1); end end

相关文档
相关文档 最新文档