作业一
4、写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。>> M=[0:1:48];
>> A=reshape(M,7,7)
A =
0 7 14 21 28 35 42
1 8 15 2
2 29 36 43
2 9 16 2
3 30 37 44
3 10 17 2
4 31 38 45
4 11 18 2
5 32 39 46
5 12 19 2
6 33 40 47
6 13 20 2
7 34 41 48
>> B=A(2:5,1:2:5)
B =
1 15 29
2 16 30
3 17 31
4 18 32
(2)删除矩阵A的第七行元素。
>> A(7,:)=[]
A =
0 7 14 21 28 35 42
1 8 15 2
2 29 36 43
2 9 16 2
3 30 37 44
3 10 17 2
4 31 38 45
4 11 18 2
5 32 39 46
5 12 19 2
6 33 40 4
7 (3)将矩阵A的每个元素值加30。
>> A=A+30
A =
30 37 44 51 58 65 72
31 38 45 52 59 66 73
32 39 46 53 60 67 74
33 40 47 54 61 68 75
34 41 48 55 62 69 76
35 42 49 56 63 70 77
(4求矩阵A的大小和维素。
sizeA = size(A)
dA = ndims(A)
sizeA =
6 7
dA =
2
(5)将向量t的0元素用机器零来代替。
>> t=[1 2 3 4 0 5];
t =
1 2 3 4 0 5
>> find(t==0)
ans =
5
>> t(5)=eps
t =
1.0000
2.0000
3.0000
4.0000 0.0000
5.0000
(6)将含有12个元素的向量x转换成3*4矩阵。
>> x=[0:11]
x =
0 1 2 3 4 5 6 7 8 9 10 11 >> y=reshape(x,3,4)
0 3 6 9
1 4 7 10
2 5 8 11
(7)求一个字符串的ASCII。
>> abs('a')
ans =
97
(8)求一个ASCII所对应的字符。
>> char(99)
ans =
c
5、已知A[97 67 34 10
-78 75 65 5
32 5 -23 -59
0 = -12 54 7]
写出完成下列操作的命令。
(1)取出A的前3列构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。
>> B=A(1:3,:)
B =
97 67 34 10
-78 75 65 5
32 5 -23 -59
>> C=A(:,1:2)
C =
97 67
-78 75
32 5
0 -12
>> D=A(2:4,3:4)
D =
65 5
-23 -59
54 7
>> E=B*C
E =
5271 11574
-11336 664
1978 3112
(2)输出【50,100】范围的全部元素。>> find(A>=50 & A<=100)
ans =
1
5
6
10
12
>> output = [A(1) A(5) A(6) A(10) A(12)]
output =
97 67 75 65 54
二、实验题
>> x = -74*pi/180;y=-27*pi/180;
sin((x*x+y*y))/(sqrt(tan((abs(x+y))))+pi) ans =
0.1987 - 0.1434i
>> a = -3.0:0.1:3.0,
exp(-0.3.*a).*sin(a+0.3)
>> x=[2 4;-0.45 5];
0.5*log(x+sqrt(1+x.*x))
ans =
0.7218 1.0474
-0.2180 1.1562
>> A = [3 54 2;34 -45 7;87 90 15],
B = [1 -2 67;2 8 74;9 3 0]
>> A*B
A.*B
ans =
129 432 4197
7 -407 -1052
402 591 12489
ans =
3 -108 134
68 -360 518
783 270 0
>> 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
y =
1 2 3 4
z =
8 9 0 1
x =
189
2、硅谷公司员工的工资计算方法如下。
(1)工作时数超过120h者,超过部分加发15%。
(2)工作时数低于60h者,扣发700元。
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。程序:gonghao=input('输入工号');
hour=input('输入工时');
every=84;
if hour>120
gongzi=every*120+1.15* every *(hour-120);
elseif hour<60
gongzi=every*hour-700;
else
gongzi=devery*hour;
end
format bank;
display([gonghao,gongzi])
(1)结果:输入工号12
输入工时130
ans =
12.00 11046.00
(2)结果:输入工号12
输入工时56
ans =
12.00 4004.00
(3)结果:输入工号12
输入工时80
ans =
12.00 6720.00
3、 根据n 2222211116321++++= π,求π的近似值。当n 分别取100、
1000、10000时,结果是多少?
要求:分别用循环结构和向量运算(使用sun 函数)来实现。
(1)程序:(循环结构):
n=input('input n:');
s=0;
for i=1:n
s=s+1/i^2;
pai= sqrt(s*6);
end