Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Решение задач обработки матрицСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Для понимания этого раздела необходимо ознакомиться с приложением. Продемонстрируем приемы программирования на языке MATLAB на примере задачи обработки матрицы (уровня 2.5.2. из [3]). В отличии от классических универсальных языков программирования (Pascal, C, Fortran), предполагающих компиляцию программ, в MATLAB-программе не требуется вводить размеры массивов; они определяются автоматически по присваиваемым или вводимым из файла значениям массива, и могут быть получены с помощью функций size и ndims. Рассмотрим операторы, с помощью которых можно определить размеры массива. Оператор [n,m] = size(а) возвращает n и m - размеры матрицы а. Длину n вектора b можно также определить с помощью оператора: n= length(b) Число n индексов массива Х можно вычислить, используя оператор: n = ndims(Х). Пример 1. Дана матрица а. Для каждой строки матрицы найти сумму элементов и определить число строк, для которых эта сумма положительна. Обозначения поясняются таблицей 1. Размеры матрицы (n и m) формально отнесены к промежуточным данным, так как в программе будут вычисляться с применением функции size. Таблица 1. Состав данных примера 1.
На рис. 1.6 изображена блок-схема алгоритма. Обратите внимание, что блок 6 содержит параметрический цикл, в котором вычисляется сумма элементов строки. На рис.1.7 показан алгоритм, закодированный на языке MATLAB, и результаты его выполнения; для сравнения рядом приведена PASCAL-программа. Легко видеть, что текст MATLAB проще и короче. Однако приведенная последовательность инструкций в командном окне MATLAB в сущности не является автономной программой. Его нельзя повторно запустить (без копирования через буфер обмена), нельзя отредактировать, нельзя транслировать в исполняемую программу (файл с расширением.exe). Причина этих ограничений состоит в том, что транслятор командного окна MATLAB является интерпретатором. Чтобы частично снять эти ограничения, надо оформить последовательность MATLAB-команд как M-файл (см. лабораторную работу №2). Основное преимущество языка PASCAL (как и любого языка, требующего компиляции) состоит в простоте создания обособленного от среды программирования исполняемого файла. Заметим, что в работе инженера часто требуется получить результат, а не инструмент исследования. В такой ситуации интерактивные пакеты прикладных программ (такие как MATLAB) вне конкуренции. Кроме того, в диалоговом режиме, пробуя различные варианты вычислений, можно построить оптимальный алгоритм решения задачи, на основе которого впоследствии создать исполняемую программу. Задачу примера 1 можно решить без операторов условия и цикла с помощью функции find (массив), которая возвращает индексы ненулевых элементов массива в виде вектор-столбца; нумерация элементов матрицы осуществляется по столбцам. Получаем лаконичное решение: >> load d:\valentina\a.txt >> s=sum(a'); >> k=length(find(s>0));
2. Задание 1. 2. Разработайте блок-схему алгоритма для задачи [3] 2.5.2.N+1. 3. Закодируйте алгоритм на языке MATLAB, используя таблицу П.6 (кодирование основных алгоритмических структур – см. Приложение). Предусмотрите ввод исходных данных из текстового файла и вывод результатов в командное окно MATLAB и в текстовый файл.
|
||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-02-05; просмотров: 496; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |