数值分析考试复习题(附matlab程序实现)

合集下载

matlab考试题库及答案大学

matlab考试题库及答案大学

matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。

答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。

答案:变量3. MATLAB中的向量可以是________或________。

- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。

答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。

答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。

答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。

2. 描述MATLAB中如何实现数组的多维索引。

答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。

例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。

matlab复习题标准答案

matlab复习题标准答案

matlab复习题标准答案# MATLAB复习题标准答案一、选择题1. MATLAB中的矩阵默认是按什么顺序存储的?- A. 行主序- B. 列主序- C. 随机序- D. 行主序2. 下列哪个函数用于计算矩阵的行列式?- A. `det`- B. `diag`- C. `trace`- A. `det`3. MATLAB中如何创建一个5x5的单位矩阵?- A. `eye(5,5)`- B. `zeros(5,5)`- C. `ones(5,5)`- A. `eye(5,5)`4. 下列哪个命令用于生成0到1之间的随机数?- A. `rand()`- B. `randi()`- C. `randn()`- A. `rand()`5. MATLAB中如何计算向量的范数?- A. `norm(vector)`- B. `abs(vector)`- C. `sum(vector)`- A. `norm(vector)`二、填空题1. MATLAB中的`%`符号用于______。

- 答案:注释2. 要创建一个从10到1的递减向量,可以使用______。

- 答案:`1:-1:10`3. MATLAB中,`zeros(3,4)`会生成一个______。

- 答案:3行4列的全零矩阵4. 函数`max(A)`会返回矩阵A中的______。

- 答案:最大值5. `plot(x,y)`函数在MATLAB中用于______。

- 答案:绘制x和y的数据点的图形三、简答题1. 请简述MATLAB中矩阵的基本操作有哪些?- 答案:矩阵的基本操作包括矩阵的创建、转置、求逆、矩阵乘法、矩阵加法、矩阵减法等。

2. MATLAB中如何实现循环结构?- 答案:MATLAB中实现循环结构主要有两种方式,一种是使用`for`循环,另一种是使用`while`循环。

3. 请解释MATLAB中的函数文件和脚本文件的区别。

- 答案:函数文件通常包含返回值和参数,可以被其他脚本或函数调用;而脚本文件主要用于执行一系列命令,不包含返回值。

matlab试题及答案

matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。

答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。

矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。

矩阵的转置使用单引号`'`,例如`A'`。

矩阵的求逆使用`inv`函数,例如`inv(A)`。

2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。

`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。

A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。

答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。

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

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

MATLAB 编程题库1.下面的数据表近似地满足函数21cxb ax y ++=,请适当变换成为线性最小二乘问题,编程求最好的系数c b a ,,,并在同一个图上画出所有数据和函数图像.解: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.mfunction [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.mfunction v=f<x>v=x.*log<x>-1;>> edit g.mfunction z=g<y>z=y.^5+y-1;>> [x1 iter1]=gexianfa<'f',1,3,1e-10>x1 =1.7632iter1 =6>> [x2 iter2]=gexianfa<'g',0,1,1e-10>x2 =0.7549iter2 =83.使用GS迭代求解下述线性代数方程组:解:>> edit gsdiedai.mfunction [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>;>>xx =-3.09101.23720.9802>>iteriter =64.用四阶Range-kutta方法求解下述常微分方程初值问题〔取步长h=0.01 解:>> edit ksf2.mfunction 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;>>fori=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.mfunction [x y]=Rangekutta<f,a,b,h,y0>x=[a:h:b];n=<b-a>/h;y<1>=y0;fori=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>;>>y5.取0.2h =,请编写Matlab 程序,分别用欧拉方法、改进欧拉方法在12x ≤≤上求解初值问题。

数值分析试题

数值分析试题

数值分析考试题一、 填空题(每小题3分,共15分) 1.已知x =62.1341是由准确数a 经四舍五入得到的a 的近似值,试给出x 的绝对 误差界_______________.2. 已知矩阵1221A ⎡⎤=⎢⎥⎣⎦,则A 的奇异值为 _________. 3. 设x 和y 的相对误差均为0.001,则xy 的相对误差约为____________. 4. 424()53,,()_____.i i f x xx x i f x =+-∆=若=则5. 下面Matlab 程序所描述的数学表达式为________________________.a =[10,3,4,6];t=1/(x -1);n=length(a )();1:1:1*();y a n for k n y t y a k end==--=+二、(10分)设32()()f x x a =-。

(1)写出解()0f x =的Newton 迭代格式;(2)证明此迭代格式是线性收敛的。

三、 (15分)已知矛盾方程组Ax=b ,其中21110,1101211A b ⎡⎤-⎡⎤⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎣⎦-⎢⎥⎣⎦,(1)用Householder 方法求矩阵A 的正交分解,即A=QR 。

(2)用此正交分解求矛盾方程组Ax=b 的最小二乘解。

四、(15分) 给出数据点:012343961215i i x y =⎧⎨=⎩(1)用1234,,,x x x x 构造三次Newton 插值多项式3()N x ,并计算 1.5x =的近似值3(1.5)N 。

(2)用事后误差估计方法估计3(1.5)N 的误差。

五、(15分)(1)设012{(),(),()}ϕϕϕx x x 是定义于[-1,1]上关于权函数2()x x ρ=的首项系数为1的正交多项式组,若已知01()1,()x x x ϕϕ==,试求出2()x ϕ。

(2)利用正交多项式组012{(),(),()}ϕϕϕx x x ,求()f x x =在11[,]22-上的二次最佳平方逼近多项式。

数值分析上机题Matlab(东南大学)3

数值分析上机题Matlab(东南大学)3

0.22 0.24 0.26 0.28 0.30 0.32 0.34 0.36 0.38 0.40 0.42 0.44 0.46 0.48 0.50 0.52 0.54 0.56 0.58 0.60 0.62 0.64 0.66 0.68 0.70 0.72
152 139 128 119 110 103 96 90 85 80 76 72 68 65 62 59 56 53 51 49 47 45 43 41 39 38
========================================================================================================================
======================================================================================================================================================================== 习题 3_36 ======================================================================================================================================================================== Omega n x1 x2 x3 x4 x5 x6 x7 x8 x9
-0.71279 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71280 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281 -0.71281

数值分析考试复习题(附录:matlab函数)

数值分析考试复习题(附录:matlab函数)

附录:函数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function p=newpoly(x,y,n,x0) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %p=newpoly(x,y,n)%(x,y)为节点坐标%p为所求的的差值多项式的系数向量%n为牛顿插值次数,n=1时为线性插值,n=2时为二次插值...N=length(x);d=[x;y];if nargin==4for i=1:N %根据插值误差估计式(根据距x0的远近)重新排列插值节点for j=i+1:Nif abs(d(1,i)-x0)>abs(d(1,j)-x0)t=d(:,i);d(:,i)=d(:,j);d(:,j)=t;endendendenddq=zeros(n+1,n+2);dq(:,1)=d(1,1:n+1)';dq(:,2)=d(2,1:n+1)';for i=2:n+1for j=3:i+1dq(i,j)=(dq(i,j-1)-dq(i-1,j-1))/(dq(i,1)-dq(i-j+2,1));%差商表endends=diag(dq(2:end,3:end))';p=dq(1,2);t=1;for i=1:nt=conv(t,[1 -dq(i,1)]);p=polysum(p,s(i).*t);%函数见polysum.mend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,k,flag]=SOR(A,b,delta,w,step) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %函数格式:[x,k,flag]=SOR(A,b,delta,w,step)%A为方程组的系数矩阵%b为方程组右端项%delta为精度要求%step为最大迭代次数,缺省值为100%w为松弛因子,w<1时为低松弛法,w>1时为超松弛法,w=1时为高斯-塞德尔迭代%x为方程组的解%k为迭代次数%flag为收敛标志if nargin<5 step=100;endif nargin<4 w=1;endif nargin<3 ep=1e-5;endn=length(A);k=0;x=zeros(n,1);flag=1;while 1y=x;for i=1:nz=b(i);for j=1:nif j~=iz=z-A(i,j)*x(j);endendif abs(A(i,i))<1e-10||k==stepflag=0;return;endz=z/A(i,i);x(i)=(1-w)*x(i)+w*z;endif norm(y-x,inf)<deltabreak;endk=k+1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y=GaussLegendre(func,a,b,n) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %y=GaussLegendre(func,a,b,n)%func:被积函数表达式,例如'x.^2.*cos(x)'%a:积分下限%b:积分上限%n:节点数xTable=[...0.0 NaN 0 0 0 0;0.5773503 -0.5773503 0 0 0 0;0.7745967 -0.7745967 0.0 0 0 0;0.8611363 -0.8611363 0.3399810 -0.3399810 0 0;0.9061798 -0.9061798 0.5384693 -0.5384693 0.0 0;0.9324685 -0.9324685 0.6612094 -0.6612094 0.2386192 -0.2386192;]; ATable=[...2.0 0 0 0 0 0;1.0 1.0 0 0 0 0;0.5555556 0.5555556 0.8888889 0 0 0;0.3478548 0.3478548 0.6521452 0.6521452 0 0;0.2369269 0.2369269 0.4786287 0.4786287 0.5688889 0;0.1713245 0.1713245 0.3607616 0.3607616 0.4679139 0.4679139;];f=inline(func);x=xTable(n,:);A=A Table(n,:);T=zeros(1,n);T=(a+b)/2+(b-a)/2*x;y=(b-a)/2*sum(A.*feval(f,T));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [y,Ck,Ak]=NewtonCotes(func,a,b,n) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % [y,Ck,Ak]=NewtonCotes(fun,a,b,n)% func:积分表达式,这里有两种选择% (1)积分函数句柄,必须能够接受矢量输入,比如func=@(x)sin(x).*cos(x)% (2)x,y坐标的离散点,第一列为x,第二列为y,必须等距,且节点的个数小于9,% 比如:func=[1:8;sin(1:8)]'如果func的表采用第二种方式,% 那么只需要输入第一个参数即可,否则还要输入a,b,n三个参数% a:积分下限% b:积分上限% n:牛顿-科特斯数公式的阶数,必须满足1<n<7,因为n>=8时不能保证公式的稳定性% (1)n=1,即梯形公式% (2)n=2,即辛普森公式% (3)n=4,即科特斯公式% y:数值积分结果% Ck:科特斯系数% Ak:求积系数if nargin==1[mm,nn]=size(func);if mm>=8error('为了保证NewtonCotes积分的稳定性,最多只能有9个等距节点!') elseif nn~=2error('func应为:第一列为x,第二列为y,并且个数为小于10的等距节点!') endxk=func(:,1)';fk=func(:,2)';a=min(xk);b=max(xk);n=mm-1;elseif nargin==4% 计算积分节点xk和节点函数值fxxk=linspace(a,b,n+1);if isa(func,'function_handle')||isa(func,'inline')fk=func(xk);%当func=sin(x)/x且x=0时出错,fx(1)=NaNif sym(func)==sym(@(x)(sin(x)./x))for i=1:length(xk)if isnan(fk(i)) fk(i)=1;endendend%当func=sin(x)/x且x=0时出错,定义sin(0)/0=1elseerror('输入函数应为匿名函数或内联函数!')endelseerror('输入参数错误,请参考函数帮助!')end% 计算科特斯系数Ck=cotescoeff(n);%函数见cotescoeff.m% 计算求积系数Ak=(b-a)*Ck;% 求和算积分y=Ak*fk';%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,err,k,y]=NewtonDownhill(func,x0,delta,step) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %[x,err,k,y]=newton(func,x0,delta,step)%func是非线性函数表达式,例如'1-exp(-x^2)'%x0是初值%delta是给定的允许误差%step是给定的允许迭代最大次数%x是牛顿法求的的方程近似解%err是误差估计%k是实际迭代次数%y=f(x)f=inline(func);df=inline(diff(sym(func)));C=1;%绝对误差或相对误差控制常数,一般取C=1for k=1:steplambda=1;%牛顿下山因子x(k)=x0-lambda*f(x0)/df(x0);while abs(f(x(k)))>=abs(f(x0))lambda=lambda/2;x(k)=x0-lambda*f(x0)/df(x0);endif x(k)<Cerr(k)=abs(x(k)-x0);elseerr(k)=abs(x(k)-x0)/abs(x(k));endx0=x(k);y(k)=f(x(k));if(err(k)<delta)||(y(k)==0)break;endendfigure;fplot(f,[-2.5 2.5]);grid;hold onplot(x(k),y(k),'r*');h=legend(['f(x)=',func],['根x=',num2str(x(k)),'迭代次数k=',num2str(k)]);set(h,'Location','SouthEast');title('牛顿下山法解非线性方程');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y=mulNewtonCotes(func,a,b,n,m,delta) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % y=mulNewtonCotes(func,a,b,n,m)或% y=mulNewtonCotes(func,a,b,n,Nan,delta)% 复化Newton-Cotes数值积分公式,即在每个子区间上使用Newton-Cotes公式,然后求和% func:被积函数表达式例如'exp(x)'% a,b:积分下上限% m:将区间[a,b]等分的子区间数量% delta:给定误差,当有m输入时不输入delta,否则根据delta重新计算m% n:采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性% (1)n=1,即复化梯形公式% (2)n=2,即复化辛普森公式% (3)n=4,即复化科特斯公式f=inline(func);if nargin==6switch ncase 1d2f=inline(diff(sym(func),2));m=abs(b-a)^3*d2f(max(a,b))/60/delta;m=ceil(sqrt(m));case 2d4f=inline(diff(sym(func),4));m=abs(b-a)^5*d4f(max(a,b))/14400/delta;m=ceil(sqrt(sqrt(m)));endendxk=linspace(a,b,m+1);for i=1:ms(i)=NewtonCotes(f,xk(i),xk(i+1),n);%函数见NewtonCotes.mendy=sum(s);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,k,flag]=Jacobi(A,b,delta,step) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %函数格式:[x,k,flag]=jacobi(A,b,delta,step)%A为方程组的系数矩阵%b为方程组右端项%delta为精度要求%step为最大迭代次数,缺省值为100%x为方程组的解%k为迭代次数%flag为收敛标志if nargin<4 step=100;end;if nargin<3 step=1e-5;end;D=diag(diag(A));L=tril(A,-1);U=triu(A,1);M=D;N=M-A;B=M\N;max(abs(eig(B)));f=M\b;flag=1;%1代表迭代格式收敛k=1;x0=[0 0 0]';x=B*x0+f;while 1x0=x;x=B*x0+f;if norm(x-x0,inf)<deltabreak;endif k==stepflag=0;%0代表迭代格式在规定的迭代次数下不收敛break;endk=k+1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [y,T,err,h]=Romberg(func,a,b,n,delta) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %[y,T,err,h]=Romberg(func,a,b,n,delta)%func是被积函数表达式,例如'x./(4+x.^2)'%a,b是积分下限和上限%n+1是T数表的列数%delta是允许的误差,缺省值为1e-5%T是T数表%y是所求积分值%h是子区间长度if nargin<5 delta=1e-5;end;M=1;h=b-a;err=1;J=0;T=zeros(4,4);f=inline(func);aa=feval(f,a);bb=feval(f,b);if strcmp(func,'sin(x)./x')if a==0aa=1;elseif b==0;bb=1;endendT(1,1)=(h/2)*(aa+bb);while (err>delta)&&((J<n)||(J<4))J=J+1;h=h/2;s=0;for p=1:Mx=a+h*(2*p-1);s=s+feval(f,x);endT(J+1,1)=T(J,1)/2+h*s;M=2*M;for K=1:JT(J+1,K+1)=T(J+1,K)+(T(J+1,K)-T(J,K))/(4^K-1);enderr=abs(T(J,J)-T(J+1,K+1));endy=T(J+1,J+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,err,k,y]=secant(func,x0,x1,delta,step) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %[x,err,k,y]=secant(func,x0,x1,delta,step)%func是非线性函数%x0,x1是初值%delta是给定的允许误差%step是给定的允许迭代最大次数%x是牛顿法求的的方程近似解%err误差估计%k是实际迭代次数%y=f(x)f=inline(func);%以下程序与牛顿下山法类似,区别在于用差商来代替导数C=1;%绝对误差或相对误差控制常数,一般取C=1for k=1:steplambda=1;%牛顿下山因子x(k)=x1-lambda*f(x1)*(x1-x0)/(f(x1)-f(x0));while abs(f(x(k)))>=abs(f(x1))lambda=lambda/2;x(k)=x1-lambda*f(x1)*(x1-x0)/(f(x1)-f(x0));endif x(k)<Cerr(k)=abs(x(k)-x1);elseerr(k)=abs(x(k)-x1)/abs(x(k));endx0=x1;x1=x(k);y(k)=f(x(k));if(err(k)<delta)||(y(k)==0)break;endendfigure;fplot(f,[-2.5 2.5]);grid;hold onplot(x(k),y(k),'r*');h=legend(['f(x)=',func],['根x=',num2str(x(k)),'迭代次数k=',num2str(k)]);set(h,'Location','SouthEast');title('弦截法(含下山因子)解非线性方程');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function q=rectint(x,y,a,b,type) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %q=rectint(x,y,a,b,type)%(x,y)离散积分节点%a,b:积分上下限%type:矩形公式类型,'left'为左矩形,'right'为右矩形,'middle'为中矩形%若不输入type,则缺省值为'middle'%q:积分结果N=length(x);t=zeros(1,N-1);if nargin<5 type='middle';endswitch typecase 'left'for i=1:N-1t(i)=y(i)*(x(i+1)-x(i));endcase 'right'for i=2:Nt(i-1)=y(i)*(x(i)-x(i-1));endcase 'middle'for i=1:N-1t(i)=0.5*(y(i+1)+y(i))*(x(i+1)-x(i));endendq=sum(t);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function p_out=polysum(p1,p2) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if length(p1)==length(p2)p_out=p1+p2;elseif length(p1)>length(p2)p2=[zeros(1,length(p1)-length(p2)),p2];p_out=p1+p2;elsep1=[zeros(1,length(p2)-length(p1)),p1];p_out=p1+p2;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function f=intfun(t,n,k) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 科特斯系数中的积分表达式f=1;for j=[0:k-1,k+1:n]f=f.*(t-j);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function Ck=cotescoeff(n) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 如果查表,有:% A1=[1,1]/2% A2=[1,4,1]/6% A3=[1,3,3,1]/8% A4=[7,32,12,32,7]/90% A5=[19,75,50,50,75,19]/288% A6=[41,216,27,272,27,216,41]/840% A7=[751,3577,1323,2989,2989,1323,3577,751]/17280for i=1:n+1k=i-1;Ck(i)=(-1)^(n-k)/factorial(k)/factorial(n-k)/n*quadl(@(t)intfun(t,n,k),0,n);End %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%。

数值分析与试验期末复习资料

数值分析与试验期末复习资料

1. MA TLAB 计算中,在命令窗口运行语句f=polyval([2 3 1],2),返回结果f= . 2.设1)(2+=x x f ,则=]4,2[f .设函数13)(47+++=x x x x f ,则7阶差商]3,,3,3[710 f = . 8阶差商]3,,3,3[810 f = .若3219()5767f x x x =++,则()f x 的一阶差商[0,1]f = ,32阶差商0132[3,3,,3]f = .设(1)4,(2)6,(3)7f f f ===,则()f x 的二阶差商[1,2,3]f = . 3.在MATLAB 软件中,用于绘制平面数据散点图的函数为 .4.在求解方程组b AX =时,迭代格式f BX X)()1(+=+k k 对于任意初始向量)0(X 及任意f 都收敛的充要条件是 . 5.在函数22)(x x f =上任取四个互异点,通过这四个点的lagrange 插值多项式为 .在函数1)(2++=x x x f 上任取三个互异的点,通过这三个点的lagrange 插值多项式为 . 6.设4[1,1]()f x C -∈,已知节点1,21,0,13210===-=x x x x ,其相应的函数值为31(),0,0,22f x =-,则()f x 的三次Lagrange 插值多项式3()p x = .当2,1,1-=x 时, 4,0,3)(-=x f 则)(x f 的二次Lagrange 插值多项式为 .设(3)()[0,2]∈f x C ,已知节点0120,1,2===x x x ,其相应的函数值为()2,1,2f x =--,则()f x 的二次Lagrange 插值多项式的插值基函数1()l x = ,插值余项2()R x = . 7. MATLAB的值,可在命令窗口命令提示符后输入 .8.在MATLAB 操作中,把变量x ,y 定义为符号变量的语句为 . 9.设(0,1,,)j x j n =为互异节点,则lagrange 插值基函数满足0()nj j l x ==∑ .10.在MATLAB 软件中,进行MATLAB 操作的最主要的窗口称为 .11. 当1x >>改写为 . 12.用MATLAB 对一组数据进行多项式拟合的函数为 .13.用牛顿迭代法求2()1150=-=f x x 的正根时,迭代公式为 .14.MATLAB 中,用命令polyval 计算多项式13)(23++=x x x f 在100,,2,1,0 =x 时的值, 可在命令窗口中输入 . 用命令polyval 计算多项式124)(33+++=x x x x f 在2,1,1-=x 时的值,可在命令窗口中输入 . 用命令feval 要计算函数f1.m 在0x 处的值,在命令窗口中应输入 . 15.梯形求积公式的代数精度是 ,辛普森求积公式的代数精度是 . 16.求积公式2141()(0)(1)(2)333f x dx f f f ≈++⎰的代数精度是 . 17. 误差的来源大体可分为观测误差、 、 、 等四类.18.用二分法求3()251f x x x =--=0在[1,3]内的实根时,进行一步后根所在的区间为 ,进行二步后根所在的区间为 .19. 若x 的相对误差为3%,则nx 的相对误差为 .1.求积公式)1()1()(11f f dx x f +-≈⎰-在]1,1[-上具有( )次代数精确度.A. 1B. 2C. 3D. 4 2.下面对可进行LU 分解的矩阵A 的描述不正确的是( ).A. 分解所得的L 为单位下三角矩阵B. 分解所得的U 为上三角矩阵C. A 的顺序主子式可以等于零 D. 这种分解是唯一的3.通过点),(k k y x 、),(11++k k y x 的拉格朗日插值基函数)(x l k 、)(1x l k +满足( ).A. 0)(,0)(11==++k k k k x l x lB. 1)(,1)(11==++k k k k x l x lC. 0)(,1)(11==++k k k k x l x lD. 1)(,0)(11==++k k k k x l x l4.应用牛顿迭代法于方程03=-a x ,导出的求立方根3a 的迭代公式为( ).A. a x a x x x k k k k ---=+2313 B. ax ax x x k k k k --+=+2313 C. 2313k k k k x a x x x --=+ D. 2313k k k k x ax x x -+=+ 5.MA TLAB 命令窗口中,运行语句A=[1 2;3 4];A(1,2)^A(2,1),所得结果为( )A .6 B. 16 C. 8 D. 96.辛普森求积公式的代数精度为( ).A. 1B. 2C. 3D. 47.用雅可比迭代法求解方程组⎪⎩⎪⎨⎧=++=++=-+5223122321321321x x x x x x x x x ,则迭代矩阵)(B =.A. ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----022101220 B. ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---022110220 C. ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----522311122 D. ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-1221112218.通过点),(k k y x 、),(11++k k y x 的拉格朗日插值基函数)(x l k 、)(1x l k +满足( ).A. 0)(,0)(11==++k k k k x l x lB. 1)(,1)(11==++k k k k x l x lC. 0)(,1)(11==++k k k k x l x lD. 1)(,0)(11==++k k k k x l x l 9.关于用MA TLAB 库函数对方阵A 的操作下面叙述不正确的是( ).A. 运行diag (A ),可得一列向量B. 运行diag (diag (A )),可得一对角阵C. 运行triu (A )可得一上三角矩阵 D. 运行triu (A )可得一下三角矩阵 10.下面表达式是MATLAB 软件中合法变量名的是( )A. 3a_xB. ab_34C. a%3eD. bn+x 三、简答题1.请给出MATLAB 中M 函数文件的格式. 2.请给出数值积分中代数精度的概念. 3.请给出算法稳定的概念.4.请给出MATLAB 软件中分号、圆括号、方括号的功能.5.请给出数值分析中截断误差、舍入误差的概念. 6.请给出Matlab 软件中合法的变量名的命名规则.7.请给出数值计算中避免误差危害的至少四条原则. 8.请给出用迭代法解非线性方程时收敛阶的概念.四、解答题1. 线性方程组b AX =的系数矩阵A =11(0)1a a a a a a a ⎡⎤⎢⎥>⎢⎥⎢⎥⎣⎦,求能使解方程组的Jacobic 迭代法收敛的a 的范围.2. 用梯形公式,辛普森公式计算21sin ⎰xdx x,21ln(1+⎰dx ,10⎰x e dx .(小数点后保留四位).(已知:9975.0)5.1sin(,9093.02sin ,8415.01sin === ) (已知:ln2 0.6931,ln(1 0.8814,ln(10.7996===)(已知:122.7183, 1.6487==e e )3. 已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------=2222222222222222A 求1A 、2A 、∞A .4. 叙述压缩映象不动点定理,并证明不动点的存在性.5. 正方形的边长大约为100cm ,应怎样测量才能使得其面积误差不超过1cm 2?6.用列主元消去法解线性方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--421641284247321x x x 7.用简单迭代法理论分析:对于任意的]4,0[0∈x ,由迭代格式 2,1,0,21=+=+k x x k k 得到的序列∞=0}{k k x 均收敛于同一个数*x .8.计算球体积要使相对误差限为1%,问度量半径R 所允许的相对误差限是多少? 9. 计算函数[]1(),0,12=-∈f x x x 关于[0,1]C 的1,f f ∞与2f .10. 已知数据表用复化梯形公式计算2.42.0()f x dx ⎰.11.(8分)已给数据表(取步长0.1h =) 用复化辛普森公式计算⎰4.10.1)(dx x f12. 设有解线性方程组b AX =的迭代格式g BX X k K +=+)()1(,其中A I B -=,如果A B ,的特征值全为正数,分析该迭代格式是否收敛.13. 设线性方程组b AX =的系数矩阵A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡111a a a a a a , 证明:当121<<-a 时,高斯-塞德尔迭代法收敛.14.取初始向量(0)(0,0,0)=T X ,用Jacobic 迭代法求解如下方程组,给出(1)(2)(3),,.X X X1231231232213225x x x x x x x x x +-=⎧⎪++=⎨⎪++=⎩ 15.(7分)计算61)f =≈1.4,若利用等式f =计算,试分析所得近似值的相对误差是多少? 16.(8分)设线性方程组b AX =的系数矩阵A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-a a a 232131, 试求能使Jacobic 方法收敛的a 的范围.17.(8分)求方程0123=--x x 在5.10=x 附近的一个根,分析下列迭代公式是否收敛:在区间]6.1,3.1[上考察(1)2111kK x x +=+ (2)211)1(1-=+k K x x (已知4648.06.023=)18.(8分)若A 是n 级实矩阵,证明:F FA A An≤≤2119.(10分)设(0,1,,)j x j n =为互异节点,),...,1,0)((n j x l j =为拉格朗日插值基函数.证明: (1) 1)(0≡∑=nj j x l(2)⎩⎨⎧===∑=nk k x l kjnj j ,...,2,1001)0(0四、程序设计题(10分)1. 在某次阻尼振荡试验中测得如下表所列的9组数据点,已知阻尼振荡对应的函数模型为w x e )kx cos(a )x (f =,利用已知数据,求拟合函数的待定参数w k a ,,.(请写出用MATLAB 软件编程求解该题的代码)2. 用最小二乘法确定经验公式x be a y +=中的参数b a ,,使该曲线拟合下面的数据。

matlab复习题库

matlab复习题库

matlab复习题库Matlab复习题库近年来,计算机科学和工程领域取得了巨大的发展,而Matlab作为一种强大的数值计算和数据可视化工具,被广泛应用于科学研究、工程设计和数据分析等领域。

为了更好地掌握和应用Matlab,我们需要不断进行复习和练习。

本文将为大家提供一些常见的Matlab复习题,帮助大家巩固知识,提高应用能力。

1. 数组操作数组是Matlab中最基本的数据结构之一,掌握数组的操作对于编写高效的Matlab代码至关重要。

请完成以下题目:a) 创建一个3行4列的矩阵A,元素为1到12的整数。

b) 计算矩阵A的行和列的和。

c) 将矩阵A的第2行和第3行交换位置。

d) 将矩阵A的第3列和第4列交换位置。

2. 函数定义和调用函数是Matlab中的重要组成部分,通过定义和调用函数可以实现代码的模块化和重用。

请完成以下题目:a) 定义一个名为"circle_area"的函数,输入参数为半径r,输出参数为圆的面积。

b) 调用函数"circle_area"计算半径为5的圆的面积。

3. 图形绘制Matlab提供了丰富的绘图函数,可以绘制各种类型的图形。

请完成以下题目:a) 绘制函数y = sin(x)在区间[-pi, pi]上的图像。

b) 绘制函数y = x^2在区间[-5, 5]上的图像,并给图像添加标题和坐标轴标签。

4. 数据分析Matlab强大的数据处理和分析功能可以帮助我们从复杂的数据中提取有用的信息。

请完成以下题目:a) 读取名为"data.csv"的CSV文件,文件中包含了一组学生的成绩数据,每行包含学生的姓名和成绩。

b) 计算学生的平均成绩和标准差。

c) 绘制学生的成绩分布直方图。

5. 矩阵运算Matlab提供了丰富的矩阵运算函数,可以方便地进行矩阵的加减乘除、转置、求逆等操作。

请完成以下题目:a) 创建一个3行3列的矩阵B,元素为1到9的整数。

最新东南大学数值分析上机题matlab(前三章)

最新东南大学数值分析上机题matlab(前三章)

数值分析上机题第一章(17题)(1)从2依次累加到N的程序function sn = sum1( n )sn=0;sn=single(sn);for i=2:nai=1/(i^2-1);sn=sn+ai;endend(2)从N依次累加到2的程序function sn = sum2( n )sn=0;sn=single(sn);for i=n:-1:2ai=1/(i^2-1);sn=sn+ai;endend(3)编制求精确值的求和函数sum0function sn = sum0( n )sn=0;sn=single(sn);sn=1/2*(3/2-1/n-1/(n+1));end按第一种顺序得到的值及有效位数如下:N=100时sn0=sum0(100);sn=sum1(100)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7400495 n =7N=10e4时sn0=sum0(10e4);sn=sum1(10e4)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7498521 n =3N=10e6时sn0=sum0(10e6);sn=sum1(10e6)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7498521 n =3按第二种顺序得到的值及有效位数如下:N=100时sn0=sum0(100);sn=sum2(100)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7400495 n =7N=10e4时sn0=sum0(10e4);sn=sum2(10e4)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7499900 n =7N=10e6时sn0=sum0(10e6);sn=sum2(10e6)n=fix(-log10(2*abs(sn-sn0)))得到:sn =0.7499999 n =7(4)通过这道上机题,我明白了,应用计算机进行求和运算时,求和的顺序不同对结果的精度是有影响的。

数值分析大作业(牛顿下山法,拉格朗日法,切比雪夫法)及Matlab程序

数值分析大作业(牛顿下山法,拉格朗日法,切比雪夫法)及Matlab程序

课程设计课程名称:数值分析设计题目:学号:姓名:完成时间:2014.11.18题目一: 解线性方程组的直接法 设方程组Ax b =,其中250002511125555111x x x x x x A x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 矩阵中10.1(0,1,,5)k x k k =+=,b 由相应的矩阵元素计算,使解向量(1,1,,1)T x =。

(1) A 不变,对b 的元素6b 加一个扰动410-,求解方程组;(2) b 不变,对A 的元素22a 和66a 分别加一个扰动610-,求解方程组; (3) 对上述两种扰动方程组的解做误差分析。

一.数学原理:本计算采用直接法中的列主元高斯消元法,高斯列主元消元法原理如下: 1、设有n 元线性方程组如下:1111n n nn a a a a ⎛⎫ ⎪ ⎪ ⎪⎝⎭1nx x ⎛⎫ ⎪ ⎪ ⎪⎝⎭=1nb b ⎛⎫ ⎪ ⎪ ⎪⎝⎭2、第一步:如果a11!=0, 令l i1= ai1/a11, I= 2,3,……,n用(-li1)乘第一个方程加到第i 个方程上,得同解方程组:a (1)11 a (1)12 . . . a (1)1nx 1 b (1)1 a (1)21 a (1)22 . . . a (1)2n x 2 b (1)2 . . . . . . . = . a (1)n-11 a (1)n-12 . . a (1)n-1n x n-1 b (1)n-1 a (1)n1 a (1)n2 . . . a (1)nn x n b (1)n简记为:A (2) x = b (2) 其中a (2)ij = a (1)ij – l i1 * a (1)1j , I ,j = 2,3,..,nb (2)I = b (1)I – l i1 * b (1)1 , I = 2,3,...,n 第二步:如果a (2)22 != 0,令l i2= a (2)i2/a (2)22, I= 3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11 a(1)12. . . a(1)1nx1b(1)10 a(1)22 . . . a(1)2nx2b(1)2. . . . . . . = .0 0 . . a(n-1)n-1n xn-1b(n-1)n-10 0 . . . a(n)nn xnb(n)n简记为:A(n) x = b(n)最后从方程组的最后一个方程进行回代求解为:Xn = b(n) / a(n)nnXi = ( b(k)k- ∑ a(k)kj x j ) / a(k)kk二.解题过程:1.由题中所给条件可求出b。

matlab考试题及答案百度网盘

matlab考试题及答案百度网盘

matlab考试题及答案百度网盘MATLAB考试题及答案百度网盘1. MATLAB的基本数据类型有哪些?- 答案:MATLAB的基本数据类型包括数值型(如整数、浮点数)、字符型、逻辑型、结构体、单元数组和对象。

2. 如何在MATLAB中创建一个3x3的单位矩阵?- 答案:可以使用`eye(3)`命令来创建一个3x3的单位矩阵。

3. MATLAB中如何实现矩阵的转置?- 答案:可以使用`.'`操作符或者`transpose()`函数来实现矩阵的转置。

4. 在MATLAB中,如何计算两个矩阵的点积?- 答案:可以使用`dot()`函数或者`*`操作符(当两个矩阵都是向量时)来计算两个矩阵的点积。

5. MATLAB中如何绘制函数f(x)=x^2的图像?- 答案:可以使用`plot()`函数结合`fplot()`函数或者直接使用`plot()`函数配合`linspace()`函数来绘制函数f(x)=x^2的图像。

6. MATLAB中如何求解线性方程组Ax=b?- 答案:可以使用`\`操作符或者`linsolve()`函数来求解线性方程组Ax=b。

7. MATLAB中如何实现循环结构?- 答案:可以使用`for`循环或者`while`循环来实现循环结构。

8. MATLAB中如何定义一个函数?- 答案:可以使用`function`关键字来定义一个函数,例如:`function y = myFunction(x) y = x^2; end`。

9. MATLAB中如何使用条件语句?- 答案:可以使用`if`、`elseif`和`else`关键字来实现条件语句。

10. MATLAB中如何实现文件的读写操作?- 答案:可以使用`fopen()`、`fread()`、`fwrite()`和`fclose()`等函数来实现文件的读写操作。

以上为MATLAB考试题及答案的示例,具体内容可根据实际考试要求进行调整。

数值分析试题

数值分析试题

1.设有某实验数据如下:(1)在MATLAB 中作图观察离散点的结构,用最小二乘法拟合一个合适的多项式函数;(2)在MATLAB 中作出拟合曲线图.解:(1)在MATLAB 中作图观察离散点的结构,用最小二乘法拟合一个合适的多项式函数。

具体程序如下:>> x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];>> y=[5.1234 5.3053 5.5684 5.9378 6.4270 7.0798 7.9493 9.0253 10.3627];>> plot(x,y,'r+'),legend('x,y'),xlabel('x'),ylabel('y'),title('(x,y)的散点结构图')0.10.20.30.40.50.60.70.80.9xy(x,y)的散点结构图从图中各点可以看到,(x,y )散点结构图的变化趋势与二次多项式很接近,故选取曲线函数为二次多项式函数,拟合多项式的次数为2。

用最小二乘法拟合一个合适的多项式函数,具体程序如下:>> s=polyfit(x,y,2); >> P=poly2str(s,'t') P =8.2191 t^2 - 1.8822 t + 5.3139则曲线函数为发f (x )=8.2192t 2-1.8822t+5.3139 (2)在MATLAB 中作出拟合曲线图,具体程序如下:>> x=linspace(0.1,0.9,9);>> y=8.2191.*x.^2-1.8822.*x+5.3139;>> plot(x,y),legend('x,y'),xlabel('x'),ylabel('y'),title('拟合曲线y=f(x)')0.10.20.30.40.50.60.70.80.9567891011xy拟合曲线y=f(x)2. 在MATLAB 中用复合Simpson 公式编程计算下列积分,并使其结果至少有6位有效数字.228 0)xI e dx-=⎰(eps=10解:(1)所安装的MATLAB中不含有复合辛普森程序,用M文件编辑器编写被积函数的M文件,并以jfSimpson.m命名保存至MATLAB 搜索路径下。

(完整word版)Matlab期末复习题(答案)

(完整word版)Matlab期末复习题(答案)

一、 选择题(有10个题,共20分)1.有一个4×4矩阵A,表示取得矩阵A 的第一行和第二行的第二列至第四列所有元素的命令是( A )(A) A(1:2,2:4) (B) A(2:4,1:2) (C) A(1:2:4) (D) A(4:2:1)2.将一个图形窗口分成3×4个子区并表示第一个子区的命令是( C )A . subplot(12,1)B .subplot(1,12)C .subplot(3,4,1)D .subplot(1,3,4)3.利用Matlab 的符号计算功能计算微分方程初值问题⎪⎩⎪⎨⎧=+-=2)1(42y x x y dx dy 在区间 [1,2]上的解析解时所用到的函数是( D )(A) ode23 (B) ode45 (C) solve (D) dsolve4.以下有关Matlab 子函数的性质中不正确的是( D )(A) 子函数只能被处于同一个文件的主函数或其他子函数调用;(B) 在M 函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数;(C) 在M 函数文件内,主函数的位置不可改变,但子函数的排列次序可以任意改变;(D) help, lookfor 等帮助指令都能提供关于子函数的任何帮助信息。

5.以下语句中生成按钮控件的语句是( B )(A) h_1=uimenu(gcf,'Label','&Blue');(B) h_1=uicontrol(gcf,'style','push', 'string','grid off','callback','grid off');(C) h_1=uicontrol(gcf,'style','text', 'horizontal','left','string',{'输入'});(D) h_1=axes('unit','normalized','position',[0,0,1,1],'visible','off');6.以下有关Matlab 函数及其句柄的说法中正确的是( A,C )(A) 在该函数的目录下可定义该函数的句柄,句柄定义后,可用feval 函数和句柄在任何目录下调用该函数;(B) 函数不在Matlab 的当前工作目录下不可执行,但可以用feval 函数和句柄调用该函数;(C) 函数不在Matlab 的当前工作目录下时,可以定义函数的句柄;(D) 函数不在Matlab 的当前工作目录下时,不可以定义函数的句柄。

matlab考试题目和答案sincos

matlab考试题目和答案sincos

matlab考试题目和答案sincos # MATLAB考试题目和答案:Sin和Cos函数的应用## 题目1:计算并绘制sin函数的图像**题目描述:**使用MATLAB计算并绘制函数 \( y = \sin(x) \) 在区间 \([0, 2\pi]\) 上的图像。

**MATLAB代码:**```matlabx = linspace(0, 2*pi, 100); % 生成100个点,从0到2πy = sin(x); % 计算sin(x)plot(x, y); % 绘制图像title('Sin Function Plot'); % 图像标题xlabel('x'); % x轴标签ylabel('y'); % y轴标签grid on; % 显示网格```**答案解释:**这段代码首先使用 `linspace` 函数在区间 \([0, 2\pi]\) 上均匀生成100个点,然后计算这些点的正弦值,并使用 `plot` 函数将结果绘制出来。

`title`、`xlabel` 和 `ylabel` 函数用于添加图像的标题和坐标轴标签,`grid on` 用于显示网格。

## 题目2:计算并绘制cos函数的图像**题目描述:**使用MATLAB计算并绘制函数 \( y = \cos(x) \) 在区间 \([0,2\pi]\) 上的图像。

**MATLAB代码:**```matlabx = linspace(0, 2*pi, 100); % 生成100个点,从0到2πy = cos(x); % 计算cos(x)plot(x, y); % 绘制图像title('Cos Function Plot'); % 图像标题xlabel('x'); % x轴标签ylabel('y'); % y轴标签grid on; % 显示网格```**答案解释:**这段代码的逻辑与第一个题目类似,只是将 `sin` 函数替换为`cos` 函数,用于计算和绘制余弦函数的图像。

Matlab考试题库及答案(教师出卷参考专用)

Matlab考试题库及答案(教师出卷参考专用)

Matlab考试题库及答案(教师出卷参考专用)一、选择题1.以下哪个函数用于在Matlab中创建一个图形窗口?A. figureB. plotC. graphD. window答案:A2.在Matlab中,以下哪个选项可以用来定义一个矩阵?A. A = [1 2 3; 4 5 6]B. A = (1, 2, 3, 4, 5, 6)C. A = {1, 2, 3, 4, 5, 6}D. A = 1 2 3; 4 5 6答案:A3.以下哪个函数用于求解线性方程组Ax=b?A. solveB. linsolveC. solve(A, b)D. linsolve(A, b)答案:D4.在Matlab中,如何计算矩阵A和矩阵B的乘积?A. A BB. A \ BC. A . BD. A .\ B答案:A5.以下哪个函数用于在Matlab中绘制三维散点图?A. scatterB. scatter3C. plot3D. bar3答案:B二、填空题1.在Matlab中,要创建一个名为"myfig"的图形窗口,可以使用______函数。

答案:figure('Name', 'myfig')2.在Matlab中,要计算矩阵A的行列式,可以使用______函数。

答案:det(A)3.在Matlab中,若要计算变量x的平方,可以使用______运算符。

答案:.^24.在Matlab中,若要计算矩阵A的逆矩阵,可以使用______函数。

答案:inv(A)5.在Matlab中,要绘制一个正弦波形,可以使用______函数。

答案:plot(sin(x))三、判断题1.在Matlab中,矩阵的索引从1开始计数。

()答案:正确2.在Matlab中,可以使用逻辑运算符"&&"和"||"。

()答案:错误3.在Matlab中,矩阵乘法满足交换律。

MatLab考试题题库(必做题)(带答案)

MatLab考试题题库(必做题)(带答案)

MatLab考试题题库(必做题)(带答案)一,1.请登陆美国 MathWorks 公司的网站 (),查看看现在大概有多少本 MATLAB-based books (以 MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。

哪一个领域的 MATLAB-based books 最多?中文书共有几本?答:1612本,数学方面的最多,中文书共有37本。

2.请在 MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin依次解为:ans = 0 + 1.0000i ans = 0 + 1.0000i ans =2.2204e-016 ans =Inf ans = NaN ans =3.1416 ans =1.7977e+308 ans =2.2251e-3083.试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。

例如 regPolygon(8) 可以画出如下之正八边型:解:新建regPolygon.m文件如下:function y=regPolyfon(n)n=8;%要画的n边形R=1; %圆的半径t=0:0.01:2*pi;x=R*cos(t);y=R*sin(t);m=linspace(pi/2,5/2*pi,n+1);xz=R*cos(m);yz=R*sin(m);hold onplot(x,y,xz,yz);axis 'equal';4.一条参数式的曲线可由下列方程式表示:x = sin(t), y = 1 - cos(t) + t/10当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 plotParam.m,画出此曲线在 XY 平面的轨迹。

解:新建plotParam.m :t = linspace(0, 4*pi);x = sin(t);y = 1-cos(t)+t/10;plot(x, y, '-o'); -1-0.8-0.6-0.4-0.200.20.40.60.8100.511.522.535. 当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。

MATLAB考试试题及答案

MATLAB考试试题及答案

MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。

答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。

答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。

答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。

答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。

答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。

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

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

同济大学数值分析matlab编程题汇编.MATLAB编程题库1.下面的数据表近似地满足函数,请适当变换成为线性最小二乘问题,编程求最好的系数,并在同一个图上画出所有数据和函数图像。

解:x=[-x=[:文件一文件二函数v=f(x)v=x . * log(x)-1;函数z=g(y)z=y. y-1;解以下内容:编辑gex AFA。

m函数[x ITER]=gex AFA(f,x0,x1,tol)ITER=0;而(标准(x1-编辑gex AFA。

m函数[x ITER )=gex AFA(f,x0,x1,tol)ITER=0;同时(标准(x1:解以下内容:编辑gsdiedai。

m函数[x iter]=gsdiedai(A,x0,b,tol)D=diag(diag(A));函数[x iter]=gsdiedai(A,x0,b,tol)D=diag(diag(A));L=D:编辑ksf 2。

m函数v=ksf2(x,y)v=y exp(x)x . * y;a=1;b=2;h=0.01n=(b-a)./h .x=[1:0.01:2];y(1)-省略部分-0.5000 1.0000 0.5000-1.0000 1.0000 UU=2.0000 3.0000 4.0000 0-0.5000 7.0000 0 0-1.0000 x=林空间(0,1,11);x ' ans=0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.90001.0000 x=[1 2 3 4];y=[6 11 18 27];p=polyfit(x,y,2)p=1.0000 2.0000 3.0000 diag(1(4,1),1)ans=0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 012 .编程实现求解满足下列条件的区间[-1,2]上的三次样条函数S(x),并画出此样条函数的图形: Xi-1 0 1 2 f(Xi)-1 0 1 0f(Xi)' 0-1函数splx=[-1 0 1 2]y=[0-1 0 1 0-1]PP=csape(x,y,'完整')[断点coefs、npolys、ncoefs、dim]=unmkpp(PP)xh=-1:0.133602 if-1=xh=0 yh=coefs(1,1)*(xh 1).3系数(1,2)*(xh 1).2系数(1,3)*(xh 1)系数(1,4)否则,如果0=xh=1 yh=系数(2,1)*(xh).3系数(2,2)*(xh).2系数(2,3)*(xh)系数(2,4)否则,如果1=xh=2 yh=系数(3,1)*(xh-1).3系数(3,2)*(xh-1).2系数(3,3)*(xh-1)系数(3,4)否则返回图(xh,yh,' r ')13 .二分法程序如果nargintol x=(a b)/2 fx=feval(f,x)如果符号(外汇)==符号(fa) a=x fa=fx elseif符号(外汇)==符号b=x FB=FX否则返回结束。

Matlab考试题库及答案+要点总结

Matlab考试题库及答案+要点总结

一、 辨析题(共2小题,每题 5 分,共计 10 分) 二、 问答题(共3小题,每题 5 分,共计 15 分) 三、 计算题(共7小题,每题 5 分,共计 35 分) 四、 编程题(共4小题,每题 10 分,共计 40 分)填空题(计算部分)1、标点符号; _______可以使命令行不显示运算结果,%——用来表示该行为注释行。

2、x 为0 ~4pi ,步长为0.1pi 的向量,使用命令_______创建。

x=0:0.1*pi:4*pi3、输入矩阵A=[1323−57569] ,使用全下标方式用A(2,2) 取出元素“-5 ”,使用单下标方式用_______取出元素“-5 ”。

A(5)4、符号表达式sin(2*a+t)+m 中独立的符号变量为_______。

t 5、M 脚本文件和M 函数文件的主要区别是M 脚本文件没有函数定义和M 函数文件有函数定义_______。

6. 设x 是一维数组,x 的倒数第3个元素表示为_______; 设y 为二维数组,要删除y 的第34行和48列,可使用命令_______; _______; x(_end-2_) y(34,:)=[] y(:,48)=[]7. 将变量x 以Ascii 文本格式存储到文件fname.txt ,应使用命令_________ _;save _x8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句;非零9.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she?”,应使用命令_________;x=input(‘Who is she?’,’s’)_10.设A=(a ij )m∗n 和B=(b ij )m∗n 和C=(c ij )m∗n 均为m*n 矩阵,且存在于WorkSpace中,要产生矩阵D=(a ij −c ij b ij cij ⁄)m∗n,可用命令________ _,计算|(A ′B )−1|可用命令________;D=(A-C)/B.^Cdet(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的_______提示符,“│”标志为_______提示符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0.5
0

0
-0.5
-0.5
-1
-1
-1.5
-1.5
插值节点
N1(x)= 1.8232 x - 1.6048
N1(0.54)= -0.62022
-2
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-2
插值节点
N2(x)= -2.0412 x2 + 4.0685 x - 2.2171
%(2)GaussLegendre
y=GaussLegendre('x./(4+x.^2)',0,1,4)%函数见 GaussLegendre.m
结果:
y=
0.1116
%(3)Romberg
[y,T,err,h]=Romberg('x./(4+x.^2)',0,1,4)%函数见 Romberg.m
结果:
A(1,1)=A(1,1)+1^2; A(1,2)=A(1,2)+xdata(i)^2; A(2,2)=A(2,2)+xdata(i)^4; B(1,1)=B(1,1)+ydata(i); B(2,1)=B(2,1)+xdata(i)^2*ydata(i); end A(2,1)=A(1,2); x=A\B;%等价于 inv(A)*B delta=0; for i=1:7 delta=delta+((x(1)+x(2)*xdata(i)^2)-ydata(i))^2; end delta=sqrt(delta); plot(xdata,x(1)+x(2).*xdata.^2,xdata,ydata,'*r'); legend(['y=',poly2str([x(2) 0 x(1)],'x'),...
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
0 -2.5
-2 -1.5
f(x)=1-exp(-x2)根 x=5.9416e-006迭 代 次 数 k=15
-1 -0.5
0
0.5
1
1.5
2
2.5
5
模式识别_周晓勇_Z201102021
8.
已知
5xx112xx22
解:
x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; x0=0:0.01:1; p1=newpoly(x,y,1,0.54);%函数见 newpoly.m y1=polyval(p1,0.54); p2=newpoly(x,y,2,0.54); y2=polyval(p2,0.54); y01=polyval(p1,x0); y02=polyval(p2,x0); subplot(1,2,1),plot(x,y,'o',x0,y01,0.54,y1,'r*'); h1=legend('插值节点',['N1(x)=',poly2str(p1,'x')],['N1(0.54)= ',num2str(y1)]); set(h1,'Location','SouthEast','FontSize',20); subplot(1,2,2),plot(x,y,'o',x0,y02,0.54,y2,'r*'); h2=legend('插值节点',['N2(x)=',poly2str(p2,'x')],['N2(0.54)= ',num2str(y2)]); set(h2,'Location','SouthEast','FontSize',20); 结果:
2.6
[x,k,flag]=SOR(A,b,1e-5,w(i),100);%函数见 SOR.m result(:,i)=[w(i);flag;k;x]; end [C I]=min(result(3,:)); plot(w,result(2,:).*result(3,:),w(I),C,'r*');xlabel('w');ylabel('k'); legend('k-w 曲线',['k=',num2str(C), ',\omega=',num2str(w(I))]); title(['方程组解为:',num2str(result(4:end,I)','%10.4f')]); 结果:
-2
-1.5
-1
-0.5
f(x)=x3+2*x-5 根 x=1.3283迭 代 次 数 k=4
0
0.5
1
1.5
2
2.5
3. 当 X= -1, 1, 2 时 f(x)分别为 -3,0 ,4 利用基函数法,求 f(x)的二次插值多项式 解:
x=[-1 1 2]; y=[-3 0 4]; p=polyfit(x,y,2); f=poly2str(p,'x'); x1=-5:0.01:5; y1=polyval(p,x1); plot(x1,y1,x,y,'o'); legend(['f(x)=',f],'节点'); 结果:
y=
0.1116
T=
0.1000
0
0
0
0.1088 0.1118
0
0
0.1109 0.1116 0.1116
0
0.1114 0.1116 0.1116 0.1116
err = 2.1240e-006
h=
0.1250
7. 利用牛顿弦切法 求非线性方程 y 1 ex 在 0.2 附近的根
解: [x,err,k,y]=NewtonDownhill('1-exp(-x^2)',0.2,10^(-5),30)%函数见 NewtonDownhill.m 结果:
ans =
x=
k= flag =
-5.8991 6.9633 3.5688 -5.8991 6.9633 3.5688 66 1
平时作业
1. 已知函数 f (x) 值及差商表,求
(1) N4 (x) 来近似 f (0.596)
(2) N2 (x) 和 N3 (x) 来近似 f (0.596) ,并比较(1)和(2)的误差
模式识别_周晓勇_Z201102021
期末作业
2x y 4z 6 1. 给定一个方程组 x 4 y z 3 试建立一个收敛的迭代格式,并说明收敛的理由
3x y z 2
解: A=[2 1 4;1 4 1;3 1 1]; b=[6 3 2]'; %对 A|b 进行行变换,使 A 为严格对角占优阵 %如果 A 为严格对角占优阵,则解 Ax=b 的 Jacobi 迭代法和 Gauss-Seidel 迭代法均收敛 A=[3 1 1;1 4 1;2 1 4]; b=[2 3 6]'; A\b%正确答案 w=[1:20]*0.1; for i=1:20
解: %% 期末作业 No.5:方法 1 用函数 lsqcurvefit 实现 xdata = [-1.0 -0.5 0.0 0.5 1.0 1.5 2.0];
3
模式识别_周晓勇_Z201102021
ydata = [-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552]; F = inline('x(1)+x(2).*xdata.^2','x','xdata'); x0 = [0; 0]; [x,resnorm] = lsqcurvefit(F,x0,xdata,ydata); plot(xdata,x(1)+x(2).*xdata.^2,xdata,ydata,'*r'); legend(['y=',poly2str([x(2) 0 x(1)],'x'),...
解:
%(1)NewtonCotes
[y,Ck,Ak]=NewtonCotes(@(x)(x./(4+x.^2)),0,1,4)%函数见 NewtonCotes.m
结果:
y=
0.1116
Ck = 0.0778 0.3556 0.1333 0.3556 0.0778
Ak = 0.0778 0.3556 0.1333 0.3556 0.0778
50
模式识别_周晓勇_Z201102021
0
-50
-100
-150
-200
N3(x)= -1.25 x3 + 14 x2 - 38.75 x + 26
插值节点
-250
0
1
2
3
4
5
6
7
8
9
10
3. 已知离散数据点 xi (1.8,2.0,2.2,2.4,2.6)
f (xi ) (3.12014,4.42569,6.04241,8.03014,10.46675)
x3 2x3
12 20
实现高斯-赛德尔迭代,要求精度
10-4
2x1 x2 10x3 3
解:
A=[5 2 1;-1 1 2;2 -3 10]; b=[-12;20;3]; A\b%精确解 [x,k,flag]=SOR(A,b,1e-4,1,100)%函数见附件 SOR.m,w=1 时即为高斯塞德尔迭代 结果:
相关文档
最新文档