MATLAB实验上机易错题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 。