close

Вход

Забыли?

вход по аккаунту

?

Лаб2

код для вставкиСкачать
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Мордовский государственный университет им. Н.П.Огарёва"
Направление образовательной программы: информатика и вычислительная техника
Профиль подготовки: автоматизированные системы обработки информации и управления
ЛАБОРАТОРНАЯ РАБОТА
по математическому моделированию
ЧИСЛОВЫЕ И СИМВОЛЬНЫЕ МАССИВЫ СИСТЕМЫ MATLAB
лабораторная работа № 2
ВЫПОЛНИЛ: ПРОВЕРИЛ:
студент 141 группы (подпись) 14.10.2013 (подпись) 14.10.2013 Афонин В. В. Ивашечкин А. О.
САРАНСК 2013
Задание 1
1. Создайте прямоугольную матрицу с помощью функции rand при обращении к двум элементам вектора, который создан функцией randperm. >> n = randperm(10)
n =
6 3 7 8 5 1 2 4 9 10
>> M = rand(n(2),n(8))
M =
0.1576 0.4854 0.4218 0.9595
0.9706 0.8003 0.9157 0.6557
0.9572 0.1419 0.7922 0.0357
2. Создайте трехмерный массив, состоящий из нулевых элементов, а затем одну из строк замените на случайные числа с помощью функции randn. >> M = zeros(4,3,3)
M(:,:,1) =
0 0 0
0 0 0
0 0 0
0 0 0
M(:,:,2) =
0 0 0
0 0 0
0 0 0
0 0 0
M(:,:,3) =
0 0 0
0 0 0
0 0 0
0 0 0
>> M(3,:,2) = randn(3,1)
M(:,:,1) =
0 0 0
0 0 0
0 0 0
0 0 0
M(:,:,2) =
0 0 0
0 0 0
0.7172 1.6302 0.4889
0 0 0
M(:,:,3) =
0 0 0
0 0 0
0 0 0
0 0 0
3. Создайте прямоугольную матрицу nхm, где n > 1, m > 1, с помощью функции randi и попытайтесь удалить из нее какой-либо элемент.
>> M = randi(6,5)
M =
3 5 6 6 3
6 2 4 2 2
3 4 1 5 2
4 5 1 2 4
2 6 2 6 3
>> M(2,3) = []
Subscripted assignment dimension mismatch. Задание 2
1. Создайте трехмерный массив случайных чисел с помощью функции randn. Одну из частей созданного массива обнулите. >> M = randn(5,4,3)
M(:,:,1) =
-0.1961 -0.8045 -1.1658 -0.6669
1.4193 0.6966 -1.1480 0.1873
0.2916 0.8351 0.1049 -0.0825
0.1978 -0.2437 0.7223 -1.9330
1.5877 0.2157 2.5855 -0.4390
M(:,:,2) =
-1.7947 0.3035 -0.1941 0.9610
0.8404 -0.6003 -2.1384 0.1240
-0.8880 0.4900 -0.8396 1.4367
0.1001 0.7394 1.3546 -1.9609
-0.5445 1.7119 -1.0722 -0.1977
M(:,:,3) =
-1.2078 -0.4686 -2.0518 0.2820
2.9080 -0.2725 -0.3538 0.0335
0.8252 1.0984 -0.8236 -1.3337
1.3790 -0.2779 -1.5771 1.1275
-1.0582 0.7015 0.5080 0.3502
>> M(:,:,1) = 0
M(:,:,1) =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
M(:,:,2) =
-1.7947 0.3035 -0.1941 0.9610
0.8404 -0.6003 -2.1384 0.1240
-0.8880 0.4900 -0.8396 1.4367
0.1001 0.7394 1.3546 -1.9609
-0.5445 1.7119 -1.0722 -0.1977
M(:,:,3) =
-1.2078 -0.4686 -2.0518 0.2820
2.9080 -0.2725 -0.3538 0.0335
0.8252 1.0984 -0.8236 -1.3337
1.3790 -0.2779 -1.5771 1.1275
-1.0582 0.7015 0.5080 0.3502
2. Создайте трехмерный массив, состоящий из чисел, соответствующих номеру компьютера, на котором выполняется лабораторная работа (1, 2, 3, ...). После этого выполните действия, соответствующие умноже-нию каждого элемента массива на число 2Х, где Х - номер компьютера, на котором выполняется лабораторная работа. >> M = 7*ones(5,5,3)
M(:,:,1) =
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
M(:,:,2) =
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
M(:,:,3) =
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
7 7 7 7 7
>> M14 = M.*14
M14(:,:,1) =
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
M14(:,:,2) =
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
M14(:,:,3) =
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
98 98 98 98 98
Задание 3
1. Просуммируйте все строки магического квадрата. >> Q5 = magic(5)
Q5 =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> sum(Q5(1,:))
ans =
65
>> sum(Q5(2,:))
ans =
65
>> sum(Q5(3,:))
ans =
65
>> sum(Q5(4,:))
ans =
65
>> sum(Q5(5,:))
ans =
65
2. Выполните конкатенацию четырех магических квадратов, чтобы размерность полученного массива была 7x7x4. >> Q7_1 = magic(7); Q7_2 = magic(7); Q7_3 = magic(7); Q7_4 = magic(7);
>> C = cat(3, Q7_1, Q7_2, Q7_3, Q7_4)
C(:,:,1) =
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
C(:,:,2) =
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
C(:,:,3) =
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
C(:,:,4) =
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
>> size(C)
ans =
7 7 4
3. Выделите главные диагонали из матриц In и In2 и найдите сумму их элементов. >> Q5 = magic(5); In = inv(Q5)*Q5; In2 = Q5*inv(Q5);
>> D1 = diag(In)
D1 =
1.0000
1.0000
1.0000
1.0000
1.0000
>> D2 = diag(In2)
D2 =
1.0000
1.0000
1.0000
1.0000
1.0000
>> sum(D1)
ans =
5
>> sum(D2)
ans =
5
Задание 4
1. В массиве строк sVL переместите на правый край только символ #. >> sV = strvcat('ветка', '#', 'matlab', 'simulink'); sVL = strjust(sV,'Left');
>> sVLr = strvcat(sVL(1,:), strjust(sVL(2,:), 'Right'), sVL(3,:), sVL(4,:))
sVLr =
ветка #
matlab Simulink
2. Создайте массив строк с помощью strvcat или char, в который по-местите свою фамилию, имя и текущий год. Затем выполните выравни-вание по разным краям (влево и вправо) и в центр с помощью функции strjust. >> S = char('Ивашечкин', 'Александр', '2013')
S =
Ивашечкин
Александр
2013 >> strjust(S, 'right')
ans =
Ивашечкин
Александр
2013
>> strjust(S, 'left')
ans =
Ивашечкин
Александр
2013 >> strjust(S, 'center')
ans =
Ивашечкин
Александр
2013
Задание 5
1. Проверьте возможность преобразования строки с числами и символами ".", ",", "-", ";", например, ',1, 1.23, .678'. >> A = [',7, 8,97, .251']
A =
,7, 8,97, .251
>> As = num2str(A)
As =
,7, 8,97, .251
>> whos As
Name Size Bytes Class Attributes
As 1x14 28 char
Задание 6
1. Выполните преобразования шестнадцатеричных чисел в десятичные и обратно. >> hd = hex2dec('24C9')
hd =
9417
>> dh = dec2hex(9417)
dh =
24C9
2. Выполните преобразование целых неотрицательных десятичных чисел в восьмеричные числа. >> do = dec2base(7341, 8)
do =
16255
3. Выполните преобразование шестнадцатеричных чисел в двоичные числа и обратно. >> hb = dec2bin(hex2dec('7D6B'))
hb =
111110101101011
>> bh = dec2hex(bin2dec('111110101101011'))
bh =
7D6B
4. Выполните преобразование восьмеричных чисел в двоичные числа и обратно. >> ob = dec2bin(base2dec('516', 8))
ob =
101001110
>> bo = dec2base(bin2dec('101001110'), 8)
bo =
516
Документ
Категория
Рефераты
Просмотров
117
Размер файла
24 Кб
Теги
лаб2
1/--страниц
Пожаловаться на содержимое документа