13 KiB
# Отчёт TEMA 1
##1 Запуск среды GNU Octave
##2 Установка пути к файлу TEMA1
##3 Отмечены галочками предложения показывать командное окно, журнал выполненных команд, диспетчер файлов, область переменных и редактор
##4 Отображаем файлы размещенные в текущей папке
##5 Иучение работы с системой помощи
'''matlab
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") '''
##6 Изучение команд для создание матриц и векторов
матрицы A со случайными, нормально распределенными элементами, с 4 строками и 6 столбцами '''matlab
A = randn(4,6) A =
-0.6819 -1.1336 -0.7915 1.0279 -0.9934 1.4233 0.7310 -1.2365 1.1002 -0.3373 -1.7403 0.3766 -1.1969 0.6434 0.9887 -0.7704 -0.4197 0.6368 -2.0208 -0.3353 -1.3185 -1.8202 0.3460 -0.5353 '''
матрица В 4х7 со случайными элементами, равномерно распределенными в диапазоне от 0 до 1 '''matlab
B = rand(4,7) B =
0.975573 0.353650 0.804231 0.914004 0.155252 0.087847 0.461159 0.772747 0.056309 0.473087 0.877076 0.883961 0.577245 0.527567 0.701602 0.346770 0.493828 0.864566 0.785093 0.490313 0.583912 0.907601 0.712258 0.858624 0.288371 0.666442 0.163280 0.616225 '''
вектор С с целыми числами от 4 до 27 '''matlab
C = 4:27 C =
Columns 1 through 17:
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Columns 18 through 24:
21 22 23 24 25 26 27 '''
символьный вектор Н '''matlab
H="This is a symbols vector" H = This is a symbols vector '''
вектор-строка L с 2 комплексными элементами '''matlab
L = [-2+23.1j,3-5.6j] L =
-2.0000 + 23.1000i 3.0000 - 5.6000i '''
##7 Выполнение операций с матрицей
преобразование матрицы С в матрицу с 6 столбцами '''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
'''
матричное перемножение В и А с транспонированием матрицы В (число столбцов в В должно совпадать с числом строк в А) '''matlab
E=B'*A E =
-2.774124 -1.914420 -0.424962 -1.450396 -2.294374 1.640477 -2.054371 -0.486278 -0.814192 -1.219101 -0.348429 0.364112 -2.528708 -1.466901 -0.759879 -1.276227 -1.532420 1.177666 -1.599549 -1.661118 0.716114 -0.547294 -2.697396 2.027386 -1.746066 -0.987394 0.747188 -1.956496 -1.791486 0.697066 -0.554705 -0.552649 0.835045 -0.779357 -1.241118 0.567247 -1.872923 -1.006096 -0.019735 -1.275439 -1.408092 0.897015 '''
создание матрицы путем «горизонтального» соединения матриц А и В (числа строк у соединяемых матриц должны совпадать) '''matlab
F=[A,B] F =
Columns 1 through 7:
-0.681852 -1.133648 -0.791501 1.027921 -0.993394 1.423287 0.975573 0.731041 -1.236531 1.100165 -0.337275 -1.740265 0.376573 0.772747 -1.196851 0.643418 0.988739 -0.770449 -0.419690 0.636825 0.701602 -2.020849 -0.335347 -1.318471 -1.820219 0.345960 -0.535297 0.907601
Columns 8 through 13:
0.353650 0.804231 0.914004 0.155252 0.087847 0.461159 0.056309 0.473087 0.877076 0.883961 0.577245 0.527567 0.346770 0.493828 0.864566 0.785093 0.490313 0.583912 0.712258 0.858624 0.288371 0.666442 0.163280 0.616225 '''
поэлементное перемножение матриц A и D (размеры матриц должны совпадать) '''matlab
G=A.*D G =
-2.7274 -9.0692 -9.4980 16.4467 -19.8679 34.1589 3.6552 -11.1288 14.3021 -5.7337 -36.5456 9.4143 -7.1811 6.4342 13.8423 -13.8681 -9.2332 16.5574 -14.1459 -3.6888 -19.7771 -34.5842 7.9571 -14.4530 '''
поэлементное деление элементов матрицы G на 4.5 '''matlab
M=G./4.5 M =
-0.6061 -2.0154 -2.1107 3.6548 -4.4151 7.5909 0.8123 -2.4731 3.1783 -1.2741 -8.1212 2.0921 -1.5958 1.4298 3.0761 -3.0818 -2.0518 3.6794 -3.1435 -0.8197 -4.3949 -7.6854 1.7682 -3.2118 '''
поэлементное возведение в степень элементов матрицы D '''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 '''
превращение матрицы в вектор-столбец '''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.9877 0.5947 0.8968 0.9560 0.3940 0.2964 0.6791 0.8791 0.2373 0.6878 0.9365 0.9402 0.7598 0.7263 0.8376 0.5889 0.7027 0.9298 0.8861 0.7002 0.7641 0.9527 0.8440 0.9266 0.5370 0.8164 0.4041 0.7850 '''
Поэлементное взятие логорифма
'''matlab
B2=log(B) B2 =
-0.024730 -1.039447 -0.217869 -0.089920 -1.862704 -2.432155 -0.774012 -0.257804 -2.876903 -0.748476 -0.131162 -0.123342 -0.549488 -0.639478 -0.354390 -1.059094 -0.705568 -0.145527 -0.241953 -0.712712 -0.538006 -0.096951 -0.339315 -0.152425 -1.243507 -0.405802 -1.812289 -0.484143 '''
Поэлементное взятие синуса
'''matlab
B3=sin(B) B3 =
0.828023 0.346324 0.720298 0.791955 0.154629 0.087734 0.444986 0.698105 0.056279 0.455636 0.768872 0.773257 0.545718 0.503433 0.645442 0.339862 0.474000 0.760814 0.706891 0.470902 0.551292 0.788029 0.653544 0.756944 0.284391 0.618193 0.162555 0.577959 '''
Операции с матрицами Количество столбцов матрицы
'''matlab
k=length(B1) k = 7 '''
Количество строк и столбцов матрицы
'''matlab
nm=size(B1) nm =
4 7 '''
Количество элементов матрицы
'''matlab
elem=numel(B1) elem = 28 '''
Генерация вектора из 20 линейно расположенных точек между указанными значениями
'''matlab
NN=linspace(11.5,34.1,20) NN =
Columns 1 through 9:
11.500 12.689 13.879 15.068 16.258 17.447 18.637 19.826 21.016
Columns 10 through 18:
22.205 23.395 24.584 25.774 26.963 28.153 29.342 30.532 31.721
Columns 19 and 20:
32.911 34.100 '''
Генерация матрицы из единиц
'''matlab
FF=ones(2,4) FF =
1 1 1 1 1 1 1 1 '''
Генерация квадратной матрицы из нулей
'''matlab
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 '''
Формирование столбца из значений диагонали матрицы
'''matlab
B1D=diag(B1) B1D =
0.9877 0.2373 0.7027 0.5370 '''
Формирование матрицы с указанной в векторе диагональю
'''matlab
DB=diag(B1D) DB =
Diagonal Matrix
0.9877 0 0 0 0 0.2373 0 0 0 0 0.7027 0 0 0 0 0.5370 '''
Сортировка матрицы по столбцам
'''matlab
BS1=sort(B) BS1 =
0.701602 0.056309 0.473087 0.288371 0.155252 0.087847 0.461159 0.772747 0.346770 0.493828 0.864566 0.666442 0.163280 0.527567 0.907601 0.353650 0.804231 0.877076 0.785093 0.490313 0.583912 0.975573 0.712258 0.858624 0.914004 0.883961 0.577245 0.616225 '''
Сортировка матрицы по строкам
'''matlab
BS2=sortrows(B,2) BS2 =
0.772747 0.056309 0.473087 0.877076 0.883961 0.577245 0.527567 0.701602 0.346770 0.493828 0.864566 0.785093 0.490313 0.583912 0.975573 0.353650 0.804231 0.914004 0.155252 0.087847 0.461159 0.907601 0.712258 0.858624 0.288371 0.666442 0.163280 0.616225 '''
Суммирование матрицы по столбцам
'''matlab
DS1=sum(D) DS1 =
22 38 54 70 86 102
'''
Суммирование матрицы по строкам. Такие вводные функции означают, что матрица суммируется по второй размерности
'''matlab
DS2=sum(D,2) DS2 =
84
90
96
102 '''
Произведение элементов по столбцам
'''matlab
DP1=prod(D) DP1 =
840 7920 32760 93024 212520 421200
'''
Определитель произведения матрицы и транспонированной матрицы
'''matlab
dt=det(A*A') dt = 1102.5 '''
Обратная матрица произведения матрицы и транспонированной матрицы
'''matlab
dinv=inv(A*A') dinv =
0.174119 -0.062242 0.025931 -0.019148 -0.062242 0.206206 -0.067384 0.069277 0.025931 -0.067384 0.295603 -0.073988 -0.019148 0.069277 -0.073988 0.136546 '''
##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 цикл по перечислению '''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') '''
функция построеия графиков '''matlab
plot(D(1,:),B([2,4],1:6)) '''
функция построеия гистограммы '''matlab
hist(A(:),6) '''
Функция построения диаграммы '''matlab
pie(C) '''
функция построения гистограммы '''matlab
bar(B) '''
##12 Изучение роботы с текстовым редактором среды
Создаем сценарий с выполнением команд пункта 9
Результат выполнения сценария
##13 Сохранение области переменных в файл
Сохраняем область переменных матриц A и B










