Matlab上机练习二答案.docx
- 文档编号:12311584
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:19
- 大小:117.32KB
Matlab上机练习二答案.docx
《Matlab上机练习二答案.docx》由会员分享,可在线阅读,更多相关《Matlab上机练习二答案.docx(19页珍藏版)》请在冰豆网上搜索。
Matlab上机练习二答案
1、求
的共轭转置。
>>x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];
>>x’
ans=
4.0000-8.0000i3.0000-2.0000i
3.0000-5.0000i7.0000+6.0000i
2.0000+7.0000i9.0000-4.0000i
1.0000-4.0000i3.0000+9.0000i
7.0000+5.0000i4.0000-4.0000i
2、计算
与
的数组乘积。
>>a=[693;275];
>>b=[241;468];
>>a.*b
ans=
12363
84240
3、对于
,如果
,
,求解X。
>>A=[492;764;357];
>>B=[372628]’;
>>X=A\B
X=
-0.5118
4.0427
1.3318
4、
,
,观察a与b之间的六种关系运算的结果。
>>a=[123;456];
>>b=[8–74;362];
>>a>b
ans=
010
101
>>a>=b
ans=
010
101
>>a
ans=
101
010
>>a<=b
ans=
101
010
>>a==b
ans=
000
000
>>a~=b
ans=
111
111
5、
,在进行逻辑运算时,a相当于什么样的逻辑量。
相当于a=[11011]。
6、角度
,求x的正弦、余弦、正切和余切。
>>x=[304560];
>>x1=x/180*pi;
>>sin(x1)
ans=
0.50000.70710.8660
>>cos(x1)
ans=
0.86600.70710.5000
>>tan(x1)
ans=
0.57741.00001.7321
>>cot(x1)
ans=
1.73211.00000.5774
7、用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。
>>b=[2.45686.39823.93758.5042];
>>round(b)
ans=
2649
8、设
,
,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。
>>A=[14813;-36-5-9;2-7-12-8];
>>B=[543-2;6-23-8;-13-97];
>>C1=A*B'
C1=
19-8230
12273
-385429
>>C2=A'*B
C2=
-1516-2436
63-1793-105
226117-60
194684-10
>>C3=A.*B
C3=
51624-26
-18-12-1572
-2-21108-56
>>inv(C1)
ans=
0.00620.0400-0.0106
-0.00460.01690.0030
0.01680.02090.0150
>>inv(C2)
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=8.997019e-019.
ans=
1.0e+015*
-0.9553-0.2391-0.19970.2700
0.96670.24200.2021-0.2732
-0.4473-0.1120-0.09350.1264
-1.1259-0.2818-0.23530.3182
>>inv(C3)
?
?
?
Errorusing==>inv
Matrixmustbesquare.
9、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y曲线。
>>t=linspace(0,10);
>>r1=2;
>>x1=(r1*cos(t)+3*t);
>>y1=r1*sin(t)+3;
>>r2=3;
>>x2=(r2*cos(t)+3*t);
>>y2=r2*sin(t)+3;
>>r3=4;
>>x3=(r3*cos(t)+3*t);
>>y3=r3*sin(t)+3;
>>plot(x1,y1,'r',x2,y2,'b',x3,y3,'m')
10、设f(x)=x5-4x4+3x2-2x+6
(1)在x=[-2,8]之间取100个点,画出曲线,看它有几个过零点。
(提示:
用polyval函数)
>>x=linspace(2,8,100);
>>y=polyval([10-43-26],x);
>>plot(x,y,'b',x,0,'y')
(2)用roots函数求此多项式的根。
t=[10-43-26]
p=roots(t)
12、求解多项式x3-7x2+2x+40的根。
>>r=[1-7240];
>>p=roots(r);
-0.2151
0.4459
0.7949
0.2707
13、符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2]。
>>symst
>>ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])
14、设
求
x=sym('x');y=(sin(x))^4+(cos(x))^4;diff(y,10)
15、
x=sym('x');int((sqrt((9-x^2)^3)/x^6),x)
16、
x=sym('x');int(x+x^3,x,1,2)
17、求级数的和:
sym(‘n’);symsum(n+2/2^n,n,1,inf)
18、利用函数int计算二重不定积分
x=sym('x');y=sym('y');z=(x+y)*exp(-x*y);a=int(z,x);int(a,y)
19、试求出如下极限。
(1)
;
(2)
;
(1)>>symsx;f=(3^x+9^x)^(1/x);l=limit(f,x,inf)
ans=
9
(2)>>symsxy;f=x*y/(sqrt(x*y+1)-1);limit(limit(f,x,0),y,0)
ans=
2
(3)>>symsxy;f=(1-cos(x^2+y^2))*exp(x^2+y^2)/(x^2+y^2);limit(limit(f,x,0),y,0)
ans=
0
20、已知参数方程
,试求出
和
>>symst;x=log(cos(t));y=cos(t)-t*sin(t);diff(y,t)/diff(x,t)
ans=
-(-2*sin(t)-t*cos(t))/sin(t)*cos(t)
>>f=diff(y,t,2)/diff(x,t,2);subs(f,t,sym(pi)/3)
ans=
3/8-1/24*pi*3^(1/2)
21、假设
,试求
>>symsxyt
>>s=int(exp(-t^2),t,0,x*y);
>>x/y*diff(f,x,2)-2*diff(diff(f,x),y)+diff(f,y,2)
ans=2*x^2*y^2*exp(-x^2*y^2)-2*exp(-x^2*y^2)-2*x^3*y*exp(-x^2*y^2)
22试求出下面的极限。
(1)
;
(2)
>>symskn;symsum(1/((2*k)^2-1),k,1,inf)
ans=
1/2
>>limit(symsum(1/((2*k)^2-1),k,1,n),n,inf)
ans=
1/2
(2)
>>limit(n*symsum(1/(n^2+k*pi),k,1,n),n,inf)
ans=
1
23、假设一曲线数据点为x=0:
2:
4*piy=sin(x).*exp(-x/5)
试将x的间距调成0.1,并用下列方法进行内插:
(1)线性内插法(method=’linear’)
(2)样条内插法(method=’spline’)
(3)三次多项式内插法(method=’cubic’)
(4)多项式拟合法:
直接利用6次多项式去通过7个数据点
请将这些内插法的结果及原先的数据点画在同一个图上
25、阅读以下程序并在指定位置上写注释(6分)
t=(0:
0.02:
2)*pi;
x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'r-',x,y,z,'bd')%___
(1)_绘制一条红色连续曲线和蓝色菱形离散点
view([-82,58])%___
(2)__以方位角-82度,俯角58度观察视图
boxon%显示坐标轴的矩形框
legend('图形','视角')%__(3)_标注图例______
holdon%__(4)_保持图形_____
x=-4:
4;y=x;
[X,Y]=meshgrid(x,y);%__(5)_生成平面网格坐标矩阵__
Z=X.^2+Y.^2;
surf(X,Y,Z);%__(6)_绘制三维曲面_
26、编写一个M函数文件fun_es(x),计算如下函数:
,其中参数可以为标量,也可以为向量。
在Matlab指令窗口键入如下命令检验该函数:
fun_es(3)
functionfun_es(x)
y=0.5.*exp(x./3)-x.^2.*sin(x)
27、编写m函数文件求半径为r的圆的面积和周长。
functionf=circle(r)
S=pi*r^2
L=2*pi*r
x,y
Matlab上机实验四
28、编制m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。
functionf=zy2()
t=input('Inputkey(keyis123)')
ift==123
'good'
else
'Youarefool,inputagain'
zy2;//从新输入;
end
4.3已知y=
。
当n=100时,求y的值
步骤:
建立函数,命名为Cbb.m求平方倒数的和。
其程序如下
functionF=Cbb(n)
F=0;k=1;
whilek<=n
F=F+(1/k)/k;
k=k+1;
end
end
在工作空间中求y值
y=Cbb(100)
y=
1.6350
4.5编制程序,计算1+2+
+n<2000时的最大n值
步骤:
建立函数文件Dbb.m,求累加和小于n的最大数,使n=2000程序如下
functionk=Dbb(n)
k=1;
f=0;
whilef f=f+k; k=k+1; end k=k-2; end 将2000作为输入值,求n.在工作空间中输入如下: Dbb(2000) ans= 62 4.6分别用for和while循环结构编写程序,求出K= 分别用for和while循环结构编写命令文件Ebb,Fbb.并在工作空间中求K Ebb程序如下 f=1; J (1)=1; fori=1: 63 J(i+1)=J(i)*2; f=f+J(i+1); End 求K程序: Ebb.m f f= 1.8447e+019 Fbb程序如下 I=1; H=1; i=1; whilei<=63 H=H*2; I=I+H; i=i+1; end 在工作空间中求K Fbb.m I I= 1.8447e+019 1.倘若要是生成一个4行5列的矩阵 a=rand(4,5) 2.倘若要是对x进行赋值,从5到25,间隔是0.1 x=5: 0.1: 25; 倘若要是对x进行赋值,从2到20,中间间隔100个点 x=linspace(2,20,100); 4.用3种方法将图画在同一个窗口中 x=5: 0.1: 25; y1=sin(x).*cos(2*x); y2=sin(2*x).*cos(x); plot(x,y1,x,y2) 有一点必须注意: 在式子与式子之间,必须要用点乘 要想对所画的图形进行修饰,可以用以下的语句,要点是必须是先画出图形,再写有关对图形修饰的语句 plot(x,y1,x,y2); plot(x,y1,'r--',x,y2,'b-.'); xlabel('横坐标'); title('标题'); legend('sinx*cosx','sin2x*cosx');("加示例") 怎样改变线宽? 以及怎样给一个中间空着的正方形的边缘及内部填充颜色 plot(x,y,'markeredge','g'); plot(x,y,'markerfacecolor','b'); 5.关于三维图的画法 饼图pie 火柴杆图stem(x,y) 阶梯图 6.关于排序问题 a=rand(4,5);随机生成4*5的矩阵 sort(a);按列排序,且每列由上到下是由小到大 sort(a,1);按列排序,且每列由上到下是由小到大 sort(a,2);按行排序,且每行由左到右是由小到大 倘若想要改变由大到小还是想改变由小到大,需要用到 增长ascend 减小descend 例如: 按行进行排序,且每一行自左至右是递减的,即: 按照行从高到低排序 a=[123;456;789] sort(a,2,'descend') a= 123 456 789 ans= 321 654 987 7.关于矩阵问题 求矩阵中每一列的平均值 mean(a) mean(a,1) 求矩阵中每一行的平均值 mean(a,2) 从矩阵a中找出最大值 max(max(a)) 内层的max相当于找出每一列的最大值,外层的max相当于找出每一列最大值的最大值 或者 a=rand(3,4) max(a(: ))即a的所有行,所有列 倘若对矩阵a前两行的2,3,4列求最大值 max(a(1: 2,2: 4)) 求矩阵a的行列式值|a| b=det(a)det语句是求n*n的行列式的值 求矩阵a的逆矩阵 b=inv(a)inv是矩阵求逆的意思 求矩阵a的转置 b=a' 对于矩阵a: 求出矩阵a中每一列中的最大值,最小值 a=[123;456;789] b=max(a) c=min(a) 求出矩阵a中每一行中的最大值,最小值 a=[123;456;789] b=max(a,[],2) c=min(a,[],2) 8.关于取整问题 a=5/2 b=ceil(a)向大取 c=floor(a)向小取 9.关于多形式的乘法和除法 例如: 求x2+2x+3与4x2+5x+6的乘积 a=[123] b=[456] c=conv(a,b) 求x2+2x+3除以4x2+5x+6 a=[123] b=[456] c=deconv(a,b) 10.关于矩阵确定位置的问题 例如: 找出矩阵a的最大值,并确定其位置 a=rand(3,4) [x,y]=max(a) 11.Matlab的函数是由function语句引导的,函数的基本结构是: function[返回变量列表]=函数名(输入变量列表) 倘若有一个输入,一个输出 functiony=sum(a) 倘若有两个输入,两个输出,则形式为 function[m,n]=hanshu(a,b) 例如: function[x,y]=hanshu(a,b); x=a+b; y=a*b; 执行时,需要在CommandWindow中敲入 x=2; y=3; [m,n]=hanshu(x,y) 12. 一个整数除以3只有3种情况,要么整除,要么余1,要么余2. 若整除,输出此整数是3的倍数 若余1,输出此整数除以3余1 若余2,输出此整数除以3余2 请用两种条件语句写一个函数(一个是IF一个是SWITCH) IF: a=input('请输入一个整数'); b=mod(a,3);求余函数 ifb==0 disp('此整数是3的倍数'); elseifb==1 disp('此整数除以3余1'); else disp('此整数除以3余2'); end SWITCH: a=input('请输入一个整数'); b=mod(a,3); switch(b) case0 disp('此整数是3的倍数'); case1 disp('此整数除以3余1'); case2 disp('此整数除以3余2'); end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 上机 练习 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)