Учебно-методическое пособие к практикуму по курсу «Пакеты компьютерной алгебры»


numel возвращает общее количество элементов массива, а функция  length



Pdf көрінісі
бет5/11
Дата17.10.2022
өлшемі1,25 Mb.
#43716
түріУчебно-методическое пособие
1   2   3   4   5   6   7   8   9   10   11
Байланысты:
MATLAB Kurbatova Pustovalova

numel возвращает общее количество элементов массива, а функция 
length – количество элементов вектора или строки матрицы. 
Пример 41. Функции size, numel, length 
clc, clear 
v1=[1; 2; 3; 4], v2=[1 2 3 4] 
size(v1), size(v2) 
length(v1),length(v2) 
numel(v1),numel(v2) 
M=[1 2 3; 4 5 6] 
size(M), length(M), numel(M) 


26 
Логические операции с матрицами
Для матриц определены логические операции:
Операция 
Знак 
операции 
Равно 
== 
Не равно 
~= 
Больше 

Больше или равно 
>= 
Меньше 

Меньше или равно 
<= 
Логическое И 

Логическое ИЛИ 

Пример 42. Подсчет количества элементов матрицы, равных двум 
clc, clear 
A=[1 2; 3 2] 
sum(sum(A==2)) 
Пример 43. Подсчет количества одинаковых элементов в матрицах A и B и 
стоящих на одинаковых местах 
clc, clear 
A=[1 2; 3 2] 
B=[1 0; 3 5] 
sum(sum(A==B)) 


27 
Задачи для самостоятельного решения 
Вариант 1 
1. Задана матрица A=randi([-5 5],3,3) 
a) Определить количество ненулевых элементов. 
b) Найти A+A', показать, что полученная матрица симметричная. 
c) Определить количество элементов, равных двум. 
d) Переставить верхнюю и нижнюю строки матрицы. 
e) Найти сумму элементов главной диагонали матрицы. 
2. Заданы 5 матриц различного порядка. Создать блочно-диагональную 
матрицу, состоящую из заданных матриц-блоков. Отобразить структуру 
полученной матрицы с помощью spy.
3. Заданы матрицы одинаковой размерности:
A= randi([-5 5],3,3), B= randi([-5 5],3,3) 
a) Определить количество позиций, на которых стоят ненулевые 
элементы в обеих матрицах. 
b) Определить количество позиций, на которых, хотя бы в одной из 
матриц стоят ненулевые элементы. 
4. Задан вектор x=1:9. Получить из него матрицу 3-го порядка, в каждой 
строке которой записаны последовательно элементы вектора. 
5. Задан вектор x=1:4. Создать матрицу 4-го порядка, элементы каждой 
строки (столбца) матрицы являются элементами вектора. 
6. Задано целое число n и целочисленный вектор. Повторить каждый 
элемент вектора n раз. 
7. Задан вектор, в котором есть нулевые элементы. Каждый нулевой элемент 
заменить средним арифметическим элементов вектора. 


28 
Вариант 2 
1. Задана матрица A=randi([-5 5],3,3) 
a) Определить количество нулевых элементов. 
b) Проверить – является ли матрица симметричной. 
c) Определить количество элементов, неравных двум. 
d) Переставить правый и левый столбцы матрицы. 
e) Найти сумму элементов побочной диагонали матрицы. 
2. Заданы 5 матриц различного порядка. Создать блочно-диагональную 
матрицу из заданных матриц-блоков, блоки расположить вдоль побочной 
диагонали. Отобразить структуру полученной матрицы с помощью spy.
3. Заданы матрицы одинаковой размерности:
A= randi([-5 5],3,3), B= randi([-5 5],3,3) 
a) Определить количество позиций, на которых стоят элементы, равные 
двум в обеих матрицах. 
b) Определить количество позиций, на которых, хотя бы в одной из 
матриц стоят элементы, равные двум. 
4. Задан вектор x=1:9. Получить из него матрицу 3-го порядка, в каждом 
столбце которого записаны последовательно элементы вектора. 
5. Задан вектор x=1:4. Создать матрицу 4-го порядка, на диагоналях которой 
стояли бы элементы вектора. Если диагональ короче size(x), то заполнение 
начинать 1-го элемента вектора x. 
6. Задано целое число n и целочисленный вектор. Повторить каждый 
элемент вектора n раз. 
7. Задан вектор, в котором есть нулевые элементы. Каждый нулевой элемент 
заменить максимальным среди элементов вектора. 


29 
Вариант 3 
1. Задана матрица A=randi([-5 5],3,3) 
a) Определить количество отрицательных элементов. 
b) Проверить – является ли матрица кососимметричной. 
c) Определить количество элементов, равных минус единице. 
d) Переставить местами главную и побочную диагонали матрицы. 
e) Найти сумму элементов, стоящих выше главной диагонали. 
2. Заданы 5 матриц различного порядка. Создать матрицу из заданных 
матриц-блоков, блоки расположить в углах матрицы. Отобразить структуру 
полученной матрицы с помощью spy.
3. Заданы матрицы одинаковой размерности:
A= randi([-5 5],3,3), B= randi([-5 5],3,3) 
a) Определить количество позиций, на которых стоят элементы, равные 
максимальному значению матрицы, в обеих матрицах. 
b) Определить количество позиций, на которых, хотя бы в одной из 
матриц стоят максимальные элементы. 
4. Задан вектор x=1:16. Получить из него матрицу 4-го порядка, в каждом 
столбце которого записаны последовательно элементы вектора. 
5. Задан вектор x=1:3. Создать матрицу 3-го порядка, на диагоналях которой 
стояли бы элементы вектора. Если диагональ короче size(x), то заполнение 
начинать 1-го элемента вектора x. 
6. Задано целое число n и целочисленный вектор. Повторить каждый 
элемент вектора n раз. 
7. Задан вектор, в котором есть ненулевые элементы. Каждый ненулевой 
элемент заменить минимальным среди элементов вектора. 


30 
Вариант 4 
1. Задана матрица A=randi([-5 5],3,3) 
a) Определить количество элементов, равных 3. 
b) Проверить – является ли матрица положительноопрделенной. 
c) Определить количество неотрицательных элементов. 
d) Переставить угловые элементы матрицы. 
e) Найти сумму элементов, стоящих ниже главной диагонали. 
2. Заданы 5 матриц различного порядка. Создать матрицу из заданных 
матриц-блоков, блоки расположить вдоль 1-й строки матрицы. Отобразить 
структуру полученной матрицы с помощью spy.
3. Заданы матрицы одинаковой размерности:
A= randi([-5 5],3,3), B= randi([-5 5],3,3) 
a) Определить количество позиций, на которых стоят элементы, равные 
максимальному отрицательному элементу матрицы, в обеих матрицах. 
b) Определить количество позиций, на которых, хотя бы в одной из 
матриц стоят максимальные отрицательные элементы. 
4. Задан вектор x=1:16. Получить из него матрицу 4-го порядка, в каждой 
строке которой записаны последовательно элементы вектора. 
5. Задан вектор x=1:3. Создать матрицу 3-го порядка, на диагоналях которой 
стояли бы элементы вектора. Если диагональ короче size(x), то заполнение 
начинать 1-го элемента вектора x. 
6. Задано целое число n и целочисленный вектор. Повторить каждый 
элемент вектора n раз. 
7. Задан вектор, в котором есть ненулевые элементы. Каждый ненулевой 
элемент заменить средним значение среди элементов вектора. 


31 
Графика в MatLab 
Система MATLAB предоставляет огромное количество графических 
средств. К ним относятся команды построения простых графиков функций, 
комбинированные и презентационные графики, элементы анимации и сред-
ства проектирования графического пользовательского интерфейса (GUI).
Построение графиков функций 
Рассмотрим на примерах способы построения графиков в ML. Если 
заданы два вектора одинакового размера, хранящие координаты функции, 
то построить график функции можно с помощью команды plot
Пример 1. Построение графика функции 
% задание вектора x
x = [0:0.005:5];
% расчет значений функции 
y = exp(-x).*sin(10*x);
% построение графика функции 
plot(x, y) 
Графическое окно пакета MatLab 


32 
После выполнения скрипта из примера #1 на экране возникнет графическое 
окно, выполняя команды меню этого графического окна File→Save as, 
File

Export Setup, можно сохранить построенный график в файл MatLab с 
расширением fig, либо экспортировать в графические форматы - png, eps, gif. 
Файл с расширением fig можно открыть в MatLab. Результатом открытия 
файла будет графическое окно.
Несколько графиков в одном графическом окне
Для того, чтобы построить еще один график в этом же графическом 
окне, то можно действовать двумя путями – воспользоваться командой hold 
on, либо добавить еще два аргумента в команду plot. С помощью функции 
delete производят удаление графика.
Пример 2. Два графика функции в одних осях с помощью hold on 
x = [0:0.005:5];
y1 = exp(-x).*sin(10*x);
y2 = exp(-x).*cos(10*x);
% построение первого графика функции
plot(x, y1) 
% продолжать построение в этом же окне
hold on 
% построение второго графика функции 
plot(x, y2) 
Пример 3. Два графика функции в одних осях с помощью plot 
x = [0:0.005:5];
y1 = exp(-x).*sin(10*x);
y2 = exp(-x).*cos(10*x);
% построение сразу двух графиков функций
plot(x, y1, x, y2) 


33 
Установка параметров графиков
Задать цвет и тип линии для графиков можно несколькими способа-
ми. Рассмотрим один из этих способов на примере.
Пример 4. Задание цвета и типа линии для графика 
x = [0:0.005:5];
y = exp(-x).*sin(10*x);
plot(x, y,
'r:'

Обозначения для типа линий, цветов и маркеров приведены в таблице ниже. 
Цвет 

Желтый 

Розовый 

Голубой 

Красный 

Зеленый 

Синий 

Белый 

Черный 
Линия 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет