12 KiB
Отчет по теме 1.
Зенина Варвара А-03-24
##1 Запуск на выполнение среды GNU Octave
##2 Установка пути к папке ТЕМА1
##3 Отметка галочками нужных параметров
##4 Отображение списка файлов
##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 Создание матриц с помощью команд
matlab
>>> A=randn(4,6)
A =
-0.699730 -0.976977 -0.271006 -2.518044 -0.422044 1.454752
0.043711 -0.973201 -0.576803 0.774990 -0.159686 0.368326
1.232508 1.769434 -0.843969 0.429818 0.669032 1.573897
1.308529 -0.563002 -0.595588 0.479220 0.031290 -1.169116
- матрица А со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами
matlab
>>> B=rand(4,7)
B =
0.911234 0.328625 0.303009 0.174785 0.553852 0.458439 0.822197
0.254895 0.233823 0.939794 0.225898 0.974590 0.446039 0.040543
0.890675 0.471907 0.287485 0.777967 0.523829 0.240374 0.826572
0.775910 0.599860 0.923872 0.051989 0.801522 0.562365 0.100517
- матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1
matlab
>>> C = 4:27
C =
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
- вектор С с целыми числами от 4 до 27
matlab
>>> H='This is a symbols vector'
H = This is a symbols vector
- символьный вектор Н
matlab
>>> L=[-2+23.1j, 3-5.6j]
L =
-2.0000 + 23.1000i 3.0000 - 5.6000i
- вектор-строка L с 2 комплексными элементами
##7 Выполнение операций с матрицами
matlab
>>> 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
- преобразование матрицы С в матрицу с 6 столбцами
matlab
>>> E=B'*A
E =
1.4866e+00 8.3372e-04 -1.6078e+00 -1.3423e+00 1.9488e-01 1.9142e+00
1.1468e+00 -5.1330e-02 -9.7947e-01 -1.5598e-01 1.5846e-01 6.0562e-01
1.3923e+00 -1.2221e+00 -1.4171e+00 5.3164e-01 -5.6711e-02 1.5931e-01
9.1445e-01 9.5669e-01 -8.6521e-01 9.4250e-02 4.1227e-01 1.5011e+00
1.3495e+00 -1.0139e+00 -1.6317e+00 -3.0069e-02 -1.3841e-02 1.0521e+00
7.3085e-01 -7.7326e-01 -9.1932e-01 -4.3588e-01 -8.6294e-02 5.5206e-01
5.7674e-01 5.6325e-01 -1.0037e+00 -1.6355e+00 2.0267e-01 2.3944e+00
- матричное перемножение В и А с транспонированием матрицы В
matlab
>>> F=[A,B]
F =
Columns 1 through 12:
-0.699730 -0.976977 -0.271006 -2.518044 -0.422044 1.454752 0.911234 0.328625 0.303009 0.174785 0.553852 0.458439
0.043711 -0.973201 -0.576803 0.774990 -0.159686 0.368326 0.254895 0.233823 0.939794 0.225898 0.974590 0.446039
1.232508 1.769434 -0.843969 0.429818 0.669032 1.573897 0.890675 0.471907 0.287485 0.777967 0.523829 0.240374
1.308529 -0.563002 -0.595588 0.479220 0.031290 -1.169116 0.775910 0.599860 0.923872 0.051989 0.801522 0.562365
Column 13:
0.822197
0.040543
0.826572
0.100517
- создание матрицы путем «горизонтального» соединения матриц А и В
matlab
>>> G=A.*D
G =
-2.7989 -7.8158 -3.2521 -40.2887 -8.4409 34.9141
0.2186 -8.7588 -7.4984 13.1748 -3.3534 9.2082
7.3950 17.6943 -11.8156 7.7367 14.7187 40.9213
9.1597 -6.1930 -8.9338 9.1052 0.7197 -31.5661
- поэлементное перемножение матриц A и D
matlab
>>> M=G./4.5
M =
-0.621982 -1.736847 -0.722682 -8.953047 -1.875753 7.758679
0.048568 -1.946401 -1.666318 2.927739 -0.745202 2.046257
1.643344 3.932076 -2.625683 1.719271 3.270822 9.093625
2.035489 -1.376227 -1.985293 2.023373 0.159925 -7.014693
- поэлементное деление элементов матрицы G на 4.5
matlab
>>> 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
matlab
>>> 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
- создание логической матрицы, совпадающей по размерам с D и с элементами по заданному условию
matlab
>>> 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 Изучение некоторых стандартных функций
математические функции:
matlab
>>> B1=sqrt(B)
B1 =
0.9546 0.5733 0.5505 0.4181 0.7442 0.6771 0.9068
0.5049 0.4836 0.9694 0.4753 0.9872 0.6679 0.2014
0.9438 0.6870 0.5362 0.8820 0.7238 0.4903 0.9092
0.8809 0.7745 0.9612 0.2280 0.8953 0.7499 0.3170
>>> B2=log(B)
B2 =
-0.092956 -1.112839 -1.193992 -1.744199 -0.590858 -0.779927 -0.195776
-1.366903 -1.453189 -0.062095 -1.487673 -0.025738 -0.807350 -3.205395
-0.115776 -0.750974 -1.246585 -0.251072 -0.646589 -1.425560 -0.190468
-0.253719 -0.511059 -0.079181 -2.956728 -0.221243 -0.575604 -2.297433
>>> B3=sin(B)
B3 =
0.790260 0.322742 0.298394 0.173896 0.525967 0.442549 0.732643
0.252144 0.231699 0.807436 0.223981 0.827472 0.431395 0.040532
0.777496 0.454586 0.283541 0.701832 0.500200 0.238066 0.735613
0.700366 0.564527 0.797942 0.051965 0.718416 0.533188 0.100347
Операции с матрицами:
matlab
>>> 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 15:
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 26.963 28.153
Columns 16 through 20:
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.9546
0.4836
0.5362
0.2280
>>> DB=diag(B1D)
DB =
Diagonal Matrix
0.9546 0 0 0
0 0.4836 0 0
0 0 0.5362 0
0 0 0 0.2280
>>> BS1=sort(B)
BS1 =
0.254895 0.233823 0.287485 0.051989 0.523829 0.240374 0.040543
0.775910 0.328625 0.303009 0.174785 0.553852 0.446039 0.100517
0.890675 0.471907 0.923872 0.225898 0.801522 0.458439 0.822197
0.911234 0.599860 0.939794 0.777967 0.974590 0.562365 0.826572
>>> BS2=sortrows(B,2)
BS2 =
0.254895 0.233823 0.939794 0.225898 0.974590 0.446039 0.040543
0.911234 0.328625 0.303009 0.174785 0.553852 0.458439 0.822197
0.890675 0.471907 0.287485 0.777967 0.523829 0.240374 0.826572
0.775910 0.599860 0.923872 0.051989 0.801522 0.562365 0.100517
>>> 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 = 445.23
>>> dinv=inv(A*A')
dinv =
0.138283 -0.027436 0.029141 0.118243
-0.027436 0.549321 0.011396 -0.142145
0.029141 0.011396 0.125583 0.035920
0.118243 -0.142145 0.035920 0.380003
##9 Изучение работы с индексацией элементов матриц
matlab
>>> 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 Изучение некоторые управляющие конструкции для использования в программах на m-языке.
Цикл по перечислению
matlab
>>> 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
Цикл пока выполняется условие
matlab
>>> 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
matlab
>>> if (D(3,5)>=20)
printf('D(3,5)>=20')
else
printf('D(3,5)<20')
endif
>>> D(3,5)>=20
##11 Использование графических функций
Функция построения графиков
matlab
>>> graphics_toolkit('gnuplot')
plot(D(1,:),B([2,4],1:6))
Применение функции расчета и построения гистограммы
matlab
>>> hist(A(:),6)
Изучение других функций
matlab
>>> pie(C)
bar(C)
##12 Изучение работы с текстовым форматом среды
Содержание файла Prog1.m.
matlab
>>> C = 4:27
D=reshape(C,[],6)
D1=D(3,5)
D2=D(3,4:end)
D3=D(2:3,3:5)
D4=D(16:20)
D5=D(3:4,[1,3,6])
##13 Сохранение области переменных









