ответвлено от main/it-labs
363 строки
8.4 KiB
Markdown
363 строки
8.4 KiB
Markdown
##пункт 5
|
|
help randn
|
|
'randn' is a built-in function from the file libinterp/corefcn/rand.cc
|
|
|
|
-- X = randn (N)
|
|
-- X = randn (M, N, ...)
|
|
-- X = randn ([M N ...])
|
|
-- X = randn (..., "single")
|
|
-- X = randn (..., "double")
|
|
-- V = randn ("state")
|
|
-- randn ("state", V)
|
|
-- randn ("state", "reset")
|
|
-- V = randn ("seed")
|
|
-- randn ("seed", V)
|
|
-- randn ("seed", "reset")
|
|
Return a matrix with normally distributed random elements having
|
|
zero mean and variance one.
|
|
|
|
The arguments are handled the same as the arguments for 'rand'.
|
|
|
|
|
|
##пункт 6
|
|
|
|
>> A=randn(4,6)
|
|
A =
|
|
|
|
-1.566040 1.022528 -1.082336 1.060574 -1.166946 -0.040025
|
|
0.729186 -0.929840 -1.381007 1.147912 0.360731 -1.612832
|
|
-0.481197 -0.439834 1.347738 -0.398764 -0.024576 0.636071
|
|
-0.607566 0.069257 0.057204 -1.166324 -1.470205 -1.034399
|
|
|
|
>> B=rand(4,7)
|
|
B =
|
|
|
|
0.344256 0.014810 0.424571 0.078178 0.264139 0.781169 0.804127
|
|
0.992425 0.465993 0.834274 0.087590 0.053326 0.580783 0.025481
|
|
0.196239 0.896082 0.504587 0.599906 0.332032 0.145209 0.696585
|
|
0.581111 0.135927 0.371084 0.824356 0.089142 0.096275 0.830373
|
|
>> C = 4:27
|
|
C =
|
|
|
|
Columns 1 through 23:
|
|
|
|
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
|
|
|
Column 24:
|
|
|
|
27
|
|
|
|
>> H='This is a symbols vector'
|
|
H = This is a symbols vector
|
|
>> L=[-2+23.1j, 3-5.6j]
|
|
L =
|
|
|
|
-2.0000 + 23.1000i 3.0000 - 5.6000i
|
|
|
|
##пункт 7
|
|
преобразование матрицы С в матрицу с 6 столбцами
|
|
D=reshape(C,[],6)
|
|
D =
|
|
|
|
4 8 12 16 20 24
|
|
5 9 13 17 21 25
|
|
6 10 14 18 22 26
|
|
7 11 15 19 23 27
|
|
матричное перемножение В и А с транспонированием матрицы В
|
|
E=B'*A
|
|
E =
|
|
|
|
-0.262949 -0.616852 -1.445425 0.748308 -0.902905 -2.090672
|
|
-0.197173 -0.802869 0.555891 0.034765 -0.071047 -0.322792
|
|
-0.524818 -0.537841 -0.910387 0.773946 -0.752473 -1.425434
|
|
-0.848085 -0.208271 0.650095 -1.017228 -1.286349 -0.615527
|
|
-0.588700 0.080639 0.093061 0.104981 -0.428217 0.022409
|
|
-0.928210 0.201532 -1.446341 1.324983 -0.847188 -0.975195
|
|
-2.080416 0.549677 0.080791 -0.364171 -2.167119 -0.489140
|
|
создание матрицы путем «горизонтального» соединения матриц А и В
|
|
F=[A,B]
|
|
F =
|
|
|
|
Columns 1 through 10:
|
|
|
|
-1.566040 1.022528 -1.082336 1.060574 -1.166946 -0.040025 0.344256 0.014810 0.424571 0.078178
|
|
0.729186 -0.929840 -1.381007 1.147912 0.360731 -1.612832 0.992425 0.465993 0.834274 0.087590
|
|
-0.481197 -0.439834 1.347738 -0.398764 -0.024576 0.636071 0.196239 0.896082 0.504587 0.599906
|
|
-0.607566 0.069257 0.057204 -1.166324 -1.470205 -1.034399 0.581111 0.135927 0.371084 0.824356
|
|
|
|
Columns 11 through 13:
|
|
|
|
0.264139 0.781169 0.804127
|
|
0.053326 0.580783 0.025481
|
|
0.332032 0.145209 0.696585
|
|
0.089142 0.096275 0.830373
|
|
поэлементное перемножение матриц A и D
|
|
G=A.*D
|
|
G =
|
|
|
|
-6.2642 8.1802 -12.9880 16.9692 -23.3389 -0.9606
|
|
3.6459 -8.3686 -17.9531 19.5145 7.5754 -40.3208
|
|
-2.8872 -4.3983 18.8683 -7.1778 -0.5407 16.5379
|
|
-4.2530 0.7618 0.8581 -22.1602 -33.8147 -27.9288
|
|
поэлементное деление элементов матрицы G на 4.5
|
|
M = G./4.5
|
|
M =
|
|
|
|
-1.3920 1.8178 -2.8862 3.7709 -5.1864 -0.2135
|
|
0.8102 -1.8597 -3.9896 4.3366 1.6834 -8.9602
|
|
-0.6416 -0.9774 4.1930 -1.5951 -0.1202 3.6751
|
|
-0.9451 0.1693 0.1907 -4.9245 -7.5144 -6.2064
|
|
поэлементное возведение в степень элементов матрицы D
|
|
DDD=D.^3
|
|
DDD =
|
|
|
|
64 512 1728 4096 8000 13824
|
|
125 729 2197 4913 9261 15625
|
|
216 1000 2744 5832 10648 17576
|
|
343 1331 3375 6859 12167 19683
|
|
создание логической матрицы, совпадающей по размерам с D и с элементами по заданному условию
|
|
DL=D>=20
|
|
DL =
|
|
|
|
0 0 0 0 1 1
|
|
0 0 0 0 1 1
|
|
0 0 0 0 1 1
|
|
0 0 0 0 1 1
|
|
превращение матрицы в вектор-столбец
|
|
Dstolb=D(:)
|
|
Dstolb =
|
|
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15
|
|
16
|
|
17
|
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
|
|
##пунк 8
|
|
математические функции:
|
|
B1=sqrt(B)
|
|
B1 =
|
|
|
|
0.5867 0.1217 0.6516 0.2796 0.5139 0.8838 0.8967
|
|
0.9962 0.6826 0.9134 0.2960 0.2309 0.7621 0.1596
|
|
0.4430 0.9466 0.7103 0.7745 0.5762 0.3811 0.8346
|
|
0.7623 0.3687 0.6092 0.9079 0.2986 0.3103 0.9112
|
|
|
|
>> B2=log(B)
|
|
B2 =
|
|
|
|
-1.0664e+00 -4.2125e+00 -8.5668e-01 -2.5488e+00 -1.3313e+00 -2.4696e-01 -2.1800e-01
|
|
-7.6041e-03 -7.6358e-01 -1.8119e-01 -2.4351e+00 -2.9313e+00 -5.4338e-01 -3.6698e+00
|
|
-1.6284e+00 -1.0972e-01 -6.8401e-01 -5.1098e-01 -1.1025e+00 -1.9296e+00 -3.6156e-01
|
|
-5.4281e-01 -1.9956e+00 -9.9133e-01 -1.9315e-01 -2.4175e+00 -2.3405e+00 -1.8588e-01
|
|
|
|
>> B3=sin(B)
|
|
B3 =
|
|
|
|
0.337496 0.014809 0.411930 0.078099 0.261078 0.704110 0.720225
|
|
0.837354 0.449310 0.740809 0.087478 0.053301 0.548679 0.025478
|
|
0.194982 0.780886 0.483446 0.564565 0.325965 0.144699 0.641602
|
|
0.548953 0.135509 0.362626 0.734111 0.089024 0.096126 0.738183
|
|
операции с матрицами
|
|
k=length(B1)
|
|
k = 7
|
|
>> nm=size(B1)
|
|
nm =
|
|
|
|
4 7
|
|
|
|
>> elem=numel(B1)
|
|
elem = 28
|
|
>> NN=linspace(11.5,34.1,20)
|
|
NN =
|
|
|
|
Columns 1 through 13:
|
|
|
|
11.500 12.689 13.879 15.068 16.258 17.447 18.637 19.826 21.016 22.205 23.395 24.584 25.774
|
|
|
|
Columns 14 through 20:
|
|
|
|
26.963 28.153 29.342 30.532 31.721 32.911 34.100
|
|
|
|
>> FF=ones(2,4)
|
|
FF =
|
|
|
|
1 1 1 1
|
|
1 1 1 1
|
|
GG=zeros(5)
|
|
GG =
|
|
|
|
0 0 0 0 0
|
|
0 0 0 0 0
|
|
0 0 0 0 0
|
|
0 0 0 0 0
|
|
0 0 0 0 0
|
|
|
|
>> B1D=diag(B1)
|
|
B1D =
|
|
|
|
0.5867
|
|
0.6826
|
|
0.7103
|
|
0.9079
|
|
|
|
>> DB=diag(B1D)
|
|
DB =
|
|
|
|
Diagonal Matrix
|
|
|
|
0.5867 0 0 0
|
|
0 0.6826 0 0
|
|
0 0 0.7103 0
|
|
0 0 0 0.9079
|
|
|
|
>> BS1=sort(B)
|
|
BS1 =
|
|
|
|
0.196239 0.014810 0.371084 0.078178 0.053326 0.096275 0.025481
|
|
0.344256 0.135927 0.424571 0.087590 0.089142 0.145209 0.696585
|
|
0.581111 0.465993 0.504587 0.599906 0.264139 0.580783 0.804127
|
|
0.992425 0.896082 0.834274 0.824356 0.332032 0.781169 0.830373
|
|
|
|
>> BS2=sortrows(B,2)
|
|
BS2 =
|
|
|
|
0.344256 0.014810 0.424571 0.078178 0.264139 0.781169 0.804127
|
|
0.581111 0.135927 0.371084 0.824356 0.089142 0.096275 0.830373
|
|
0.992425 0.465993 0.834274 0.087590 0.053326 0.580783 0.025481
|
|
0.196239 0.896082 0.504587 0.599906 0.332032 0.145209 0.696585
|
|
|
|
>> DS1=sum(D)
|
|
DS1 =
|
|
|
|
22 38 54 70 86 102
|
|
DS2=sum(D,2)
|
|
DS2 =
|
|
|
|
84
|
|
90
|
|
96
|
|
102
|
|
|
|
>> DP1=prod(D)
|
|
DP1 =
|
|
|
|
840 7920 32760 93024 212520 421200
|
|
|
|
>> dt=det(A*A')
|
|
dt = 246.59
|
|
>> dinv=inv(A*A')
|
|
dinv =
|
|
|
|
0.192611 0.079161 0.204485 -0.052344
|
|
0.079161 0.325357 0.425809 0.012347
|
|
0.204485 0.425809 0.973266 -0.029157
|
|
-0.052344 0.012347 -0.029157 0.219869
|
|
|
|
##пункт 9
|
|
D1=D(3,5)
|
|
D1 = 22
|
|
>> D2=D(3,4:end)
|
|
D2 =
|
|
|
|
18 22 26
|
|
|
|
>> D3=D(2:3,3:5)
|
|
D3 =
|
|
|
|
13 17 21
|
|
14 18 22
|
|
|
|
>> D4=D(16:20)
|
|
D4 =
|
|
|
|
19 20 21 22 23
|
|
|
|
>> D5=D(3:4,[1,3,6])
|
|
D5 =
|
|
|
|
6 14 26
|
|
7 15 27
|
|
##пункт 10
|
|
цикл по перечислению
|
|
Dsum=0
|
|
Dsum = 0
|
|
>> for i=1:6
|
|
Dsum=Dsum+sqrt(D(2,i))
|
|
endfor
|
|
Dsum = 2.2361
|
|
Dsum = 5.2361
|
|
Dsum = 8.8416
|
|
Dsum = 12.965
|
|
Dsum = 17.547
|
|
Dsum = 22.547
|
|
цикл пока выполняется условие
|
|
Dsum2=0;i=1
|
|
i = 1
|
|
>> while (D(i)<22)
|
|
Dsum2=Dsum2+sin(D(i))
|
|
i=i+1
|
|
endwhile
|
|
Dsum2 = -0.7568
|
|
i = 2
|
|
Dsum2 = -1.7157
|
|
i = 3
|
|
Dsum2 = -1.9951
|
|
i = 4
|
|
Dsum2 = -1.3382
|
|
i = 5
|
|
Dsum2 = -0.3488
|
|
i = 6
|
|
Dsum2 = 0.063321
|
|
i = 7
|
|
Dsum2 = -0.4807
|
|
i = 8
|
|
Dsum2 = -1.4807
|
|
i = 9
|
|
Dsum2 = -2.0173
|
|
i = 10
|
|
Dsum2 = -1.5971
|
|
i = 11
|
|
Dsum2 = -0.6065
|
|
i = 12
|
|
Dsum2 = 0.043799
|
|
i = 13
|
|
Dsum2 = -0.2441
|
|
i = 14
|
|
Dsum2 = -1.2055
|
|
i = 15
|
|
Dsum2 = -1.9565
|
|
i = 16
|
|
Dsum2 = -1.8066
|
|
i = 17
|
|
Dsum2 = -0.8937
|
|
i = 18
|
|
Dsum2 = -0.057011
|
|
i = 19
|
|
условие if
|
|
if (D(3,5)>=20)
|
|
printf('D(3,5)>=20')
|
|
else
|
|
printf('D(3,5)<20')
|
|
endif
|
|
D(3,5)>=20
|