Поиск максимального (минимального) элемента массива (матрицы)




ПРОГРАММИРОВАНИЕ В MatLab. ОСНОВНЫЕ АЛГОРИТМЫОБРАБОТКИ МАССИВОВ И МАТРИЦ

 

Цель работы: ознакомиться с возможностями М-языка для обработки массивов и матриц.

Обработка массивов и матриц средствами М-языка

Особенностью программирования задач обработки массивов (одномерных, двумерных) на М-языке является как возможность поэлементной обработки (как в любом языке программирования), так и использования операций MatLab для работы с массивами и матрицами.

Ввод-вывод массивов и матриц

Ввод массивов и матриц следует организовывать поэлементно, на рис. 1 приведена блок-схема алгоритма ввода элементов массивов, а на рис. 2 – матриц.

N=input('N='); for i=1:N х(i)=input(strcat('х(',int2str(i),’)=’)); end  
Рис. 1Блок-схема «ввод элементов массива»
N=input('N='); M=input('M='); for i=1:N for j=1:M a(i,j)=input(strcat('a(',int2str(i),‘,’,int2str(j),’)=’)); end end
Рис. 2Блок-схема «ввод элементов матрицы»

Для вывода приглашений вида x(i) = и a(i,j) = в функции input использовались функции работы со строками: strcat (s1, s2,..., sn) и int2str(d).

Функция strcat предназначена для объединения строк s1,s2,….,sn в одну строку, которая и возвращается в качестве результата.

Функция int2str преобразует число d в строку символов.

Вычисление суммы и произведения элементов массива (матрицы)

Алгоритм нахождения суммы:

1. До цикла сумма равна 0 (s=0).

2. К s добавляем первый элемент массива и результат записываем опять в переменную s.

3. К переменной s добавляем второй элемент массива и результат записываем в s.

4. Добавляем к s остальные элементы массива.

При нахождении суммы элементов матрицы последовательно суммируем элементы всех строк.

Алгоритм нахождения произведения:

1. Начальное значение произведения равно 1 (р=1).

2. Последовательно умножаем р на очередной элемент и результат записываем в р.

Поиск максимального (минимального) элемента массива (матрицы)

Алгоритм решения задачи поиска максимума и его номера в массиве:

1. В переменной с именем Мах хранится значение максимального элемента массива, а в переменной с именем Nmax – его номер.

2. Предположим, что первый элемент массива является максимальным, и запишем его в переменную Мах, а в Nmax – его номер (то есть 1).

3. Все элементы, начиная со второго, сравниваем в цикле с максимальным.

4. Если текущий элемент массива оказывается больше максимального, то записываем его в переменную Мах, а в переменную Nmax – текущее значение индекса i.

Алгоритм поиска минимального элемента в массиве будет отличаться от приведенного выше лишь тем, что в условном блоке и соответственно, в конструкции if текста программы знак поменяется с > на <.

Алгоритм поиска минимального элемента матрицы и его индексов:

1. Nmin – номер строки, Lmin – номер столбца минимального элемента.

2. При поиске минимального (максимального) элемента матрицы циклы по i и j начинаются с 1. Иначе при обработке элементов будет пропущена первая строка или первый столбец во время сравнения аi,j с min.

Min=a(1,1); Nmin=1; Lmin=1; for i=1:N for j=1:M if a(i,j) < Min Min=a(i,j); Nmin=i; Lmin=j; end; end; end;
Рис. 3Поиск минимального элемента матрицы и его индексов

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: