matlab基础与应用部分习题答案Word文件下载.docx
- 文档编号:14829858
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:28
- 大小:109.32KB
matlab基础与应用部分习题答案Word文件下载.docx
《matlab基础与应用部分习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《matlab基础与应用部分习题答案Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
33404754616875
34414855626976
35424956637077
(4求矩阵A的大小和维素。
sizeA=size(A)
dA=ndims(A)
sizeA=
67
dA=
2
(5)将向量t的0元素用机器零来代替。
t=[123405];
t=
123405
find(t==0)
ans=
5
t(5)=eps
1.00002.00003.00004.00000.00005.0000
(6)将含有12个元素的向量x转换成3*4矩阵。
x=[0:
11]
x=
01234567891011
y=reshape(x,3,4)
y=
0369
14710
25811
(7)求一个字符串的ASCII。
abs('
a'
)
97
(8)求一个ASCII所对应的字符。
char(99)
c
5、已知A[97673410
-7875655
325-23-59
0=-12547]
写出完成下列操作的命令。
(1)取出A的前3列构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。
B=A(1:
3,:
B=
97673410
-7875655
325-23-59
C=A(:
1:
2)
C=
9767
-7875
325
0-12
D=A(2:
4,3:
4)
D=
655
-23-59
547
E=B*C
E=
527111574
-11336664
19783112
(2)输出【50,100】范围的全部元素。
find(A>
=50&
A<
=100)
1
6
10
12
output=[A
(1)A(5)A(6)A(10)A(12)]
output=
9767756554
二、实验题
x=-74*pi/180;
y=-27*pi/180;
sin((x*x+y*y))/(sqrt(tan((abs(x+y))))+pi)
0.1987-0.1434i
a=-3.0:
0.1:
3.0,
exp(-0.3.*a).*sin(a+0.3)
x=[24;
-0.455];
0.5*log(x+sqrt(1+x.*x))
0.72181.0474
-0.21801.1562
A=[3542;
34-457;
879015],
B=[1-267;
2874;
930]
A*B
A.*B
1294324197
7-407-1052
40259112489
3-108134
68-360518
7832700
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:
);
B^2]
a=1+2i,b=3+4i,c=exp(pi/6*i)
c+a*b/(a+b)
作业二
1、从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:
每位数字都加上7,然后用和除以10的余数取代该数字;
然后将第1位数和第3位数交换,第2位数和第4位数交换。
M文件名为:
Untitled1.m
程序:
x=input('
输入一个四位整数:
'
y=[fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,10)]
z=mod((y+7),10)
x=z(3)*1000+z(4)*100+z
(1)*10+z
(2)
结果:
1234
1234
z=
8901
189
2、硅谷公司员工的工资计算方法如下。
(1)工作时数超过120h者,超过部分加发15%。
(2)工作时数低于60h者,扣发700元。
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
gonghao=input('
输入工号'
hour=input('
输入工时'
every=84;
ifhour>
120
gongzi=every*120+1.15*every*(hour-120);
elseifhour<
60
gongzi=every*hour-700;
else
gongzi=devery*hour;
end
formatbank;
display([gonghao,gongzi])
(1)结果:
输入工号12
输入工时130
12.0011046.00
(2)结果:
输入工时56
12.004004.00
(3)结果:
输入工时80
12.006720.00
3、根据,求π的近似值。
当n分别取100、1000、10000时,结果是多少?
要求:
分别用循环结构和向量运算(使用sun函数)来实现。
(1)程序:
(循环结构):
n=input('
inputn:
s=0;
fori=1:
n
s=s+1/i^2;
pai=sqrt(s*6);
display(pai)
100
pai=
3.1321
(2)程序:
(向量结构):
i=1:
n;
pai=sqrt(sum(1./i.^2)*6);
display(pai);
4、根据,求:
(1)y﹤3时的最大n值;
(2)与
(1)的n值对应的y值。
y=0;
k=0;
whiley<
3
k=k+1;
y=y+1/(2*k-1);
display([k-1,y-1/(2*k-1)])
56.002.99
5、考虑一下迭代公式:
其中,a、b为正的常数。
(1)编写程序求迭代的结果,迭代的终止条件为||,迭代初值,迭代次数不超过500次。
x0=1.0;
a=input('
a='
b=input('
b='
x=a/(b+x0);
m=1;
whileabs(x-x0)>
1e-5&
m<
500
x0=x;
x=a/(b+x0);
m=m+1;
display([m,x]);
display([(-b+sqrt(b^2+4*a))/2,(-b-sqrt(b^2+4*a))/2]);
a=5
b=5
7.00000.8541
0.8541-5.8541
(2)如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。
a=1
b=1
13.00000.6180
0.6180-1.6180
a=8
b=3
13.00001.7016
1.7016-4.7016
a=10
b=0.1
424.00003.1127
3.1127-3.2127
6、已知
(1)当时,y的值是多少?
该题使用了function的调用。
函数文件f.m
functionb=f(n);
b=n+10*log(n^2+5);
y=f(40)/(f(30)+f(20))
0.6390
(2)当时,y的值是多少?
函数文件fun.m
functionf=fun(n)
f=sum([1:
n].*([1:
n]+1));
y=fun(40)/(fun(30)+fun(20))
1.7662
作业三
1、绘制下列曲线。
(1)
(2)
(3)(4)
解:
x=-5:
0.001:
5;
y=x-x.^3/(3*2*1);
plot(x,y);
x=-10:
0.01:
10;
y=exp(-x.*x/2)/(2*pi);
(3)程序:
f='
x.^2+2*y.^2-64'
;
ezplot(f,[-10,10,-10,10]);
ezplot('
[-10,10,-10,10]);
(4)程序:
t=0:
8*pi;
x=t.*sin(t);
y=t.*cos(t);
已知,,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制两条曲线,给曲线添加文字说明;
x1=linspace(0,1,100);
y1=2*x1-0.5;
t=linspace(0,pi,100);
x=sin(3*t).*cos(t);
y=sin(3*t).*sin(t);
plot(x1,y1,'
k:
x,y,'
bp'
text(0.5,1,'
y=2x-0.5'
text(-0.5,0.5,'
x=sin(3t)cos(t)'
text(-0.5,0.4,'
x=sin(3t)sin(t)'
(2)以子图形式,分别用条形图和散点图绘制两条曲线,并为各子图添加函数标题。
subplot(1,2,1);
bar(x1,'
group'
title('
y1=2x-0.5'
subplot(1,2,2);
barh(t,'
stack'
su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 基础 应用 部分 习题 答案