MATLAB实验上机易错题汇总

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

1、完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。(2) 建立一个字符串向

量,删除其中的大写字母。

(1)

m=100:999;

n=find(mod(m,21)==0);

length(n)

ans =

43

(2)>> ch='Maybe One Day'

p=find(ch>='A'&ch<='Z')

ch(p)=[]

ch =

Maybe One Day

2、自行产生一个5行5列的数组,分别得到最中间的三行三列矩阵、右下角2行2列矩阵,

奇数行矩阵、奇数列矩阵、奇数行奇数列矩阵。

>> t=rand(5)%生成矩阵

A=t(2:4,2:4)%中间三行散列矩阵

B=t(4:5,4:5)%右下角两行两列矩阵

C=t(1:2:end,:)%奇数行矩阵

D=t(:,1:2:end)%奇数列矩阵

E=t(1:2:end,1:2:end)%奇数行列矩阵

3、求方程组的根

syms x y z

[X Y Z]=solve('x+4*y-3*z=2','2*x+5*y-z=11','x+6*y+z=12',x,y,z)

4、已知矩阵A=[1 2;3 4],运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A的程序。(2)用指令检验所得的两个恢复矩阵是否相等(利用norm(…,’fro’)指令,误差矩阵F-范数,接近eps量级,认为实际相等)。

5、先运行clear,format long,rng('default'),A=rand(3,3),然后根据A写出两个矩阵:一个对角

阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同(diag指令的使用)。

>> format long

>> rand('twister',1)

>> A=rand(3,3)

A =

0.417022004702574 0.302332572631840 0.186260211377671

0.720324493442158 0.146755********* 0.345560727043048 0.000114374817345 0.092338594768798 0.396767474230670 >> B=diag(diag(A)) B =

0.417022004702574 0 0 0 0.146755********* 0 0 0 0.396767474230670 >> D=(A~=B) D =

0 1 1 1 0 1 1 1 0 >> C=A.*D C =

0 0.302332572631840 0.186260211377671 0.720324493442158 0 0.345560727043048 0.000114374817345 0.092338594768798 0

6、先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; 产生矩阵Z 。(1)请问矩阵Z 中有多少个“非数”数据?(2)用指令surf(X,Y ,Z); shading interp 观察所绘的图形。(3)请写出绘制相应的“无裂缝”图形的全部指令。(nan 的检测,可以使用sum 函数求和,利用eps 克服,‘被零除’。

x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; >> n=sum(sum(isnan(Z))) n = 181

>> m=isnan(Z); >> p=find(m==1); >> length(p) ans = 181 3)XX=X+(X==0)*eps; >> YY=Y+(Y==0)*eps;

ZZ=sin(XX).*sin(YY)./XX./YY;

7、计算表达式()

2

2

e 1053y x

y x z ---=的梯度并绘图。

>> v= -2:0.1:2;

>> [x y]=meshgrid(v);

>> z=10*(x.^3-y.^5).*exp(-x.^2-y.^2); >> [px py]=gradient(z,0.1,0.1); >> contour(x,y,z) >> hold on

>> quiver(x,y,px,py)

>> hold off

8、2

2

y x

xe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗

口中绘制出三维线图(plot3)、网线图(mesh)、表面图(surf)和带渲染效果(shading )的表

面图。

>> v=-2:0.1:2; >> [x y]=meshgrid(v); >> z=x.*exp(-x.^2-y.^2); >> subplot(2,2,1); >> plot3(x,y,z);

>> title('plot3(x,y,z)'); >> subplot(2,2,2); >> surf(x,y,z);

>> title('surf(x,y,z)'); >> subplot(2,2,3); >> mesh(x,y,z);

>> title('mesh(x,y,z)'); >> subplot(2,2,4); >> surf(x,y,z); >> shading interp; >> title('surf-shading(x,y,z)')

9、插值函数interp1(x,y,x0,’spline’)的利用 10、x=[66 49 71 56 38]; >> L=[0 0 0 0 1]; >> pie(x,L) 将第五块分离出来;

11、

0)0(sin =+=y t y dt

dy

f=dsolve('Dy=y+sin(t)','y(0)=0') f =

exp(t)/2 - cos(t)/2 - sin(t)/2

三、⎪⎪⎩⎪⎪⎨⎧=+-==++=0)0(cos 0)0(sin y t y x dt

dy x t y x dt

dx

[X,Y]=dsolve('Dx=x+y+sin(t)','Dy=x-y+cos(t)','x(0)=0','y(0)=0') X =

exp(2^(1/2)*t)/3 + exp(-2^(1/2)*t)/3 - (2*cos(t))/3 - sin(t)/3 + (2^(1/2)*exp(2^(1/2)*t))/12 - (2^(1/2)*exp(-2^(1/2)*t))/12 Y =

cos(t)/3 - exp(-2^(1/2)*t)/6 - exp(2^(1/2)*t)/6 + (2^(1/2)*exp(2^(1/2)*t))/4 - (2^(1/2)*exp(-2^(1/2)*t))/4

四、用电压V =10伏的电池给电容器充电,电容器上t 时刻的电压为

m t e V V V t v /0)()(---=

其中0V 是电容器的初始电压,m 是充电常数,试由下面一组t ,V 数据确定0V 和m 。

相关文档
最新文档