matlab上机习题详解_试题答案
matlab上机习题详细讲解-试题答案解析
学习指导参考P 第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3) y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线,要求有图形标注。
clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
Matlab编程与应用习题和一些参考答案
Matlab编程与应用习题和一些参考答案Matlab 上机实验一、二3.求下列联立方程的解⎪⎪⎩⎪⎪⎨⎧=+-+-=-+=++-=--+41025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10];>> b=[4;4;9;4];>> c=a\b4.设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。
>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];>> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];>> C1=A*B'>> C2=A'*B>> C3=A.*B>> inv(C1)>> inv(C2)>> inv(C3)5.设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。
>> x=linspace(0,2*pi,101);>> y=cos(x)*(0.5+(1+x.^2)\3*sin(x));>> plot(x,y,'r')6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求该矩阵全体数的平均值和均方差。
(mean var )a=randn(8,6)mean(a)var(a)k=mean(a)k1=mean(k)i=ones(8,6)i1=i*k1i2=a-i1i3=i2.*i2g=mean(i3)g2=mean(g)10.利用帮助查找limit 函数的用法,并自己编写,验证几个函数极限的例子。
matlab上机练习答案
实验一MA TLAB的基本命令与基本函数1已知矩阵a =11 12 13 1421 22 23 2431 32 33 3441 42 43 44求(1) A(:,1) (2) A(2,:)(3) A(:,2:3) (4) A(2:3,2:3)(5) A(:,1:2:3) (6) A(2:3)(7) A(:) (8) A(:,:)(9) ones(2,2) (10) eye(2)(11) [A,[ones(2,2);eye(2)]](12) diag(A) (13) diag(A,1)(14) diag(A,-1) (15) diag(A,2)2(1)输入如下矩阵A0π/3A=π/6 π/2(2) 求矩阵B1,B1中每一元素为对应矩阵A中每一元素的正弦函数(3) 求矩阵B2, B2中每一元素为对应矩阵A中每一元素的余弦函数(4) 求B12+B22(5) 求矩阵A的特征值与特征矢量:称特征矢量为M,而特征值矩阵为L(6) 求Msin(L)M-13已知水的黏度随温度的变化公式为μ=μ0/(1+at+bt2)其中μ0=1.785×10-3,a=0.03368,b=0.000221,求水在0,20,40,80℃时的黏度。
程序如下:miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80miu=miu0./ (1+a*t+b*t.^2)(2)一个长管,其内表面半径为a,温度为Ta ;外表面半径为Tb;则其径向和切向应力可分别表示为:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛+----=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛----=r b a b r b a b a a b v T T E r b a b r b a b a a b v T T E b a t b a r ln ln 11)/ln()1(2)(ln ln 1)/ln()1(2)(2222222222ασασ式中r 为管子的径向坐标,E 为管子材料的弹性模量,ɑ为热膨胀系数。
Matlab上机练习题及答案
Matlab 上机练习题及答案---------------------------------------------------------------------1、矩阵Y=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。
取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。
解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3]Y(2,3)Y(10)sub2ind([43],2,3)[i,j]=ind2sub([43],10)find(Y==100)sub2ind([43],3,2)B=Y(2:2:4,3:-2:1)或B=Y([24],[31])[m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[10-1;241;-205],B=[0-10;213;112]求2A+B 、A 2-3B 、A*B 、B*A 、A.*B ,A/B 、A\B 解:命令为:A=[10-1;241;-205]B=[0-10;213;112]E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。
解:命令为:A=eye(3,4)B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b构成矩阵d ,计算a*b 、c<d ,c&d,c|d ,~c|~d 解:命令为:a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7]b=a(:,[12])c=a([12],:)d=b’e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n 解:命令文件为sum=0;s=1;for n=1:20s=n*s;sum=sum+s;end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。
matlab上机习题详细讲解_试题答案
P第一次实验答案要求以0.01秒为间隔,求出y的151个点, 并求出其导数的值和曲线。
clcclearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*si n(4*sqrt(3)*x+pi/3) y1=diff(y)subplot(2,1,1)Plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n自定数据)— a cos b n vclccleara=10;b=pi/2;n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta);polar(theta,rho) z2=X.*2-Y.*3;xlabel( 'x')ylabel( 'y')zlabel( 'z') surf(X,Y,z1)hold on surf(X ,Y, z2)k=fi nd(abs(z1-z2)<0.5);x1=X(k)y1=Y(k) z3=x1.A2-2*y1.A2 hold onplot3(x1,y1,z3, '*')4、设y cos x 0.53sin x(1 x2)把x=0~2 n间分为101点,画出以x为横坐标,y 为纵坐标的曲线,要求有图形标注clcclearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+si n(x)*3./(1+x.A2));plot(x,y, 'b*-');title('绘图’);xlabel( 'x 坐标');ylabel( 'y 坐标');legend('原函数')gtext( 'y=cos(x)(0.5+3*sin(x)/(1+xA2))' )3.列出求下列空间曲面交线的程序乙=x2 _2y2z2 = 2x _ 3yclcclearx=[-5:0.5:5];[X,Y]=meshgrid(x);z1=X.A2-2*Y.A2; 5、求下列联立方程的解3x 4y - 7z - 12w 二45x - 7y 4z 2w - -3x 8z - 5w = 9-6x 5y - 2z 10w = -8clccleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; b=[4,-3,9,-8];第二次试验答案1、编制m文件,等待键盘输入,输入密码20120520 ,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。
matlab上机习题详解-试题答案
精选P 第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y为纵坐标的曲线,要求有图形标注。
clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
Matlab上机练习参考答案
Matlab 上机练习二班级 学号 姓名按要求完成题目,并写下指令和运行结果。
(不需要画图)1、 求⎥⎦⎤⎢⎣⎡+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。
>> x=[4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i];>> x’ans =- -- ++ -- ++ -2、计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
>> a=[6 9 3;2 7 5];>> b=[2 4 1;4 6 8];>> a.*bans =12 36 38 42 403、 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
>> A=[4 9 2;7 6 4;3 5 7];>> B=[37 26 28]’;>> X=A\BX =4、 ⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果。
>> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2];>> a>bans =0 1 01 0 1 >> a>=bans =0 1 01 0 1 >> a<bans =1 0 1 0 1 0 >> a<=bans =1 0 1 0 1 0 >> a==bans =0 0 0 0 0 0>> a~=bans =1 1 11 1 15、[]7.0=-a,在进行逻辑运算时,a相当于什么样的逻辑量。
82.05-相当于a=[1 1 0 1 1]。
Matlab上机实验答案.docx
实验一MATLAB 运算基础Matlab 上机实验答案1. 先求下列表达式的值,然后显示MATLAB X 作空间的使用情况并保存全部变量。
» z1 =2*sin(85*pi/180)/(1 +exp(2)) z1 =0.2375⑵ z? =*ln(x +Jl + x?),其中 「45 » x=[2 1+2i;・0.45 5];» z2=1/2*log(x+sqrt(1 +x A2)) z2 =0.7114 ・ 0.0253i 0.8968 + 0.3658i 0.2139+ 0.9343i1.1541 ・0.0044ie 0.3asin(a+0.3) + ln^^a = —3Q — 29 2.9,3.0(1)2sin85°» a=-3.0:0.1:3.0;» z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)(» z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1)z3 =Columns 1 through 50.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i 0.7822 + 3.1416iColumns 6 through 100.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i 0.6196 + 3.1416i 0.5496 + 3.1416iColumns 11 through 150.4688 + 3.1416i 0.3780 + 3.1416i 0.2775 + 3.1416iColumns 16 through 20-0.0771 + 3.1416i -0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 25-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271+3.1416i -1.8436 + 3.1416iColumns 26 through 30-2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 + O.OOOOi-3.0017 + O.OOOOi -2.3085 + O.OOOOiColumns 31 through 35-1.8971 + O.OOOOi -1.5978 + O.OOOOi -1.3575 + O.OOOOi -1.1531 + O.OOOOi -0.9723 + O.OOOOiColumns 36 through 400.4841 + O.OOOOi0.6474 + O.OOOOi0.6119 + O.OOOOi 0.5777 + O.OOOOi 0.5327 + O.OOOOi-0.8083 + O.OOOOi -0.6567 + O.OOOOi -0.5151 + O.OOOOi-0.3819 + O.OOOOi -0.2561 + O.OOOOiColumns 41 through 45-0.1374 + O.OOOOi -0.0255 + O.OOOOi 0.0792 + O.OOOOi0.1766 + O.OOOOi 0.2663 + O.OOOOiColumns 46 through 500.3478 + O.OOOOi 0.4206 + O.OOOOi0.5379 + O.OOOOi 0.5815 + O.OOOOiColumns 51 through 550.6145 + O.OOOOi 0.6366 + O.OOOOi0.6470 + O.OOOOi 0.6351 + O.OOOOiColumns 56 through 600.4774 + O.OOOOi 0.4126 + O.OOOOiColumn 610.3388 + O.OOOOir 0<r<l(4) z4=< t2 -1 l<t<2 9其中Z=0:0・5:2・ 5尸—2r + l 2<r<3»t=0:0.5:2.5;»z4=(t>=0&t<1 ).*(t.A2)+(t>=1 &t<2).*(t.A2-1 )+(t>=2&t<3).*(t.A2-2.*t+1)z4 =0 0.2500 0 1.2500 1.0000 2.25002.已知:求下列表达式的值:(1) A+6*B和A・B+I (其中I为单位矩阵)(2) A*B 和 A.*B⑶A八3和A/3⑷A/B及B\A(5)[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];» A+6*Bans =» A.*Bans =12 102 468 0 2619 ・130 49» A A3 ans =37226 23382424737078688 45414214918848604600766118820»A.A3ans =» B\A ans =ans =12 3 4 11 2067.0000-134.0000 68.00003.设有矩阵A和B(1) 求它们的乘积C。
matlab上机练习及答案
第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。
作业:1、 完成下列操作:1) 求[100,999]之间能被21整除的个数。
2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母2. 编写脚本文件,实现用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。
3. 定义一个函数文件,求∑=ni m i 1,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++101501210011k k k k k k 的值。
4. 已知)7.1cos(12ln )7.1sin(++++=x xx y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值;2) 求这些数据的平均值;5、求分段函数的值。
222603565231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩, 且, 0且及, 其它用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。
6、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:分别用if 语句和switch 语句实现。
7、根据222221111...,6123n ππ=++++求的近似值。
当n 分别取100、1000、10000时,结果是多少?(要求:分别用循环结构和向量运算来实现)8、已知n=1时,f 1=1;n=2时,f 2=0;n=3时,f 3=1;n>3时,f n =f n-1 -2f n-2+ f n —3; 求f 1~ f 100中,最大值、最小值以及各数之和。
MATLAB上机练习一参考解答
上机练习一参考解答一、实验目的1、 熟悉Matlab 编程2、 体会数学上恒等,算法上不一定恒等二、实验内容1. Using the Taylor polynomial of degree nine and three-digit rounding arithmetic to find an approximationto 5-e by each of the following methods.(A) ∑=--≈905!)5(n n n e , (B) ∑=-≈=9055!5/11n nn e e An approximate value of 5-e correct to three digits is 31074.6-⨯. Which formula, (A) or (B), gives the most accuracy, and why?1) 算法基础利用x e 的Taylor 公式00!!n nk x n n x x e n n ∞===≈∑∑,x -∞<<+∞ (1)及001/1/1/!!n nk x x n n x x e e n n ∞-====≈∑∑,x -∞<<+∞, (2)其中k 是根据精度要求给定的一个参数。
在本题中将k 取为9, x 取为-5或5即可由公式(1)或(2)得到5-e 的近似计算方法(A )或(B )。
2) 程序下述程序用公式(A )及(B )分别在Matlab 许可精度下及限定在字长为3的算术运算情况下给出5-e的近似计算结果,其中results_1, results_2为用方法(A )在上述两种情况下的计算结果,err_1, err_2为相应的绝对误差;类似的,results_3, results_4为用方法(B )在上述两种情况下的计算结果,err_3, err_4为相应的绝对误差;具体程序如下:% Numerical Experiment 1.1 % by Xu Minghua, May 17, 2008 clc; %Initialize the data x=-5; k=9; m=3; %three-digit rounding arithmetic %------------------------------------ % Compute exp(x) by using Method (A) % with the computer precision results_1=1; power_x=1; for i=1:k factor_x=x/i; power_x=power_x*factor_x; results_1=results_1+power_x; end results_1 err_1=abs(exp(x)-results_1)%------------------------------------% Compute exp(x) by using Method (A) % with the 3-digits precisionresults_2=1;power_x=1;for i=1:kfactor_x=digit(x/i,m);power_x=digit(power_x*factor_x,m); results_2=digit(results_2+power_x,m); endresults_2err_2=abs(exp(x)-results_2)%------------------------------------% Compute exp(x) by using Method (B) % with the computer precisiont=-x;results_3=1;power_x=1;for i=1:kfactor_x=t/i;power_x=power_x*factor_x;results_3=results_3+power_x; endresults_3=1/results_3err_3=abs(exp(x)-results_3)%------------------------------------% Compute exp(x) by using Method (B) % with the 3-digits precisiont=-x; results_4=1;power_x=1;for i=1:kfactor_x=digit(t/i,m);power_x=digit(power_x*factor_x,m);results_4=digit(results_4+power_x,m); endresults_4=digit(1/results_4,m)err_4=abs(exp(x)-results_4)%------------------------------------上述主程序用到一个子程序digit.m, digit(x,m)的作用是将x四舍五入成m位数。
Matlab上机题库及详细答案_Tonyxie
ax 2 + bx + c 0.5 ≤ x < 1.5 = y a sin c b + x 1.5 ≤ x < 3.5 c ln b + 3.5 ≤ x < 5.5 x
clc;clear; a=input('Please input a= '); b=input('Please input b= '); c=input('Please input c= '); x=input('Please input x= '); disp('#if#'); if x>=0.5&x<1.5 y=a*x^2+b*x+c elseif x<3.5&x>=1.5 y=a*sin(b)^c+x elseif x>=3.5&x<5.5 y=log(abs(b+(c./x))) else y='ERROR!' end disp('#switch#') switch(x*10/5) case {1 2} y=a*x^2+b*x+c case {3 4 5 6} y=a*sin(b)^c+x case {7 8 9 10} y=log(abs(b+(c./x))) otherwise y='ERROR!' end
பைடு நூலகம்
8、数值与符号计算
ex (1)求极限 lim x →+∞ a + be x
(3)已知线性方程组 Ax=b,其中
(2)求不定积分
∫ xe
ax
Matlab上机题及答案
1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。
输出全部水仙花数。
for m=100:999m1=fix(m/100); %求m的百位数字m2=rem(fix(m/10),10); %求m的十位数字m3=rem(m,10); %求m的个位数字if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。
sum=0;n=0;val=input('Enter a number (end in 0):');while (val~=0)sum=sum+val;n=n+1;val=input('Enter a number (end in 0):');endif (n > 0)summean=sum/nend3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。
求[1,500]之间的全部完数。
for m=1:500s=0;for k=1:m/2if rem(m,k)==0s=s+k;endendif m==sdisp(m);endend4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。
function weekn=input('input the number:');if isempty(n)errror('please input !!')endif n>7|n<1error('n between 1 and 7')endswitch ncase 1disp('Monday')case 2disp('Tuesday')case 3disp('Wednesday')case 4disp('Thursday')case 5disp('Friday')case 6disp('Saturday')case 7disp('Sunday')end5. 某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
Matlab试题和答案
M a t l a b试题和答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--Matlab 上机考试试题考试要求:1、从10道题目中随机抽取3道独立完成,时间1小时。
(输入randperm (10),取前三个数)2、每个题目兴建一个.m的文件,命名方式ks+N.m(N为题号),然后将所选三个题目放入一个文件夹,文件名为学号+姓名。
考试完成后将文件夹通过FTP 提交。
3、考试完成后要写一份报告,内容包括以下:(建一个.Doc的文档,文件名为学号+姓名)(1)题号,题目;(2)运行结果及其分析;(3)图也要粘贴在文档中。
4、查阅资料写一篇2000字左右的关于matlab在电子信息中的应用的小论文或综述,也可以具体的写matlab在电子信息中某一个方面或某一个点的应用。
(打印或手写都可,打印版要交电子文档)5、所有要交的东西在1月3号之前必须交齐。
(由学习委员统一收齐交给我,电子文档也拷到学习委员处,统一拷给我)。
所交项目包括:考试报告打印版,小论文打印版(两个装订在一起,考试报告在上,小论文在下,最好做一个统一的封皮),考试报告doc文档,小论文doc文档。
Matlab 上机考试试题1.求下列联立方程的解3x+4y-7z-12w=45x-7y+4z+ 2w=-3X +8z- 5w=9-6x+5y-2z+10w=-8(1)求系数矩阵的秩; (2)求出方程组的解。
2.在[-10,10;-10,10]范围内画出函数2222 sinyx yx z++=的三维图形。
3.试画出系统321()221H s s s s =+++的零极点分布图,判断系统是否稳定,同时求其单位冲激响应和频率响应(幅频特性和相频特性)。
4. 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。
(1)]22[)cos(ππ,,-∈x x (曲线图); (2)4)y 2,-4x (-242),(2222≤≤≤≤+=;y x y x f (曲面图)。
Matlab上机题库及详细答案
解:c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
(2)均值为0.6方差为0.1的5阶正态分布随机矩阵
解:>>x=20+(50-20)*rand(5);
>>y=0.6+sqrt(0.1)*randn(5)
例13:将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
解:M=100+magic(5)
M =117 124 101 108 115
-0.4606
0.3848
例2、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。
解:x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x, y2,x, y3)
例3:画出指数衰减曲线y1=exp(-t/3)*sin(3*t)和它的包络y2=exp(-t/3),t的取值范围是(0,4pi)。
matlab上机考试题及答案
matlab上机考试题及答案1. 题目:编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。
答案:函数定义如下:```matlabfunction sumOfSquares = calculateSumOfSquares(vector)sumOfSquares = sum(vector.^2);end```2. 题目:使用MATLAB的内置函数,找出一个矩阵中的最大元素及其位置。
答案:可以使用`max`函数来找出矩阵中的最大元素,同时使用`find`函数来获取其位置。
示例代码如下:```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9];[maxValue, linearIndex] = max(A(:));[row, col] = ind2sub(size(A), linearIndex);```3. 题目:给定一个向量,使用MATLAB编写代码,实现向量元素的逆序排列。
答案:可以使用`flip`函数来实现向量的逆序排列。
示例代码如下:```matlabvector = [1, 2, 3, 4, 5];reversedVector = flip(vector);```4. 题目:编写一个MATLAB脚本,计算并绘制一个正弦波的图像。
答案:可以使用`sin`函数生成正弦波数据,并使用`plot`函数绘制图像。
示例代码如下:```matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('sin(x)');title('Sine Wave');```5. 题目:给定一个3x3的矩阵,使用MATLAB编写代码,计算其行列式。
答案:可以使用`det`函数来计算矩阵的行列式。
示例代码如下:```matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];determinant = det(matrix);```结束语:以上是MATLAB上机考试的题目及答案,希望能够帮助大家更好地掌握MATLAB的编程技巧和函数使用。
Matlab上机题库及详细答案
case num2cell(25:49) %价格大于等于2500但小于5000
Байду номын сангаасrate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
例19已知,当n=100时,求的值。
解:程序如下:
y=0;n=100;for i=1:n;y=y+1/(2*i-1);End
例20:一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数
解:for m=100:999
m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3;disp(m);end
D=diag(1:5);D*A %用D左乘A,对A的每行乘以一个指定常数
例15:输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');y=input('Input y please.');z=x;x=y;y=z;
disp(x);disp(y);
例16::求一元二次方程ax2 +bx+c=0的根。
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000
(完整版)matlab上机练习题答案
(完整版)matlab 上机练习题答案1.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积>〉 a=[6 9 3;2 7 5]; 〉〉 b=[2 4 1;4 6 8]; 〉〉 a 。
*b ans =12 36 3 8 42 402。
对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
〉〉 A=[4 9 2;7 6 4;3 5 7]; 〉> B=[37 26 28]’; >〉 X=A\B X = -0.5118 4.0427 1.33183。
⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果 >〉 a=[1 2 3;4 5 6]; 〉> b=[8 –7 4;3 6 2]; >〉 a 〉b ans =0 1 0 1 0 1 〉> a 〉=b ans =0 1 0 1 0 1 >> a 〈b ans =1 0 1 0 1 0 〉> a<=b ans =1 0 1 0 1 0 >〉 a==b ans =0 0 0 0 0 0 〉〉 a~=b ans =1 1 1 1 1 14计算多项式乘法(x 2+2x +2)(x 2+5x +4)>> c=conv ([1 2 2],[1 5 4]) c =1 7 16 18 8 5计算多项式除法(3x 3+13x 2+6x +8)/(x +4) 〉〉 d=deconv ([3 13 6 8],[1 4]) d =3 1 26求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解〉〉 a=[2 4 7 4;9 3 5 6]; 〉> b=[8 5]’; 〉> x=pinv (a )*b x =—0.2151 0.4459 0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P 第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y为纵坐标的曲线,要求有图形标注。
clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
clc clearx=0:2:4*pi;y=sin(x).*exp(-x./5); x1=0:0.1:4*pi;y01=interp1(x,y,x1,'spline'); y02=interp1(x,y,x1,'cubic'); y03=interp1(x,y,x1,'nearest'); y04=interp1(x,y,x1); subplot(3,2,1); plot(x,y,'o-'); title('Ô-º¯Êý'); subplot(3,2,2); plot(x1,y01,'gx-'); title('spline'); subplot(3,2,3); plot(x1,y02,'m+-'); title('cubic'); subplot(3,2,4); plot(x1,y03,'r*-'); title('nearest'); subplot(3,2,5); plot(x1,y04,'kd-'); title('line');⎪⎭⎫⎝⎛+⋅=-334sin 234πt e y t ()θρn b a +=cos 2212y x z -=y x z 322-=第二次试验答案1、编制m文件,等待键盘输入,输入密码20120520,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。
cleara=input('输入密码:')while a~=20120520disp('密码错误,请重新输入:')cleara=input('输入密码:')endif a==20120520disp('密码输入正确!')end2、编写一个函数实现以下功能:a. 若没有实参输入变量,则用蓝色实线画出半径为1的圆;b.若有两个实参输入变量N,R,则用蓝色实线画出外接半径为R的正N多边形;d. 若有两个实参输出变量,则分别输出正多边形的面积S和周长L。
g. 如果输入变量多于三个或输出变量多于两个则给出错误提示信息。
(提示:外接半径为R的正N多边形参数式:t=0:2*pi/N:2*pi;x=R*sin(t);y=R*cos(t)当N ≥100时,可看作是半径为R的圆)function [S,L]=shiyan22(N,R,str)switch nargincase 0N=100;R=1;str='-b';case 1R=1;str='-b';case 2 str='-b';case 3;otherwiseerror('输入量太多。
');end;t=0:2*pi/N:2*pi;x=R*sin(t);y=R*cos(t);if nargout==0plot(x,y,str);elseif nargout>2error('输入量太多。
');elseS=N*R*R*sin(2*pi/N)/2;L=2*N*R*sin(pi/N);plot(x,y,str)endaxis equal squarebox on3、编写一个学生成绩管理的程序,完成下列功能:(1) 构造一个学生结构,包括学生的姓名,课程名称(限M门),考试成绩和平均值等域;(2) 从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0,并分别计算其平均值写入到其平均值域。
(3) 根据平均值排序(由高到低),并输出学生的姓名和平均值。
clcclearn=input('please input students number:'); for x=1:nnumber(x)=struct('name','','Curriculum1','' ,'Curriculum2','','Curriculum3','','Average ','');endfor i=1:nnumber(i).name=input('name:','s');number(i).Curriculum1=input('pleaseinput the scores\nCurriculum1:');number(i).Curriculum2=input('Curriculum2:') ;number(i).Curriculum3=input('Curriculum3:') ;number(i).Average=(number(i).Curriculum1+nu mber(i).Curriculum2+number(i).Curriculum3)/ 3;disp('the average is:')disp(num2str(number(i).Average))endNameCell=cell(1,n);Array=[1,n];for i=1:nNameCell(1,i)={number(i).name};Array(i)=number(i).Average;endfor j=1:(n-1)iptr = j;for i=(j+1):nif Array(i)>Array(iptr) %比较相邻前后大小¡iptr=i;endendif j~=iptr %若后面比前面大,互换Name=NameCell(1,i);NameCell(1,i)=NameCell(1,j);NameCell(1,j)=Name;average=Array(i);Array(i)=Array(j);Array(j)=average;j=1;iptr=j;endenddisp('成绩排序如下:')for i=1:ndisp(strcat('名次: ',num2str(i),' 名字',NameCell(1,i),' 平均成绩:',num2str(Array(i))))end4、使用句柄图像对象绘制曲线:y=2e-0.5x cos(πx),同时对曲线进行标注和修饰。
x=-12:0.02:12y=2*exp((-0.5)*x).*cos(pi*x)h_f=figure('Position',[200 300 300300],'menubar','none')h_a1=axes('position',[0.1,0.1,.8,.8])h_t=title(h_a1,'函数=2*exp((-0.5)*x).*cos(pi*x)')h_1=line(x,y)set(gca,'xtick',[(-6)*pi (-4)*pi (-2)*pi 0 (2)*pi (4)*pi (6)*pi])set(gca,'xticklabel',{'(-6)*pi',' (-4)*pi', '(-2)*pi', '0', '(2)*pi', '(4)*pi','(6)pi'}) set(gca,'xgrid','on','ygrid','on')set(h_1,'linewidth',2)set(get(h_t,'parent'),'color','y')h_anm1=annotation(gcf,'rectangle',[0.10.5 .80.4],'FaceAlpha',.7,'FaceColor','red')第三次试验答案1、做一个带按钮的界面,当按动“播放”按钮时调入声音文件并播放,显示声音波形,并建立一个用于关闭界面的按钮对象。