同济大学数值分析matlab编程

同济大学数值分析matlab编程
同济大学数值分析matlab编程

MATLAB 编程题库

1.下面的数据表近似地满足函数2

1cx b

ax y ++=,请适当变换成为线性最小二乘问题,编程求最好的系数c b a ,,,并在同一个图上画出所有数据和函数图像.

625

.0718.0801.0823.0802.0687.0606.0356.0995

.0628.0544.0008.0213.0362.0586.0931.0i

i y x ----

解:

>> x=[-0.931 -0.586 -0.362 -0.213 0.008 0.544 0.628 0.995]'; >> y=[0.356 0.606 0.687 0.802 0.823 0.801 0.718 0.625]'; >> A=[x ones(8,1) -x.^2.*y]; >> z=A\y;

>> a=z(1); b=z(2); c=z(3); >>xh=[-1:0.1:1]';

>>yh=(a.*xh+b)./(1+c.*xh.^2); >>plot(x,y,'r+',xh,yh,'b*')

2.若在Matlab 工作目录下已经有如下两个函数文件,写一个割线法程序,求出这两个函数精度为1010-的近似根,并写出调用方式:

>> edit gexianfa.m

function [x iter]=gexianfa(f,x0,x1,tol) iter=0;x=x1;

while(abs(feval(f,x))>tol) iter=iter+1;

x=x1-feval(f,x1).*(x1-x0)./(feval(f,x1)-feval(f,x0)); x0=x1;x1=x; end

>> edit f.m function v=f(x) v=x.*log(x)-1;

>> edit g.m function z=g(y) z=y.^5+y-1;

>> [x1 iter1]=gexianfa('f',1,3,1e-10) x1 =

1.7632 iter1 = 6

>> [x2 iter2]=gexianfa('g',0,1,1e-10) x2 =

0.7549 iter2 = 8

3.使用GS 迭代求解下述线性代数方程组:

123123123521242103103x x x x x x x x x ì++=-????-++=í???-+=??

解:

>> edit gsdiedai.m

function [x iter]=gsdiedai(A,x0,b,tol) D=diag(diag(A)); L=D-tril(A); U=D-triu(A); iter=0; x=x0;

while((norm(b-A*x)./norm(b))>tol) iter=iter+1; x0=x;

x=(D-L)\(U*x0+b); end

>> A=[5 2 1;-1 4 2;1 -3 10]; >> b=[-12 10 3]'; >>tol=1e-4; >>x0=[0 0 0]';

>> [x iter]=gsdiedai(A,x0,b,tol); >>x x =

-3.0910 1.2372 0.9802 >>iter iter = 6

4.用四阶Range-kutta 方法求解下述常微分方程初值问题(取步长h=0.01)

,(1)2x dy y e xy dx y ì??=++?í??=??

解:

>> edit ksf2.m

function v=ksf2(x,y)

v=y+exp(x)+x.*y; >> a=1;b=2;h=0.01; >> n=(b-a)./h; >> x=[1:0.01:2]; >>y(1)=2;

>>for i=2:(n+1)

k1=h*ksf2(x(i-1),y(i-1));

k2=h*ksf2(x(i-1)+0.5*h,y(i-1)+0.5*k1); k3=h*ksf2(x(i-1)+0.5*h,y(i-1)+0.5*k2); k4=h*ksf2(x(i-1)+h,y(i-1)+k3); y(i)=y(i-1)+(k1+2*k2+2*k3+k4)./6; end >>y

调用函数方法

>> edit Rangekutta.m

function [x y]=Rangekutta(f,a,b,h,y0) x=[a:h:b]; n=(b-a)/h; y(1)=y0; for i=2:(n+1)

k1=h*(feval(f,x(i-1),y(i-1)));

k2=h*(feval(f,x(i-1)+0.5*h,y(i-1)+0.5*k1)); k3=h*(feval(f,x(i-1)+0.5*h,y(i-1)+0.5*k2)); k4=h*(feval(f,x(i-1)+h,y(i-1)+k3)); y(i)=y(i-1)+(k1+2*k2+2*k3+k4)./6; end

>> [x y]=Rangekutta('ksf2',1,2,0.01,2); >>y

5.取0.2h =,请编写Matlab 程序,分别用欧拉方法、改进欧拉方法在12x ≤≤上求解初值问题。

3,(1)0.4dy y x dx x y ì??=-?í??=??

解:

>> edit Euler.m

function [x y]=Euler(f,a,b,h,y0) x=[a:h:b]; n=(b-a)./h; y(1)=y0; for i=2:(n+1)

y(i)=y(i-1)+h*feval(f,x(i-1),y(i-1)); end

>> edit gaijinEuler.m

function[x y]=gaijinEuler(f,a,b,h,y0) x=[a:h:b]; n=(b-a)./h; y(1)=y0; for i=2:(n+1)

y1=y(i-1)+h*feval(f,x(i-1),y(i-1)); y2=y(i-1)+h*feval(f,x(i),y1); y(i)=(y1+y2)./2; end

>> edit ksf3.m

function v=ksf3(x,y) v=x.^3-y./x;

>>[x y]=Euler('ksf3',1,2,0.2,0.4) x =

1.0000 1.2000 1.4000 1.6000 1.8000

2.0000 y =

0.4000 0.5200 0.7789 1.2165 1.8836 2.8407 >> [x y]=gaijinEuler('ksf3',1,2,0.2,0.4) x =

1.0000 1.2000 1.4000 1.6000 1.8000

2.0000 y =

0.4000 0.5895 0.9278 1.4615 2.2464 3.3466

6.请编写复合梯形积分公式的Matlab 程序,计算下面积分的近似值,区间等分20n =。

编写辛普森积分公式的Matlab 程序,计算下面积分的近似值,区间等分10n =。

1

20

1

1

dx x +ò

、11sin x dx x -ò 解:

>> edit tixingjifen.m

function s=tixingjifen(f,a,b,n) x=linspace(a,b,(n+1)); y=zeros(1,length(x)); y=feval(f,x) h=(b-a)./n;

s=0.5*h*(y(1)+2*sum(y(2:n))+y(n+1)); end

>> edit simpson.m

function I=simpson(f,a,b,n) h=(b-a)/n;

x=linspace(a,b,2*n+1); y=feval(f,x);

I=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1)); >> edit ksf4.m

function v=ksf4(x) v=1./(x.^2+1);

>>tixingjifen('ksf4',0,1,20) ans =

0.7853

>>simpson('ksf4',0,1,10) ans =

0.7854 >> edit ksf5.m function v=ksf5(x) if(x==0) v=1; else

v=sin(x)./x; end

(第二个函数…ksf5?调用求积函数时,总显示有错误:“NaN”,还没调试好。见谅!) 7.用Jacobi 迭代方法对下面方程组求解,取初始向量(0)(3,2,1)T x =-。

123244233334422x x x -??????

? ???=- ? ??? ? ???-??????

解:

>>edit Jacobi.m

function[x iter]=Jacobi(A,x0,b,tol) D=diag(diag(A)); L=D-tril(A); U=D-triu(A); x=x0; iter=0;

while(norm(A*x-b)/norm(b)>tol) iter=iter+1; x0=x;

x=D\((L+U)*x0+b); end

>> A=[2 4 -4;3 3 3;4 4 2]; >> b=[2 -3 -2]'; >>x0=[3 2 -1]';

>> [x,iter]=Jacobi(A,x0,b,1e-4) x = 1 -1 -1

iter = 3

8.用牛顿法求解方程cos 20x x +=在02x =附近的根。

解:

>> edit Newton.m

function [x iter]=Newton(f,g,x0,tol) iter=0; x=x0;

while(abs(feval(f,x))>tol) x0=x;

x=x0-feval(f,x0)./feval(g,x0); iter=iter+1; end

>> edit ksf6.m function v=ksf6(x) v=x*cos(x)+2; >> edit ksg6.m function z=ksg(y) z=y.^5+y-1;

>> [x iter]=Newton('ksf6','ksg6',2,1e-4) x =

2.4988 iter = 3

9.分别用改进乘幂法、反幂法计算矩阵A 的按模最大特征值及其对应的特征向量、按模最小特征值及其对应的特征向量。

126661626216A -??

??=????-??

>> edit ep.m

function [t,x]=ep(A,x0,tol) [tv0 ti0]=max(abs(x0)); lam0=x0(ti0); x0=x0./lam0; x1=A*x0;

[tv1 ti1]=max(abs(x1)); lam1=x1(ti1); x1=x1./lam1;

while(abs(lam0-lam1)>tol) x0=x1;

lam0=lam1; x1=A*x0;

[tv1 ti1]=max(abs(x1)); lam1=x1(ti1); x1=x1./lam1; end t=lam1; x=x1;

>> edit fanep.m

function[t,x]=fanep(A,x0,tol) [tv0 ti0]=max(abs(x0));

lam0=x0(ti0);

x0=x0./lam0;

x1=A\x0;

[tv1 ti1]=max(abs(x1));

lam1=x1(ti1);

x1=x1./lam1;

while(abs(1/lam0-1/lam1)>tol) x0=x1;

lam0=lam1;

x1=A\x0;

[tv1 ti1]=max(abs(x1));

lam1=x1(ti1);

x1=x1./lam1;

end

t=1/lam1;

x=x1;

>> A=[12 6 -6;6 16 2;-6 2 16]; >>x0=[1 0.5 -0.5]';

>>tol=1e-4;

>>[t,x]=ep(A,x0,tol)

t =

21.5440

x =

1.0000

0.7953

-0.7953 >> A=[12 6 -6;6 16 2;-6 2 16]; >>x0=[1 0.5 -0.5]';

>>tol=1e-4;

[t,x]=fanep(A,x0,tol)

t =

4.4560

x =

1.0000

-0.6287

0.6287

10.将积分区间n 等分,

用复合梯形求积公式计算定积分x ?,比较不同n 值

时的误差(画出平面上 log(n)-log(Error)图). 解:

>> edit ksf7.m function v=ksf7(x) v=sqrt(1+x.^2);

>> I=quad('ksf7',1,3); >> n=1:100; >>for i=1:100

x(i)=tixingjifen('ksf7',1,3,i); error(i)=abs(I-x(i)); end

>>plot(log10(n),log10(error(n)))

11.用SOR 迭代方法对下面方程组求解,取初始向量(0)(1,0,1)T x =-。

123210113180125x x x -?????? ? ???--= ? ??? ? ???--??????

解: >> edit sor.m

function [x,iter]=sor(A,x0,b,omega,tol)

D=diag(diag(A)); L=D-tril(A); U=D-triu(A); x=x0; iter=0;

while(norm(A*x-b)/norm(b)>tol) iter=iter+1; x0=x;

x=(D-omega*L)\(omega*b+(1-omega)*D*x+omega*U*x);

end

>> A=[2 -1 0;-1 3 -1;0 -1 2];

>> b=[1 8 -5]';

>>x0=[1 0 -1]';

>> [x,iter]=sor(A,x0,b,1.1,1e-4)

x =

1.9999

3.0000

-1.0000

iter =

5

其他

>> A=[1 2 3 4;5 6 7 8];

>> A

A =

1 2 3 4

5 6 7 8

>> [m n]=size(A)

m =

2

n =

4

>> x=[1 2 3 4 5];

>>x

x =

1 2 3 4 5 >>length(x)

ans =

5

>> A=[2 3 4;1 1 9; 1 2 -6];

>> A

A =

2 3 4

1 1 9

1 2 -6

>> [L U]=lu(A);

>> L

L =

1.0000 0 0

0.5000 1.0000 0

0.5000 -1.0000 1.0000 >> U

U =

2.0000

3.0000

4.0000

0 -0.5000 7.0000

0 0 -1.0000

>> x=linspace(0,1,11);

>>x'

ans =

0.1000

0.2000

0.3000

0.4000

0.5000

0.6000

0.7000

0.8000

0.9000

1.0000

>> x=[1 2 3 4];

>> y=[6 11 18 27];

>> p=polyfit(x,y,2)

p =

1.0000

2.0000

3.0000

>>diag(ones(4,1),1)

ans =

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

0 0 0 0 0

1 牛顿法解方程组根

Functions=NewtonIterate(x,eps)

%Newton迭代法求解非线性方程组的解

%x为迭代初值,eps为允许误差

Ifnargin==1

eps=1.0e-6;

elseifnargin<1

return

end

x1=fx1(x);%非线性方程组函数fx1.m

x2=-dfx1(x);%非线性方程组的导数函数dfx1.m x0=x2\x1';

while norm(x0)>=eps

x=x0'+x;

x2=-dfx1(x);

x0=x2\x1';

end

s=x0'+x;

return

function y=fx1(x)%函数1

y=x^3-2*x-5

function y=dfx1(x)%函数2

y=3*x^2-2

%命令行

>>x= NewtonIterate(2.5,eps)

x=1307/624

2拉格朗日插值法

function yh=lagrange(x,y,xh)

n=length(x);

m=length(xh);

yh=zeros(1,m);

c1=ones(n-1,1);

c2=ones(1,m);

for i=1:n

xp=x([1:i-1 i+1:n]);

yh=yh+y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2));

end

3 牛顿插值法

function [p,q]=chashang(x,y)

n=length(x);

p(:,1)=x;

p(:,2)=y;

for j=3:n+1

p(1:n+2-j,j)=diff(p(1:n+3-j,j-1))./(x(j-1:n)-x(1:n+2-j)); end

q=p(1,2:n+1)';

4 改进乘幂法

function [t,y]=eigIPower(a,xinit,ep)

v0=xinit;

[t,ti]=max(abs(v0));

lam0=v0(ti);

u0=v0/lam0;

while(flag==0)

v1=a*u0;

[tv,ti]=max(abs(v1));

lam1=v1(ti);

u0=v1/lam1;

err=abs(lam0-lam1);

if(err<=eo)

flag=1;

end

lam0=lam1;

end

t=lam1;

y=u0;

5 高斯赛德尔迭代法求解方程组

function [x,iter]=gs(A,b,tol)

D=diag(diag(A));

L=D-tril(A);

U=D-triu(A);

x=zeros(size(b));

for iter=1:500

x =(D-L)\(b+U*x);

error=norm(b-A*x)/norm(b);

if (error

break;

end

end

6 复合梯形公式

7 复合辛普森公式

8 欧拉公式求解微分方程

function [x,y]=odeEuler(f,y0,a,b,n) y(1)=y0;

h=(b-a)/n;

x=a:h:b;

for i=1:n,

y(i+1)=y(i)+h*feval(f,x(i),y(i)); end

(完整word版)同济大学线性代数期末试卷全套试卷(1至4套)

《线性代数》期终试卷1 ( 2学时) 本试卷共七大题 一、填空题(本大题共7个小题,满分25分): 1.(4分)设阶实对称矩阵的特征值为, , , 的属于的特征向量是 , 则的属于的两个线性无关的特征向量是 (); 2.(4分)设阶矩阵的特征值为,,,, 其中是的伴随 矩阵, 则的行列式(); 3.(4分)设, , 则 (); 4.(4分)已知维列向量组所生成的向量空间为,则的维数dim(); 5.(3分)二次型经过正交变换可化为 标准型,则();

6.(3分)行列式中的系数是(); 7.(3分) 元非齐次线性方程组的系数矩阵的秩为, 已知是它的个 解向量, 其中, , 则该方程组的通解是 ()。 二、计算行列 式: (满分10分) 三、设, , 求。 (满分10分) 四、取何值时, 线性方程组无解或有解?有解时求出所有解(用向量形式表示)。

(满分15分) 五、设向量组线性无关, 问: 常数满足什么条件时, 向量组 , , 也线性无关。 (满分10分) 六、已知二次型, (1)写出二次型的矩阵表达式; (2)求一个正交变换,把化为标准形, 并写该标准型; (3)是什么类型的二次曲面? (满分15分) 七、证明题(本大题共2个小题,满分15分): 1.(7分)设向量组线性无关, 向量能由线性表示, 向量 不能由线性表示 . 证明: 向量组也线性无关。 2. (8分)设是矩阵, 是矩阵, 证明: 时, 齐次线性方程组 必有非零解。

《线性代数》期终试卷2 ( 2学时) 本试卷共八大题 一、是非题(判别下列命题是否正确,正确的在括号内打√,错误的在括号内打×;每小题2 分,满分20 分): 1. 若阶方阵的秩,则其伴随阵 。() 2.若矩阵和矩阵满足,则 。() 3.实对称阵与对角阵相似:,这里必须是正交 阵。() 4.初等矩阵都是可逆阵,并且其逆阵都是它们本 身。() 5.若阶方阵满足,则对任意维列向量,均有 。()

同济大学数值分析matlab编程题汇编

MATLAB 编程题库 1.下面的数据表近似地满足函数2 1cx b ax y ++=,请适当变换成为线性最小二乘问题,编程求最好的系数c b a ,,,并在同一个图上画出所有数据和函数图像. 625 .0718.0801.0823.0802.0687.0606.0356.0995 .0628.0544.0008.0213.0362.0586.0931.0i i y x ---- 解: x=[-0.931 -0.586 -0.362 -0.213 0.008 0.544 0.628 0.995]'; y=[0.356 0.606 0.687 0.802 0.823 0.801 0.718 0.625]'; A=[x ones(8,1) -x.^2.*y]; z=A\y; a=z(1); b=z(2); c=z(3); xh=-1:0.1:1; yh=(a.*xh+b)./(1+c.*xh.^2); plot(x,y,'r+',xh,yh,'b*')

2.若在Matlab工作目录下已经有如下两个函数文件,写一个割线法程序,求出这两个函数 10 的近似根,并写出调用方式: 精度为10 解: >> edit gexianfa.m function [x iter]=gexianfa(f,x0,x1,tol) iter=0; while(norm(x1-x0)>tol) iter=iter+1; x=x1-feval(f,x1).*(x1-x0)./(feval(f,x1)-feval(f,x0)); x0=x1;x1=x; end >> edit f.m function v=f(x) v=x.*log(x)-1; >> edit g.m function z=g(y) z=y.^5+y-1; >> [x1 iter1]=gexianfa('f',1,3,1e-10) x1 = 1.7632 iter1 = 6 >> [x2 iter2]=gexianfa('g',0,1,1e-10) x2 = 0.7549 iter2 = 8

数值分析MATLAB上机实验

数值分析实习报告 姓名:gestepoA 学号:201******* 班级:***班

序言 随着计算机技术的迅速发展,数值分析在工程技术领域中的应用越来越广泛,并且成为数学与计算机之间的桥梁。要解决工程问题,往往需要处理很多数学模型,不仅要研究各种数学问题的数值解法,同时也要分析所用的数值解法在理论上的合理性,如解法所产生的误差能否满足精度要求:解法是否稳定、是否收敛及熟练的速度等。而且还能减少大量的人工计算。 由于工程实际中所遇到的数学模型求解过程迭代次数很多,计算量很大,所以需要借助如MATLAB,C++,VB,JAVA的辅助软件来解决,得到一个满足误差限的解。本文所计算题目,均采用MATLAB进行编程,MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来MATLAB最突出的特点就是简洁,它用更直观的、符合人们思维习惯的代码。它具有以下优点: 1友好的工作平台和编程环境。MATLAB界面精致,人机交互性强,操作简单。 2简单易用的程序语言。MATLAB是一个高级的矩阵/阵列语言,包含控制语言、函数、数据结构,具有输入、输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编好一个较大的复杂的应用程序(M 文件)后再一起运行。 3强大的科学计算机数据处理能力。包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数。 4出色的图像处理功能,可以方便地输出二维图像,便于我们绘制函数图像。

目录 1 第一题 (4) 1.1 实验目的 (4) 1.2 实验原理和方法 (4) 1.3 实验结果 (5) 1.3.1 最佳平方逼近法 (5) 1.3.2 拉格朗日插值法 (7) 1.3.3 对比 (8) 2 第二题 (9) 2.1实验目的 (9) 2.2 实验原理和方法 (10) 2.3 实验结果 (10) 2.3.1 第一问 (10) 2.3.2 第二问 (11) 2.3.3 第三问 (11) 3 第三题 (12) 3.1实验目的 (12) 3.2 实验原理和方法 (12) 3.3 实验结果 (12) 4 MATLAB程序 (14)

同济大学期末考试试卷A卷

同济大学期末考试试卷( A 卷) 2005 学年——2006 学年第二学期 课程名《物流与供应链管理》 学号姓名成绩 一、简答题(6%×7=42%) 1.简述供应链及供应链管理的含义。 答:供应链是围绕核心企业,通过对信息流、物流、资金流的控制,从采购原材料开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的将供应商、制造商、分销商、零售商直到最终用户连成一个整体的功能网链结构模式。 供应链管理是指对供应商、制造商、物流者和分销商等各种经济活动,有效开展集成管理,以正确的数量和质量,正确的地点,正确的时间,进行产品制造和分销,提高系统效率,促使系统成本最小化,并提高消费者的满意度和服务水平。 2.简述获取供应链战略匹配的基本步骤。 答:获取供应链战略匹配的3个基本步骤如下: (1)理解顾客。首先,公司必须理解每一个目标顾客群的顾客需要,它能帮助公司确 定预期成本和服务要求。 (2)理解供应链。供应链有很多种类型,每一种都设计用来完成不同的任务。公司必 须明确其供应链设计用来做什么。 (3)获取战略匹配。如果一条供应链运营良好,但与预期顾客需要之间不相匹配,那 么,公司或者重新构建供应链以支持其竞争战略,或者改变其竞争战略,以适应供应链。 3.总体计划的制定应权衡哪些因素?相应的总体计划战略内涵是什么? 答:通常来说,计划者要进行的基本权衡有如下几个:

?生产能力(规定时间、加班时间和转包生产时间) ?库存 ?库存积压或失去的销售额 在三种成本之间权衡,可以得到以下三种总体计划战略: (1)追逐战略——当需求变动时,通过改变机器的生产能力或雇用或解雇劳动力,使 生产率和需求率保持一致。适用于库存成本高而改变生产能力和工人人数的成本低的情形。 (2)工人人数或生产能力的弹性时间战略——将利用率作为杠杆。劳动力和生产能力 不变,通过运用不同的加班量或弹性时间表来达到生产与需求的一致。适用于库存成本很高或改变生产能力的代价较小的情形。 (3)水平战略——将库存作为杠杆。在这种战略中,机器生产能力和劳动力人数保持 着一个稳定的产出率,通过保持相应的库存量来应对需求的变化。这种情形下生产与需求不协调,导致库存水平高、积压产品多,适用于库存成本和积压产品成本相对较低的情形。 4.在某一时期进行商业促销,这个时期的需求量通常会上升。请问上升的需求量是由哪些原因造成的? 答: (1)市场增长——指新老客户对该促销产品的消费的增加; (2)抢占市场分额——指顾客用某公司的促销产品来代替对另一家公司的相同产品 的购买; (3)提前消费——指顾客将未来的消费转到当前进行消费。 5.回购合同是如何有助于生产商提高其自身收益以及整条供应链受益的? 答:回购合同的含义是生产商通过承诺以低于进货的价格买回销售季节结束时所有剩余商品,从而增加零售商进货的数量。 这一措施的作用是,增加零售商每件剩余产品的残价,从而提高零售商的订货量。虽然生产商承担了一些库存积压的费用,但是有可能从中受益,因为从平均来看整条供应链最终会受出更多的产品。

同济大学数值分析matlab编程题汇编

MATLAB 编程题库 1.下面的数据表近似地满足函数2 1cx b ax y ++= ,请适当变换成为线性最小二乘问题,编程求最好的系数c b a ,,,并在同一个图上画出所有数据和函数图像. 625 .0718.0801.0823.0802 .0687 .0606 .0356 .0995.0628.0544.0008.0213.0362.0586.0931.0i i y x ---- 解: x=[-0.931 -0.586 -0.362 -0.213 0.008 0.544 0.628 0.995]'; y=[0.356 0.606 0.687 0.802 0.823 0.801 0.718 0.625]'; A=[x ones(8,1) -x.^2.*y]; z=A\y; a=z(1); b=z(2); c=z(3); xh=-1:0.1:1; yh=(a.*xh+b)./(1+c.*xh.^2); plot(x,y,'r+',xh,yh,'b*')

2.若在Matlab工作目录下已经有如下两个函数文件,写一个割线法程序,求出这两个函数 10 的近似根,并写出调用方式: 精度为10 >> edit gexianfa.m function [x iter]=gexianfa(f,x0,x1,tol) iter=0; while(norm(x1-x0)>tol) iter=iter+1; x=x1-feval(f,x1).*(x1-x0)./(feval(f,x1)-feval(f,x0)); x0=x1;x1=x; end >> edit f.m function v=f(x) v=x.*log(x)-1; >> edit g.m function z=g(y) z=y.^5+y-1; >> [x1 iter1]=gexianfa('f',1,3,1e-10) x1 = 1.7632 iter1 = 6 >> [x2 iter2]=gexianfa('g',0,1,1e-10) x2 = 0.7549 iter2 = 8

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

同济大学版高等数学期末考试试卷

同济大学版高等数学期 末考试试卷 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

《高数》试卷1(上) 一.选择题(将答案代号填入括号内,每题3分,共30分). 1.下列各组函数中,是相同的函数的是( ). (A )()()2ln 2ln f x x g x x == 和 (B )()||f x x = 和 ( )g x =(C )()f x x = 和 ( )2 g x = (D )()|| x f x x = 和 ()g x =1 2.函数() 00x f x a x ≠=?? =? 在0x =处连续,则a =( ). (A )0 (B )1 4 (C )1 (D )2 3.曲线ln y x x =的平行于直线10x y -+=的切线方程为( ). (A )1y x =- (B )(1)y x =-+ (C )()()ln 11y x x =-- (D )y x = 4.设函数()||f x x =,则函数在点0x =处( ). (A )连续且可导 (B )连续且可微 (C )连续不可导 (D )不连续不可微 5.点0x =是函数4y x =的( ). (A )驻点但非极值点 (B )拐点 (C )驻点且是拐点 (D )驻点且是极值点 6.曲线1 || y x = 的渐近线情况是( ). (A )只有水平渐近线 (B )只有垂直渐近线 (C )既有水平渐近线又有垂直渐近线 (D )既无水平渐近线又无垂直渐近线 7.211 f dx x x ??' ????的结果是( ). (A )1f C x ?? -+ ??? (B )1f C x ?? --+ ??? (C )1f C x ??+ ??? (D )1f C x ?? -+ ???

同济大学博士研究生培养方案

建设管理系2011年博士培养方案 管理科学与工程(工学门类) (2011年7月修订) 一、适用学科、专业: 管理科学与工程(一级学科,工学门类) 本一级学科不设二级学科,此方案适用于建设项目管理、房地产经济与管理研究方向,授工学学位。 二、学制年限 直博生和提前攻博生4-5年,普博生一般为3年,在职博士生可适当延长。 三、培养计划制定的主要原则与内容 博士生的培养计划包括课程学习计划和论文工作计划两部分。课程学习计划由:(1)公共必修课程;(2)学科专业要求的必修和限选课;(3)必修环节等组成。对外校及本校其他专业考入的博士生还需制定补修课程的具体内容及进度安排。课程学习计划一般在入学三周内在导师指导下完成,论文工作计划在博士生进行文献综述与选题报告时完成。 培养计划应考虑学科发展趋势的需要及研究生的具体情况,并使计划在以下几个方面得到充分的综合平衡:(1)管理科学的基础理论;(2)适当宽度和深度的建设与房地产管理专业知识;(3)一定的工程管理实践、计量经济模型计算、设计能力;(4)科学研究工作各主要环节所需的能力;(5)必要的相邻学科知识。 四、培养环节 博士生培养包括课程学习,资格考试,文献综述与选题报告,论文工作,最终学术报告,论文答辩等环节。 1、文献综述与选题报告 博士生应在导师指导下查阅文献资料,深入调查研究,确定具有理论和实践意义的具体课题,并尽早完成选题报告。选题报告应包括选题背景、文献综述、选题及其意义、研究目的、主要研究内容、技术路线和研究方法、工作特色及难点、预期成果及可能的创新点、论文工作计划等。文献综述应阅读不少于30篇与学位论文有关,且反映所研究内容最新状况的文献,其中50%应为外文文献。选题报告会应在二级(或一级)学科范围内相对集中、公开地进行,并以博士生导师为主的不少于3名教授(含导师)参加,并吸收有关教师和研究生参加。跨学科的论文选题应聘请相关学科的导师参加。若学位论文课题有重大变动,应重新作选题报告,以保证课题的前沿性和创新性。评审通过的选题报告,应以书面形式交系研究生业务办备案。 论文选题可由学生自己选题,也可结合指导教师的科研任务进行。鼓励博士生自己选择具有创新性的研究课题。研究生学位论文选题应紧密结合指导教师的研究方向和学术专长,从事交叉学科课题研究的学生应申请联合指导教师,学生应选择指导教师熟悉的研究领域从事学位论文工作。 选题报告时间由指导教师自行决定,但距离申请答辩的日期不少于12个月。 2、资格考试 资格考试在课程学习结束后进行,由系统一安排。按照土木工程学位分委员会《关于博士生资格考试规定》实施。

数值分析的matlab实现

第2章牛顿插值法实现 参考文献:[1]岑宝俊. 牛顿插值法在凸轮曲线修正设计中的应用[J]. 机械工程师,2009,10:54-55. 求牛顿插值多项式和差商的MA TLAB 主程序: function[A,C,L,wcgs,Cw]=newpoly(X,Y) n=length(X);A=zeros(n,n);A(:,1) =Y'; s=0.0;p=1.0;q=1.0;c1=1.0; for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1)); end b=poly(X(j-1));q1=conv(q,b);c1=c1*j;q=q1; end C=A(n,n);b=poly(X(n));q1=conv(q1,b); for k=(n-1):-1:1 C=conv(C,poly(X(k)));d=length(C);C(d)=C(d)+A(k,k); end L(k,:)=poly2sym(C);Q=poly2sym(q1); syms M wcgs=M*Q/c1;Cw=q1/c1; (1)保存名为newpoly.m 的M 文件 (2)输入MA TLAB 程序 >> X=[242,243,249,250]; >> Y=[13.681,13.526,13.098,13.095]; >> [A,C,L,wcgs,Cw]=newpoly(X,Y) 输出3阶牛顿插值多项式L 及其系数向量C 差商的矩阵A ,插值余项wcgs 及其 ) ()()1(ξ+n n f x R 的系数向量Cw 。 A = 13.6810 0 0 0 13.5260 -0.1550 0 0 13.0980 -0.0713 0.0120 0 13.0950 -0.0030 0.0098 -0.0003 C = 1.0e+003 *

第06章_MATLAB数值计算_例题源程序汇总

第6章 MATLAB 数值计算 例6.1 求矩阵A 的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。 1356 78256323578255631 01-???? -? ?=???? -??A A=[13,-56,78;25,63,-235;78,25,563;1,0,-1]; max(A,[],2) %求每行最大元素 min(A,[],2) %求每行最小元素 max(A) %求每列最大元素 min(A) %求每列最小元素 max(max(A)) %求整个矩阵的最大元素。也可使用命令:max(A(:)) min(min(A)) %求整个矩阵的最小元素。也可使用命令:min(A(:)) 例6.2 求矩阵A 的每行元素的乘积和全部元素的乘积。 A=[1,2,3,4;5,6,7,8;9,10,11,12]; S=prod(A,2) prod(S) %求A 的全部元素的乘积。也可以使用命令prod(A(:)) 例6.3 求向量X =(1!,2!,3!,…,10!)。 X=cumprod(1:10) 例6.4 对二维矩阵x ,从不同维方向求出其标准方差。 x=[4,5,6;1,4,8] %产生一个二维矩阵x y1=std(x,0,1) y2=std(x,1,1) y3=std(x,0,2) y4=std(x,1,2) 例6.5 生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。 X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)

例6.6 对下列矩阵做各种排序。 185412613713-?? ??=?? ??-?? A A=[1,-8,5;4,12,6;13,7,-13]; sort(A) %对A 的每列按升序排序 -sort(-A,2) %对A 的每行按降序排序 [X,I]=sort(A) %对A 按列排序,并将每个元素所在行号送矩阵I 例6.7 给出概率积分 2 (d x x f x x -? e 的数据表如表6.1所示,用不同的插值方法计算f (0.472)。 x=0.46:0.01:0.49; %给出x ,f(x) f=[0.4846555,0.4937542,0.5027498,0.5116683]; format long interp1(x,f,0.472) %用默认方法,即线性插值方法计算f(x) interp1(x,f,0.472,'nearest') %用最近点插值方法计算f(x) interp1(x,f,0.472,'spline') %用3次样条插值方法计算f(x) interp1(x,f,0.472,'cubic') %用3次多项式插值方法计算f(x) format short 例6.8 某检测参数f 随时间t 的采样结果如表6.2,用数据插值法计算t =2,7,12,17,22,17,32,37,42,47,52,57时的f 值。 T=0:5:65; X=2:5:57;

同济大学数值分析工研试卷B卷

同济大学课程考核试卷(B卷)(工科研究生)2011—2012学年第一学期 命题教师签名:审核教师签名: 课号:2102002课名:数值分析(工科研究生)考试考查:考试此卷选为:期中考试( )、期终考试( )、重考(√)试卷 (注意:本试卷共7大题,3大张,满分100分.考试时间为120分钟.要求写出解题过程,否则不予计分. 精确到小数点后3位) 一、(15分)设 212 233 618 A - ? ? ? =- ? ? - ?? , 2 5 b -?? ? =- ? ? ?? .将A进行 LU 分解,并由此求解线性方程组 AX b =. 二、(15分)用牛顿法求出方程x2 e2 x +=的二个实根(计算精度为ε=10-3). 三、(10分)

四、(15分) 构造三点积分公式: 1 2 012 1 ()((0) x f x dx f f f ωωω - ≈++ ? 使该积分公式有尽可能高的代数精度.并指出该公式的代数精度.它是Gauss公式吗? 由此公式计算积分1 2 1 x x e dx - ?的近似值,并与积分的精确值比较,从而得到误差值. 五、(15分)写出求解方程组Ax b =的Jacobi迭代格式,初始迭代向量为 x ?? ? = ? ? ?? ,计算迭 代3次的数值结果.其中 210 131 012 A - ?? ? =-- ? ? - ?? , 1 8 5 b ?? ? = ? ? -??

六、(15分) 取步长0.2h =,用欧拉(尤拉)公式计算下列微分方程在节点 0.2n x n =(n=1,2,3,4,5)上的近似值. 并与精确解y =比较各节点上的误差. 2, 01 (0)1dy x y x dx y y ?=-≤≤???=? 以下为Matlab 编程题 七、(15分)用改进的乘幂法计算矩阵 213116282A ?? ? = ? ??? 的主特征值和相应的特征向量(取初 始向量00(1,1,1)T v u ==计算精度为3 10ε-=).

数值分析的MATLAB程序

列主元法 function lianzhuyuan(A,b) n=input('请输入n:') %选择阶数A=zeros(n,n); %系数矩阵A b=zeros(n,1); %矩阵b X=zeros(n,1); %解X for i=1:n for j=1:n A(i,j)=(1/(i+j-1)); %生成hilbert矩阵A end b(i,1)=sum(A(i,:)); %生成矩阵b end for i=1:n-1 j=i; top=max(abs(A(i:n,j))); %列主元 k=j; while abs(A(k,j))~=top %列主元所在行 k=k+1; end for z=1:n %交换主元所在行a1=A(i,z); A(i,z)=A(k,z); A(k,z)=a1; end a2=b(i,1); b(i,1)=b(k,1); b(k,1)=a2; for s=i+1:n %消去算法开始m=A(s,j)/A(i,j); %化简为上三角矩阵 A(s,j)=0; for p=i+1:n A(s,p)=A(s,p)-m*A(i,p); end b(s,1)=b(s,1)-m*b(i,1); end end X(n,1)=b(n,1)/A(n,n); %回代开始 for i=n-1:-1:1 s=0; %初始化s for j=i+1:n s=s+A(i,j)*X(j,1);

end X(i,1)=(b(i,1)-s)/A(i,i); end X 欧拉法 clc clear % 欧拉法 p=10; %贝塔的取值 T=10; %t取值的上限 y1=1; %y1的初值 r1=1; %y2的初值 %输入步长h的值 h=input('欧拉法please input number(h=1 0.5 0.25 0.125 0.0625):h=') ; if h>1 or h<0 break end S1=0:T/h; S2=0:T/h; S3=0:T/h; S4=0:T/h; i=1; % 迭代过程 for t=0:h:T Y=(exp(-t)); R=(1/(p-1))*exp(-t)+((p-2)/(p-1))*exp(-p*t); y=y1+h*(-y1); y1=y; r=r1+h*(y1-p*r1); r1=r; S1(i)=Y; S2(i)=R; S3(i)=y; S4(i)=r; i=i+1; end t=[0:h:T]; % 红线为解析解,'x'为数值解 plot(t,S1,'r',t,S3,'x')

Matlab作业3(数值分析)答案

Matlab作业3(数值分析) 机电工程学院(院、系)专业班组 学号姓名实验日期教师评定 1.计算多项式乘法(x2+2x+2)(x2+5x+4)。 答: 2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。(2)求解在x=8时多项 式(x-1)(x-2) (x-3)(x-4)的值。 答:(1) (2)

3. y=sin(x),x从0到2π,?x=0.02π,求y的最大值、最小值、均值和标准差。 4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.35 1.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。解:x=[0.0 0.3 0.8 1.1 1.6 2.3]'; %输入变量数据x y=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据y p=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数p x1=[0.9 1.2]; %输入点x1 y1=polyval(p,x1) %估计x1处对应的y1 p = -0.2387 0.9191 0.5318 y1 = a) 1.2909

5.实验数据处理:已知某压力传感器的测试数据如下表 p为压力值,u为电压值,试用多项式 d cp bp ap p u+ + + =2 3 ) ( 来拟 合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。解: >> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9]; u=[10,11,13,14,17,18,22,24,29,34,39]; x=polyfit(p,u,3) %得多项式系数 t=linspace(0,10,100); y=polyval(x,t); %求多项式得值 plot(p,u,'*',t,y,'r') %画拟和曲线 x = 0.0195 -0.0412 1.4469 9.8267

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

matlab数值分析例题

1、 在MATLAB 中用Jacobi 迭代法讨论线性方程组, 1231231234748212515 x x x x x x x x x -+=?? -+=-??-++=? (1)给出Jacobi 迭代法的迭代方程,并判定Jacobi 迭代法求解此方程组是否收敛。 (2)若收敛,编程求解该线性方程组。 解(1):A=[4 -1 1;4 -8 1;-2 1 5] %线性方程组系数矩阵 A = 4 -1 1 4 -8 1 -2 1 5 >> D=diag(diag(A)) D = 4 0 0 0 -8 0 0 0 5 >> L=-tril(A,-1) % A 的下三角矩阵 L = 0 0 0 -4 0 0 2 -1 0 >> U=-triu(A,1) % A 的上三角矩阵 U = 0 1 -1 0 0 -1 0 0 0 B=inv(D)*(L+U) % B 为雅可比迭代矩阵 B = 0 0.2500 -0.2500 0.5000 0 0.1250 0.4000 -0.2000 0 >> r=eigs(B,1) %B 的谱半径

r = 0.3347 < 1 Jacobi迭代法收敛。 (2)在matlab上编写程序如下: A=[4 -1 1;4 -8 1;-2 1 5]; >> b=[7 -21 15]'; >> x0=[0 0 0]'; >> [x,k]=jacobi(A,b,x0,1e-7) x = 2.0000 4.0000 3.0000 k = 17 附jacobi迭代法的matlab程序如下: function [x,k]=jacobi(A,b,x0,eps) % 采用Jacobi迭代法求Ax=b的解 % A为系数矩阵 % b为常数向量 % x0为迭代初始向量 % eps为解的精度控制 max1= 300; %默认最多迭代300,超过300次给出警告D=diag(diag(A)); %求A的对角矩阵 L=-tril(A,-1); %求A的下三角阵 U=-triu(A,1); %求A的上三角阵 B=D\(L+U); f=D\b; x=B*x0+f; k=1; %迭代次数 while norm(x-x0)>=eps x0=x; x=B*x0+f; k=k+1; if(k>=max1) disp('迭代超过300次,方程组可能不收敛'); return; end end

同济大学期末考试试题

数学分析(上)期末试题 得分_________ 姓名_________ 1. 计算(每小题6分,共36分) 学号_________ (1)?++∞→x x t t dt 1)1(lim (2) dx xe x ? --1 1| | (3) 121lim ++∞→+++p p p p n n n (4) 00,01)(2 ='=--+=?x y t y x dt e y e x y y 求满足设 (5) h x f h x f x f h 2) ()3(lim ,1)(000 0--='→则 (6) ?dx x x 2 cos cos ln 2 写出下列命题的分析表述(8分) (1) f '(x )在x 0的极限不是A . (2) {a n }是基本数列. 3 (8分)指出下列命题之间的关系: (1) f (x )在点0x 局部有界;(2) f (x )在点0x 极限存在; (3) f (x )在点0x 可导;(4) f (x )在点0x 连续;(5) f (x )在点0x 有定义. 4. (8分)讨论函数???? ???<=>--=? cos 10, 20 ,1) 1(2sin )(20 22 x tdt x x x e e x f x x x 的连续性, 若有间断点, 是哪种间断点? 给出函数的连续区间. 5. (12分)设x 1>0, x n +1=ln(1+x n )(n=1,2,???), 证明 ).(2~)(;0lim )(∞→=∞→n n x ii x i n n n 6. (8分)设函数f (x ), g (x )在闭区间[a , b ]上连续, 证明存在ξ∈(a , b ),

数值分析matlab代码

1、%用牛顿法求f(x)=x-sin x 的零点,e=10^(-6) disp('牛顿法'); i=1; n0=180; p0=pi/3; tol=10^(-6); for i=1:n0 p=p0-(p0-sin(p0))/(1-cos(p0)); if abs(p-p0)<=10^(-6) disp('用牛顿法求得方程的根为') disp(p); disp('迭代次数为:') disp(i) break; end p0=p; end if i==n0&&~(abs(p-p0)<=10^(-6)) disp(n0) disp('次牛顿迭代后无法求出方程的解') end 2、disp('Steffensen加速'); p0=pi/3; for i=1:n0 p1=0.5*p0+0.5*cos(p0); p2=0.5*p1+0.5*cos(p1); p=p0-((p1-p0).^2)./(p2-2.*p1+p0); if abs(p-p0)<=10^(-6) disp('用Steffensen加速求得方程的根为') disp(p); disp('迭代次数为:') disp(i) break; end p0=p; end if i==n0&&~(abs(p-p0)<=10^(-6)) disp(n0) disp('次Steffensen加速后无法求出方程的解') end 1、%使用二分法找到方程 600 x^4 -550 x^3 +200 x^2 -20 x -1 =0 在区间[0.1,1]上的根, %误差限为 e=10^-4 disp('二分法')

a=0.2;b=0.26; tol=0.0001; n0=10; fa=600*(a.^4)-550*(a.^3)+200*(a.^2)-20*a-1; for i=1:n0 p=(a+b)/2; fp=600*(p.^4)-550*(p.^3)+200*(p.^2)-20*p-1; if fp==0||(abs((b-a)/2)0 a=p; else b=p; end end if i==n0&&~(fp==0||(abs((b-a)/2)

实验6答案 Matlab数值计算

实验6 Matlab数值计算 实验目的: 1、掌握数据统计与分析的方法; 2、掌握数据插值和曲线拟合的方法及其应用; 3、掌握多项式的常用运算。 实验内容: 1.利用randn函数生成符合正态分布的10×5随机矩阵A,进行如下操作: (1)求A的最大元素和最小元素; (2)求A的每行元素的和以及全部元素的和; (3)分别对A的每列元素按升序、每行元素按降序排列。 a = randn(10,5)+10; ma = max(max(a)) mi = min(min(a)) s = sum(a,2) sa = sum(sum(a)) p = sort(a) p1 = -sort(-a,2) 2.用3次多项式方法插值计算1-100之间整数的平方根。 f = sqrt(n); interp1(n,f,(1:100),'cubic') 3.某气象观测站测得某日6:00-18:00之间每隔2h的室内外温度(°C)如下表所示。

使用三次样条插值分别求出该日室内外6:30-17:30之间每隔2h 各点的近似温度,并绘制插值后的温度曲线。 n= 6:2:18; f1 = [18 20 22 25 30 28 24]; f2 = [15 19 24 28 34 32 30]; r = 6.5:2:17.5; w = interp1(n,f1,r,'spline'); w1 = interp1(n,f2,r,'spline'); subplot(211),plot(r,w) subplot(212),plot(r,w1) 4. 已知lgx 在[1,101]区间10个整数采样点的函数值如下表所示, 试求lgx 的5次拟合多项式p(x),并绘制lgx 和p(x)在[1,101]区间的函数曲线。 x = linspace(1,101,10); y = log(x) /log(10); p = polyfit(x,y,5) y1 = polyval(p,x) plot(x,y,':o',x,y1,'-*') legend('sin(x)','fit') 5. 有3个多项式(),(),()P x x x x P x x P x x x =+++=+=++4 3 2 2 123245223,试进 行下列操作: (1) 求()()()()P x P x P x P x =+123。 (2) 求()P x 的根。 (3) 当x 取矩阵A 的每一元素时,求()P x 的值。其中: .....A --?? ? ?=?????? 11214075 2350 5 25 p1 = [1 2 4 0 5]; p2 = [0 0 0 1 2];

第3章 MATLAB数值计算-习题 答案

roots([1 -1 -1]) x=linspace(0,2*pi,10); y=sin(x); xi=linspace(0,2*pi,100); y1=interp1(x,y,xi); y2=interp1(x,y,xi,'spline'); y3=interp1(x,y,xi,'cublic'); plot(x,y,'o',xi,y1,xi,y2,xi,y3) x=[0 300 600 1000 1500 2000]; y=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; xi=linspace(0,2000,20); yi=1.0332*exp(-(xi+500)/7756); y1=interp1(x,y,xi,'spline'); subplot(2,1,1);plot(x,y,'o',xi,yi,xi,y1,'*') p=polyfit(x,y,2); y2=polyval(p,xi); subplot(2,1,2);plot(x,y,'o',xi,yi,xi,y2,'*') x=[0 300 600 1000 1500 2000]; y=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; xi=linspace(0,2000,20); y1=interp1(x,y,xi,'spline'); subplot(2,1,1);plot(x,y,'-o', xi,y1,'-*') p=polyfit(x,y,2); y2=polyval(p,xi); subplot(2,1,2);plot(x,y,'-o',xi,y2,'-*')

相关文档
最新文档