matlab程序题

合集下载

matlab程序题复习

matlab程序题复习

1.编写m 文件要求利用matlab 数值绘图功能画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线30t e y -=;t 的取值范围是]4,0[π,数值采样间隔点为pi/50,t e y t 3sin 3-=在图中用红色是线段绘出,30t e y -=用蓝色虚线绘出,且两函数作在同一张图上;=0:pi/50:4pi; y0=exp-t/3;y=exp-t/3.sin3t; figure;plott,y,'-r' hold on;plott,y0,':b'; plott,-y0,':b'; hold off;title ‘y=exp-t/3sin3t ’; xlabel ‘x ’ ylabel ‘y ’2.利用matlab 数值绘图功能,画出2222)sin(yx y x z ++=所表示的三维曲面;y x ,的取值范围是]8,8[-,要求去除当x,y 均等于0时,函数z 的不连续点,数值坐标采样间隔为.;x=-8::8;y=x';X Y=meshgridx,y; R=sqrtX.^2+Y.^2+eps; Z=sinR./R; surfX,Y,Z; meshX,Y,Zcolormapcoolxlabel'x',ylabel'y',zlabel'z' Title ‘z=sinsqrtx^2+y^2/sqrtx^2+y^2;3.利用matlab 数值绘图功能,绘制t 在区间-2pi 2pi 时函数y=sint/t 的图形,采样间隔为pi/10,要求利用逻辑运算求出x=0时函数近似极限,并修补图形缺口;=-2pi:pi/10:2pi; y=sint./t; tt=t+t==0eps; yy=sintt./tt;subplot1,2,1,plott,y,axis-7,7,,, xlabel't',ylabel'y';subplot1,2,2,plottt,yy,axis-7,7,,4.编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1;c=collatznc=n;while n>1if remn,2==0n=n/2;elsen=3n+1;endc=c n;end5.有一周期为4的正弦波上叠加了方差为的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序;提示:①用randn1,n产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x12=x1+x2+x3/3,x13= x2+x3+x4/3……;5. t=0:pi/50:4pi;n=lengtht;y=sint+randn1,n;ya1=y1;for i=2:n-1yai=sumyi-1:i+1/3;endyan=yn;plott,y,'c',t,ya,'r','linewidth',26.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y;并要求图示之;6.>> x=1 2 3 4 5' >> y= 3 ' >> e=onessizex x.^2 >> c=e\y>> x1=1::5'; >> y1=onessizex1,x1.^2c; >> plotx,y,'ro' hold on; plotx1,y1,'k'; xlabelx;ylabely;title'拟合曲线';legend;7.22y xxe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图; 7>> x,y=meshgrid-2:.2:2;>> z=x.exp-x.^2-y.^2; >> meshx,y,z>> subplot2,2,1, plot3x,y,z >> title'plot3 x,y,z'>> subplot2,2,2, meshx,y,z>> title'mesh x,y,z'>> subplot2,2,3, surfx,y,z>> title'surf x,y,z'>> subplot2,2,4, surfx,y,z, shading interp>> title'surf x,y,z, shading interp'8.利用matlab绘图功能,分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sinx,要求作在同一张图上,并标注标题;8.解:x=0:pi/10:2pi;y=2sinx;subplot2,2,1;barx,y,'g';title'barx,y,''g'''; axis0 7 –2 2;subplot2,2,2;stairsx,y,'b';title'stairsx,y,''b''';axis0 7 –2 2;subplot2,2,3;stemx,y,'k';title'stemx,y,''k''';axis0 7 –2 2;subplot2,2,4;fillx,y,'y';title'fillx,y,''y''';axis0 7 –2 2;必考 9.使用 MATLAB 画一个圆心在原点、半径等于 10 的圆,并在圆周上依逆时钟方向取任意四点 A、B、C、D,将线段 AB、AC、AD、BC、BD、CD 用直线画出;计算线段 AB、AC、AD、BC、BD、CD 的长度;clear all;t=linspace0, 2pi,50;r=10;x=rcost;y=rsint;a=rcospi, sinpi;b=rcospi, sinpi;c=rcospi, sinpi;d=rcospi, sinpi;plotx, y, 'b', a1, a2, '.k', b1, b2, '.k', c1, c2, '.k', d1, d2, '.k'; axis imagetexta1, a2, ' A';textb1, b2, ' B';textc1, c2, ' C';textd1, d2, ' D';linea1, b1, a2, b2, 'color', 'r'; t=a+b/2; textt1, t2, 'AB';lineb1, c1, b2, c2, 'color', 'r'; t=b+c/2; textt1, t2, 'BC';linec1, d1, c2, d2, 'color', 'r'; t=c+d/2; textt1, t2, 'CD';lined1, a1, d2, a2, 'color', 'r'; t=d+a/2; textt1, t2, 'DA';linea1, c1, a2, c2, 'color', 'r'; t=a+c/2; textt1, t2, 'AC';lineb1, d1, b2, d2, 'color', 'r'; t=b+d/2; textt1, t2, 'BD';ab=sqrta1-b1.^2+a2-b2.^2;fprintf'ab = %f\n', ab;bc=sqrtb1-c1.^2+b2-c2.^2;fprintf'bc = %f\n', bc;cd=sqrtc1-d1.^2+c2-d2.^2;fprintf'cd = %f\n', cd;ad=sqrta1-d1.^2+a2-d2.^2;fprintf'ad = %f\n', ad;ac=sqrta1-c1.^2+a2-c2.^2;fprintf'ac = %f\n', ac;bd=sqrtb1-d1.^2+b2-d2.^2;fprintf'bd = %f\n', bd;必考 10.试写一函数 regPolygonn,其功能为画出一个圆心在 0, 0、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 0, 1;例如 regPolygon8 可以画出如下之正八边型:10.>> function regpolynvertices=1;for i=1:nstep=2pi/n;vertices=vertices, expistepsqrt-1;endplotvertices, '-o';axis image% 画外接圆hold ontheta=linspace0, 2pi;plotcostheta, sintheta, '-r';hold offaxis image11.请用 surf 指令来画出下列函数的曲面图: z = xexp-x2-y2其中 x 在 -2, 2 间共等切分为21 点,y 在-1, 1 间共等切分为21 点,所以此曲面共有2121=441 个点; 请以曲面的斜率来设定曲面的颜色; 请以曲面的曲率来设定曲面的颜色;= linspace-2, 2, 21; % 在 x 轴 -2,2 之间取 21 点y = linspace-1, 1, 21; % 在 y 轴 -1,1 之间取 21 点xx, yy = meshgridx, y; % xx 和 yy 都是 21×21 的矩阵zz = xx.exp-xx.^2-yy.^2; % 计算函数值,zz 也是 21×21 的矩阵subplot1,3,1surfxx, yy, zz; axis imagesubplot1,3,2surfxx, yy, zz, gradientzz; axis imagesubplot1,3,3surfxx, yy, zz, del2zz; axis image12.试写一函数 regStarn,其功能为画出一个圆心在 0, 0、半径为 1 的圆,并在圆内画出一个内接正 n 星形,其中一顶点位于 0, 1;12.解:function regStarn vertices=1; for i=1:n step=2pifloorn/2/n;vertices=vertices, expistepsqrt-1;end plotvertices, '-o'; % 画外接圆 hold ontheta=linspace0, 2pi; plotcostheta, sintheta, '-r'; hold offaxis image13.利用matlab 函数功能,编写function 文件要求利用matlab 数值绘图功能画出衰减振荡曲线t sin e y t 55-=及其它的包络线50t e y -=;t 的取值范围是]4,0[π,数值采样间隔点为pi/50,t sin e y t 55-=在图中用红色是线段绘出,50t e y -=用蓝色虚线绘出,且两函数作在同一张图上,并说明其调用方式;38.function y=testt;y0=exp-t/3;y=exp-t/3.sin3t;figure;plott,y,'-r'hold on;plott,y0,':b';plott,-y0,':b';hold off;调用t=0:pi/50:4pi;y=testt14.有一正弦衰减数据y=cosx.exp-x/5,其中x=0:pi/5:4pi,利用matlab三次样条插值函数进行插值,要求每两个数据点间插入3个数,并作出拟合后曲线;14.>> x0=0:pi/5:4pi;>> y0=cosx0.exp-x0/5;>> x=0:pi/20:4pi;>> y=splinex0,y0,x;>> plotx0,y0,'or',x,y,'b'title‘曲线拟合’;xlabel‘x’;ylabel‘y’;15.利用matlab数值绘图功能,画出22223 333y x) yxsin(f++=所表示的三维曲面;yx,的取值范围是],[66-,要求去除当x,y均等于0时,函数z的不连续点,数值坐标采样间隔为;all;x=-6::6;y=x';X Y=meshgridx,y;R=sqrtX.^2+Y.^2+eps;Z=sinR./R;surfX,Y,Z; meshX,Y,Zcolormapcoolxlabel'x',ylabel'y',zlabel'z'16.利用matlab 指令计算表达式()223230y x e y x f ---=的梯度并利用数值绘图功能绘出梯度图;x,y 的取值范围-3 3采样间隔16.>> v = -3::3;>> x,y = meshgridv;>> z=30x.^2-y.^3.exp-x.^2-y.^2; >> px,py = gradientz,.1,.1; >> contourx,y,z >> hold on>> quiverx,y,px,py>> hold off17.有一周期为3的正弦波上叠加了方差为的正态分布的随机噪声的信号,利用matlab 循环结构编制一个三点线性滑动平均的程序去除噪声;提示:①用randn1,n 产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x12=x1+x2+x3/3,x13= x2+x3+x4/3……;17. t=0:pi/50:3pi; n=lengtht; y=sint+randn1,n; ya1=y1; for i=2:n-1yai=sumyi-1:i+1/3; endyan=yn;plott,y,'c',t,ya,'r','linewidth',218.分段函数else x /x /,x /)x cos()/cos(y πππππππ238372305<<<<<<⎪⎩⎪⎨⎧=,x 取样区间0 4π,区间内采样500个点,要求利用逻辑关系运算对函数y=sinx 逐段解析计算,并绘图;给出绘图指令即可; =linspace0,4pi,500;y=cost;z1=t<pi|t>2pi.y;w=t>pi/3&t<2pi/3+t>7pi/3&t<8pi/3; w_n=~w;z2=wcospi/5+w_n.z1;plott,z2,'-b',axis0 10 -1 119.有一正弦衰减数据y=sinx.exp-x/10,其中x=0:pi/5:4pi,用三次样条法进行插值;19.>> x0=0:pi/5:4pi;>> y0=sinx0.exp-x0/10;>> x=0:pi/20:4pi;>> y=splinex0,y0,x;>> plotx0,y0,'or',x,y,'b'20.计算表达式()22e 1053y xy x z ---=的梯度并利用matlab 数值绘图功能绘图;x,y 的取值范围-2 2采样间隔20.>> v = -2::2;>> x,y = meshgridv;>> z=10x.^3-y.^5.exp-x.^2-y.^2;>> px,py = gradientz,.2,.2;>> contourx,y,z>> hold on>> quiverx,y,px,py >> hold off21.分段函数sin(/3)/32,7/38/302sin()x xy xx elseπππππππ<<<<⎧⎪=<<⎨⎪⎩,x取样区间0 3π,区间内采样300个点,要求利用逻辑关系运算对函数y=sinx逐段解析计算,并绘图;给出绘图指令即可;=linspace0,3pi,500;y=sint;z1=t<pi|t>2pi.y;w=t>pi/3&t<2pi/3+t>7pi/3&t<8pi/3;w_n=~w;z2=wsinpi/3+w_n.z1;plott,z2,'-b',axis0 10 -1 122.有一组测量数据满足-ate=y,t的变化范围为0~10,用不同的线型和标记点画出a=、a=和a=三种情况下的曲线;并在结果图中添加标题-ate=y,并用箭头线标识出各曲线a的取值并添加标题-ate=y和图例框;22.>> t=0::10;>> y1=expt;>> y2=expt;>> y3=expt;>> plott,y1,'-ob',t,y2,':r',t,y3,'-.^g'>> title'\ity\rm=e^{-\itat}'>> title'\ity\rm=e^{-\itat}','FontSize',12>> textt6,y16,'\leftarrow\ita\rm=','FontSize',11>> textt6,y26,'\leftarrow\ita\rm=','FontSize',11>> textt6,y36,'\leftarrow\ita\rm=','FontSize',11>> title'\ity\rm=e^{-\itat}','FontSize',12 >> legend'a=','a=','a='。

MATLAB程序设计与应用习题

MATLAB程序设计与应用习题
>> X= or(a,b)
X =
1 1 1 0
2.11设a=[0 100],求~a的值?(非运算)
答:>> clear
>> a=[0 1 0 0]
a =
0 1 0 0
>> x=not(a)
x =
1 0 1 1
2.12设a=[0 120],b=[21 0 0],求axor b的值?
答:>> clear
答:>> clear
>> a=[0 2 1 0]
a =
0 2 1 0
>> b=[2 1 0 0]
b =
2 1 0 0
>> x=and(a,b)
x =
0 1 0 0
2.10设a=[0 120],b=[120 0],求a|b的值?(或运算)
答:
>> clear
>> a=[0 1 2 0];b=[1 2 0 0];
答:quit:关闭MATLAB。
clear:清除内存中的变量。
cla:清除坐标。
clf:清除图形。
clc:清除MATLAB命令窗口的所有显示信息。
hold:控制当前图形窗口是否被刷新。
1.9学会打开并保存程序编辑窗口,并在M文档中编写1.4的运算程序并进行运算。
答:要打开程序编辑窗口,我们可以在Command Window窗口中,单击工具栏中最左端显示为一张白纸的工具按钮。这样就打开了一个空白的程序编辑窗口,如图1-6所示。
3.6已知
将a(2,3)=-1替换为a(2,3)=0。
答:
3.7已知
将a的第二行元素全部替换为0,然后将第二列元素全部替换为1。

matlab简单编程21个题目及答案

matlab简单编程21个题目及答案

1、设⎥⎦⎤⎢⎣⎡++=)1(sin35.0cos2xxxy,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。

第一题的matlab源程序:①考虑cos(x)为一个整体,然后乘以中括号里面的全部x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式plot(x,y)%画出图形图如下:②考虑对整体求解cos,先求x乘以括号中的部分x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式plot(x,y) %画出图形图如下:2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。

并求该矩阵全体数的平均值和均方差。

第二题的matlab源程序如下:R1=randn(8,6) %产生正态分布随机矩阵R1 =1.0933 -0.7697 1.5442 -0.1924 1.4193 0.21571.1093 0.3714 0.0859 0.8886 0.2916 -1.1658-0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.14800.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049-1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223-1.1135 0.0326 2.3505 0.4882 0.6966 2.5855-0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.66691.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值aver =0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差a =1.0819 0.8093 1.3456 0.8233 0.8079 1.2150aver1=(sum(R1(:)))./48 %全体数的平均值aver1 =0.0950b=std(R1(:)) %全体数的均方差即标准差b =1.01033、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。

答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。

答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。

答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。

答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。

答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。

2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。

3. 简述MATLAB中函数定义的基本语法。

答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。

matlab 程序设计 例题

matlab 程序设计 例题

一、概述Matlab是一种强大的工程计算软件,在工程领域有着广泛的应用。

对于学习Matlab程序设计来说,通过例题学习是非常有效的方法。

通过实际的例题练习,可以帮助学生更深入地理解Matlab的基本原理和应用技巧。

本文将介绍几个常见的Matlab程序设计例题,并进行详细的分析和讲解,希望能够帮助读者加深对Matlab程序设计的理解。

二、例题一:矩阵运算题目:编写一个Matlab程序,实现两个任意大小的矩阵相加的运算。

1.我们需要定义两个任意大小的矩阵A和矩阵B,可以通过rand函数生成随机矩阵,也可以手动输入矩阵的元素。

2.编写Matlab程序,使用矩阵的加法运算符“+”进行矩阵相加操作。

3.输出矩阵相加的结果,并进行验证和检查。

通过这个例题,可以加深对Matlab矩阵运算的理解,包括矩阵的定义、矩阵相加的操作和结果输出的方法。

三、例题二:函数绘图题目:编写一个Matlab程序,绘制sin函数的曲线图像。

1.我们需要定义sin函数的自变量范围和取值步长,可以使用linspace函数生成自变量的取值范围。

2.编写Matlab程序,调用sin函数计算自变量对应的函数值。

3.接下来,使用plot函数绘制sin函数的曲线图像,并设置图像的标题、坐标轴标签等其他参数。

4.输出绘制好的sin函数曲线图像,并进行观察和分析。

通过这个例题,可以了解Matlab中函数绘图的基本方法,包括自变量的定义、函数值的计算和图像的绘制等操作。

四、例题三:数值积分题目:编写一个Matlab程序,实现对指定函数在指定区间上的数值积分。

1.我们需要定义积分的目标函数和积分区间,在Matlab中可以使用function定义目标函数,也可以手动输入目标函数和积分区间。

2.编写Matlab程序,调用Matlab内置的数值积分函数(如quad、quadl等)进行数值积分的计算。

3.输出数值积分的结果,并与解析解进行比较和分析。

通过这个例题,可以了解Matlab中数值积分的计算方法,包括目标函数的定义、积分区间的设定和数值积分函数的调用。

MATLAB程序设计期末复习题集

MATLAB程序设计期末复习题集

第1章 MATLAB系统环境一、选择题1.最初的MATLAB核心程序是采用()语言编写的。

A.FORTRAN B.C C.BASIC D.PASCAL2.2016年3月发布的MATLAB版本的编号为()。

A.MATLAB 2016Ra B.MATLAB R2016aC.MATLAB 2016Rb D.MATLAB R2016b3.下列选项中能反应MATLAB特点的是()。

A.算法最优 B.不需要写程序C.程序执行效率高 D.编程效率高4.当在命令行窗口执行命令时,如果不想立即在命令行窗口中输出结果,可以在命令后加上()。

A.冒号(:) B.逗号(,) C.分号(;) D.百分号(%)5.如果要重新执行以前输入的命令,可以使用()。

A.左移光标键(←) B.右移光标键(→)C.下移光标键(↓) D.上移光标键(↑)6.MATLAB命令行窗口中提示用户输入命令的符号是()。

A.> B.>> C.>>> D.>>>>7.plot(x,y)是一条()命令。

A.打印 B.输出 C.绘图 D.描点8.以下两个命令行的区别是()。

>> x=5,y=x+10>> x=5,y=x+10;A.第一个命令行同时显示x和y的值,第二个命令行只显示x的值B.第一个命令行同时显示x和y的值,第二个命令行只显示y的值C.第一个命令行只显示x的值,第二个命令行同时显示x和y的值D.第一个命令行只显示y的值,第二个命令行同时显示x和y的值9.下列命令行中,输出结果与其他3项不同的是()。

A.>> 10+20+... B.>> ...30 10+20+30C.>> 10+20+30%5 D.>> %10+20+3010.下列选项中,不是MATLAB帮助命令的是()。

A.lookfor B.lookfor –all C.search D.help二、填空题1.MATLAB一词来自的缩写。

第4章 MATLAB程序流程控制_习题答案

第4章  MATLAB程序流程控制_习题答案

第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。

AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。

Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。

CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。

AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。

CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。

A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。

BA.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c)C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z)8.执行语句“fn=@(x) 10*x;”,则fn是()。

AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。

D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。

matlab习题及答案

matlab习题及答案

matlab习题及答案《Matlab习题及答案:提升编程技能,解决实际问题》Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和其他领域的计算和模拟。

为了帮助大家提升编程技能,解决实际问题,我们为大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的使用。

1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结果打印出来。

答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。

```matlaba = 0;b = 1;fib = zeros(1, 20);fib(1) = a;fib(2) = b;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。

答案:下面是一个简单的Matlab程序,用于求解二次方程的根。

```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['The root is ', num2str(x)]);elsedisp('The equation has no real roots');end```通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。

通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。

MATLAB程序流程控制 习题答案

MATLAB程序流程控制 习题答案
5.有以下程序段:
)。A
10次
B.循环是无限循环
D.循环体语句执行一次
x=reshape(1:12,3,4);
m=0;
n=0;
for k=1:4
if x(:,k)<=6 m=m+1;
else
n=n+1;
end
end
则m和n的值分别是(
A.6 6 B
)O C
.2 1 C
)。A
6.调用函数时,如果函数文件名与函数名不一致,则使用(

习题 4
一、选择题
1.下列关于脚本文件和函数文件的描述中不正确的是(
A.函数文件可以在命令行窗口直接运行
B.去掉函数文件第一行的定义行可转变成脚本文件
C.脚本文件可以调用函数文件
D.函数文件中的第一行必须以
2.下列程序的输ห้องสมุดไป่ตู้结果是(y=10;
if y==10
y=20; elseif y>0
y=30 end
if rem(k(j),2)~=0 s=s+k(j);
end
end
end
25
D.dbstack
.m的文件中,该文件称
变量是函数间传
错误。MATLAB^序调试方法有两种,一是利用 行程序调试。
语法,逻辑,调试函数,调试工具 三、应用题
1.写出下列程序的输出结果。
s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23];
for k=a
for j=1:4
6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即
fun ctio n [x,y,z]=f1(a,b,c)

matlab编程经典例题

matlab编程经典例题

matlab编程经典例题
以下是一些经典的 MATLAB 编程例题:
1. 编写一个程序,计算一个数列的前 N 个斐波那契数(斐波那契数列是指前两个数为 1,后续每个数是前两个数之和)。

2. 编写一个程序,计算一个数的阶乘。

3. 编写一个程序,计算两个矩阵的乘积。

4. 编写一个程序,找到一个数组中的最大元素。

5. 编写一个程序,检查一个字符串是否是回文。

6. 编写一个程序,为给定的一组数据计算均值、中位数和标准差。

7. 编写一个程序,将一个字符串中的所有元音字母替换成大写字母。

8. 编写一个程序,计算一个数列的前 N 个素数(素数是指只能被 1 和自身整除的数)。

9. 编写一个程序,实现冒泡排序算法,对一个数组进行排序。

10. 编写一个程序,计算一个数的平方根。

以上是一些经典的 MATLAB 编程例题,你可以根据自己的实际需要选择其中的一个或几个进行练习和编程。

《MATLAB程序设计》复习题

《MATLAB程序设计》复习题

《MATLAB程序设计》复习题一填空题1 已知A=[2 5 6;1 7 8];B=[1 4 3;4 7 0];写出下列各指令运行的结果。

A &B 的运行结果为[1 1 1;1 1 0] 。

A== B的运行结果为[0 0 0 ;0 1 0] 。

2 产生3阶单位阵的命令为eye(3) ;产生4阶全1方阵的命令为ones(4)。

3 A=rand(5,8);b=size(A);c=length(A);则b和c的值分别为[5,8]和8.4 求矩阵的特征值的指令为eig .5符号; 可以使命令行不显示运算结果,% 用来表示该行为注释行。

6在线形图型格式的设置中,字符r表示什么颜色(红色)7fix函数四舍五入对数组[3。

17,5.34,8.90,2.52]取整,结果为[3 5 8 2]。

8 P,Q分别是个多项式的系数矢量,求P对应的多项式的根,使用的命令是roots(P)9使2个plot的图形在同一个坐标显示,使用hold on 命令进行图形保持,使用grid on 命令为图形添加网格。

10 数据拟合采用___polyfit___函数;求不定积分采用___ int ___函数。

11 A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_2 5和5__ 12已知A是矩阵,求A的对角矩阵函数是___diag(A)____,求A的下三角矩阵函数是__tril(A)____。

13条形图由函数__bar___来实现。

14已知s=‘显示“hey”’,则s的元素个数是9二解答题1、A=[71,3,—8; 2,-9,8; 0,4,5]B=A’问B=()答案:B=[71,2,0;3,—9,4 ; —8,8,5]2、A=[1,2;3,4];B[1,0;0,1];请问A*B=?,A.*B=?答案:A*B=[1,2;3,4],A.*B=[1,0;0,4]3、A=[57,19,38;-2,31,8;0,84,5]B=rot90(A)B=( )答案:B=[38,8,5;19,31,84;57,-2,0]4、已知:A=[2,2,—1,1;4,3,—1,2; 8,5,-3,4; 3,3,-2,2]R=rank(A)R=()A=[2,2,3; 4,5,—6;7,8,9]trace(A)=( )答案:4; 165、A=[0,0,0; 0,1,0; 0,0,1]pinv(A)=()答案:[0,0,0; 0,1,0;0,0,1]三下列命令执行后,L1,L2,L3,L4的值分别是多少?A=1:9; B=10—A;L1=A~=B;(3分)L2=A>=5; (3分)L3=A>=2&A〈=6;(4分)L4=find(A〉4&A<=7); (5分)答案:L1 =1 1 1 1 0 1 1 1 1 L2 =0 0 0 0 1 1 1 1 1 L3 =0 1 1 1 1 1 0 0 0 L4 =5 6 7四写出执行以下代码后B,C,D的值。

matlab经典编程例题

matlab经典编程例题

mat lab经典编程例题以下各题均要求编程实现,并将程序贴在题U下方。

1(从键盘输入任意个正整数,以o结束,输出那些正整数中的素数。

clc;clear;zzs(l)二input ('请输入正整数:*) ;k=l; n=0;%素数个数while zzs(k)、=Oflag=O;%是否是素数,是则为1for yz=2:sqrt(zzs(k))%因子从2至此数平方根if mod(zzs (k), yz)=0flag=l ;break;%非素数跳出循环endendif flag=O&zzs(k)>l%忽略0 和 1 的素数n二n+1;sus(n)=zzs(k);endk=k+l;zzs(k)二input ('请输入正整数:');enddisp(['你共输入了' num2str(k-l)个正整数。

它们是:'])disp(zzs(1 :k- 1))%不显示最后一个数0if n=0disp('这些数中没有素数〜')%无素数时显示elsedispf其中的素数是:')disp(sus)end2(若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。

编程求10000以内所有的完全数。

clc;clear;wq二[];%完全数赋空数组for ii=2:10000yz=[];%ii的因子赋空数组for jj=2:ii/2 %从2到ii/2考察是否为ii的因子if mod(ii, jj)=Oyz=[yz jj] ;%因子数组扩展,加上j jendendif ii==sum(yz)+lwq=[wq ii];%完全数数组扩展,加上iiendenddisp([' 10000 以内的完全数为:'num2str(wq)])%输出3(下列这组数据是美国1900-2000年人口的近似值(单位:口万)。

时间t 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 人口y 76 92 106 123 132 151 179 203 227 250 2812(1)若试编写程序计算出上式中的d、b、c; y与t的经验公式为y, at, bt, bt(2)若试编写程序计算出上式中的a、b; y与t的经验公式为y, ae.2(3)在一个坐标系下,画出数表中的散点图(红色五角星),中y, ax, bx, c bt 拟合曲线图(蓝色实心线),以及(黑色点划线)。

(完整版)第4章MATLAB程序流程控制_习题答案

(完整版)第4章MATLAB程序流程控制_习题答案

第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。

AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。

Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。

CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。

AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。

CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。

A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。

BA.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c)C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z)8.执行语句“fn=@(x) 10*x;”,则fn是()。

AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。

D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。

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程序设计与应用

MATLAB程序设计与应用

实验一 MATLAB 运算基础 第二题:已知A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡7653877344-3412 B=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡72-33021-31求下列问题:1) A+6*B 和A-B+I2) A*B 和A.*B3) A^3 A.^34) A/B B\A5) [A,B] [A(1,3),:B.^2]解:>> A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; I=[1 0 0;0 1 0;0 0 1];(1)>> A+6*Bans =18 52 -1046 7 10521 53 49>> A-B+Ians =12 31 -332 8 840 67 1(2)>> A*Bans =68 44 62309 -72 596154 -5 241>> A.*Bans =12 102 468 0 2619 -130 49(3)>> A^3ans =37226 233824 48604 247370 149188 600766 78688 454142 118820>> A.^3ans =1728 39304 -64 39304 343 658503 27 274625 343(4)>> A/Bans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000>> B\Aans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000(5)>> [A,B]ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7>> [A([1,3],:);B^2]ans =12 34 -43 65 74 5 111 0 1920 -5 40第三题:设有矩阵A 和BA=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡25242322212019181716151413121110987654321 B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡111340794-23096-1716031) 求他们的乘积C2) 将矩阵C 的右下角3*2子矩阵赋给D3) 查看matlab 工作空间的使用情况解:>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25]; B=[30 16;17 -6 9;0 23 -4;9 7 0;4 13 11];(1)>> C=A*BC =93 150 77258 335 237423 520 397588 705 557753 890 717(2)>> D=C(3:5,2:3)D =520 397705 557890 717第四题:完成下列操作:1)求【100,999】之间能被21的数的个数2)建立一个字符串向量,删除其中的大写字母解:(1)>> A=100:999;>> B=rem(A,21);>> C=length(find(B==0))C =43(2)>> A='lsdhKSDLKklsdkl';>> k=find(A>='A'&A<='Z');>> A(k)=[]A =Lsdhklsdkl实验二 MATLAB矩阵分析与处理第三题: 建立一个5 5矩阵,求它的行列式的值,迹,秩,和范数。

matlab经典编程例题30道

matlab经典编程例题30道

MATLAB是一款功能强大的数学软件,其编程功能也受到越来越多人的关注。

下面介绍的是30个matlab经典编程例题,可以帮助大家熟悉matlab的编程语法,提高matlab 编程技能。

1. 请编写一个程序,计算出两个数的和。

2. 请编写一个程序,计算出两个数的最大值和最小值。

3. 请编写一个程序,计算出一组数据的平均值和标准差。

4. 请编写一个程序,将一个矩阵转置。

5. 请编写一个程序,求出两个矩阵的乘积。

6. 请编写一个程序,求出一个矩阵的逆矩阵。

7. 请编写一个程序,求出一个矩阵的行列式。

8. 请编写一个程序,计算出一元二次方程的解。

9. 请编写一个程序,计算出两个数组的相似度。

10. 请编写一个程序,计算出一个矩阵的特征值和特征向量。

11. 请编写一个程序,求出两个矩阵的秩。

12. 请编写一个程序,求出一个矩阵的特定元素。

13. 请编写一个程序,求出一组数据的最高值和最低值。

14. 请编写一个程序,求出两个数组的交集。

15. 请编写一个程序,求出一个矩阵的行和列之和。

16. 请编写一个程序,使用循环语句计算出100以内所有奇数的和。

17. 请编写一个程序,使用循环语句计算出1到1000以内的和。

18. 请编写一个程序,使用递归函数计算出斐波那契数列的第n项。

19. 请编写一个程序,求出一个多项式的导数。

20. 请编写一个程序,求出一个函数的极值点。

21. 请编写一个程序,求出一个数组的非零元素个数。

22. 请编写一个程序,计算出函数的不定积分。

23. 请编写一个程序,计算出函数的定积分。

24. 请编写一个程序,求出一个矩阵的秩。

25. 请编写一个程序,求出函数的极限值。

26. 请编写一个程序,求出一个矩阵的特征值分解。

27. 请编写一个程序,求出一个矩阵的LU分解。

28. 请编写一个程序,求出一个矩阵的QR分解。

29. 请编写一个程序,求出三次多项式的根。

30. 请编写一个程序,求出一个函数的积分。

数学建模中30道经典MATLAB程序

数学建模中30道经典MATLAB程序

编程1、编写一程序,要求输入五个整数,然后由小到大排序再输出。

%输入n个数,然后由小到大输出a=input('输入数据:')n=length(a); %输入数据的长度i=1;j=1; %赋初值for i=1:n %需要进行n次比较for j=2:n %与相邻的进行n-1次比较if a(j-1)>a(j)b=a(j-1);a(j-1)=a(j);a(j)=b; %比较前者是否比后者大,大的就互换endendendfprintf(' %d',a) ;2、将一个整型数组的元素按逆序重新存放(如原序为:8,6,5,4改为4,5,6,8)。

function lin5a=input('输入数据:')n=length(a);%求输入a的长度for i=1:n/2b=a(i);a(i)=a(n+1-i);a(n+1-i)=b;endfprintf(' %d',a)3、输入一个字符,如果是大写字母,则将其转换成小写并输出,若是小写,则直接输出;若是非字母字符则打印:‘datarror’.function xin2a=input('输入数据:','s')if a>=65&a<=90fprintf('shuchu is %c\n',a+32);elseif a>=97&a<=122fprintf('shuchu is %c\n',a);elsea='dataerror';fprintf('shuchu is %s',a);end4、输入一个整数,写一程序输出它是几位数。

function lin6a=input('输入数据:','s')n=length(a)%求输入a的长度b=n;fprintf('weishu %d',b);end5、写一程序求1!+2!+ (10)function wi=1;j=1;s=0; %赋初值while i<=10j=j*i;s=s+j;i=i+1;endfprintf('s is %d\n',s);6、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。

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

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

Matlab考试题库+答案(教师出卷参考专用)[1 2;3 4][1 0;0 4]21. A=[1 2 3;6 5 4]; reshape(A,3,2)=______________.[1 5;6 3;2 4]22. A=[1,2;3,1]; B=[1,0;0,1]; A~=B=___________.[0 1;1 0]23. A=[1,2,3;1,4,9;1,7,27]; triu(A,-1)=_ ____.提取矩阵上三角矩阵的函数[1 2 3;1 4 9;0 7 27] 24. A=[4,15,-45,10,6;56,0,17,-45,0]; find(A>=10 & A<=20)=___ __________.3 6 725.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。

A &B 的运行结果_______;A ./B 的运行结果_______。

ans=[0 1 1;1 1 0]ans= [0 2.25 2;1 0.6 NaN]26. 产生4阶全0方阵的命令为_______;产生3阶全1方阵的命令为。

zeros(4)ones(3)27. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_______ 。

2 5和 528. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为_______。

if x<=80 & x>6029.为了使两个pl ot的图形在同一个坐标显示,可以使用_______命令进行图形保持;可以使用_______命令为图形添加网格。

hold ongrid on30. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令_______;save my_date31. MATLAB提供了两种运行方式,是按_______和把_______文件copy到matlab里,回车。

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