Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Otherwise



error ('ошибка')

End

3) Оператор цикла for.... end выполняет инструкцию или группу инструкций предопределенное число раз. По умолчанию приращение равно 1. Можно задавать любое приращение, в том числе отрицательное. Для положительных индексов выполнение завершается, когда значение индекса превышает <конечное значение>; для отрицательных приращений выполнение завершается, когда индекс становится меньше чем <конечное значение>. Иллюстрация использования оператора for….end приведена в примере 4.5.

4) Оператор цикла с неопределенным числом операций while... end многократно выполняет инструкцию или группу инструкций, пока управляющее выражение истинно. Если выражение использует массив, то все его элементы должны быть истинны для продолжения выполнения. Чтобы привести матрицу к скалярному значению, следует использовать функции any и all. Иллюстрация использования оператора while….end приведена в примере 4.6.

Кроме того, для управления последовательностью выполнения операторов используется оператор break. Этот оператор позволяет прерывать выполнение циклов for и while. При использовании оператора break во вложенных циклах выход осуществляется только из самого внутреннего цикла.

4.7. Ускорение вычислений

Этот раздел описывает методы повышения быстродействия при выполнении программы и управление памятью:

§ векторизация циклов;

§ предварительное размещение векторов.

Под векторизацией понимается преобразование циклов for и while к эквивалентным векторным или матричным выражениям. При векторизации алгоритма ускоряется выполнение m-файла.

Пример 4.4. Табулирование функции. О дним из способов вычисления 1001 значение функции синуса на интервале [0 10] может быть реализован с помощью оператора цикла:

i = 0;

for t = 0:.01:10

i = i + 1;

y(i) = sin(t);

end

Второй способ: применение векторизованной формы

t = 0:.01:10;

y = sin(t);

Именно второй способ вычисления выполняются намного быстрее, и такой подход в системе Matlab является предпочтительным.

В системе Matlab есть возможность для существенного сокращения времени выполнения программы за счёт предварительного размещения массивов для выходных данных. Для этого необходимо использовать операции zeros, struct и cell. Предварительное выделение памяти позволяет избежать фрагментации памяти при работе с большими матрицами. Предварительное выделение памяти позволяет определить непрерывную область, достаточную для проведения всех вычислений.

Существует несколько подходов к повышению эффективности использования памяти, они рассмотрены ниже. В системе Matlab предусмотрено пять функций для работы с памяти:

§ команда clear - удаление переменных из оперативной памяти;

§ команда pack - запись текущих переменных на диск и последующей их загрузкой;

§ функция quit - по мере необходимости выход из системы Matlab с освобождением всей памяти;

§ команда save - сохранение переменных в файле;

§ команда load - считывание данных из файла.

Команды save и load работают быстрее, чем команды ввода-вывода.





Дата публикования: 2014-10-29; Прочитано: 509 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...