Другое

Какие есть циклы в Матлаб, что такое Zeros в MatLab, как выйти из цикла

Продолжаем наше обучение по Матлаб. Сегодня мы объясним 2 важных момента при работе в Матлаб:

  •  какие бывают циклы в Матлаб;
  •  что такое zeros в Матлабе.

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

Что такое циклы в Матлаб?

Практически каждый язык программирования содержит в своем синтаксисе возможность использовать циклы для вычисления. Матлаб в этом плане не исключение.  Если другие языки содержат несколько вариаций циклов, то в Матлаб есть только два вида циклов:

  • «for...end»;
  • «while...end».

Напомним, что любой цикл в программировании нужен для того, чтобы программа, находящаяся в цикле, повторяла свое действие до тех пор, пока не будет достигнут результат. Количество повторений циклов может быть разнообразным. Все зависит от того, какие входные данные были в цикле и что нам нужно из них извлечь. Неправильно собранный цикл может привести к большим проблемам. Например, цикл может быть бесконечным. Это означает, что программа войдет в цикл и никогда из него не выйдет, а будет повторять его снова и снова, пока устройство, на котором воспроизводится программа, не «зависнет» от перегруженной памяти.

Цикл «for...end» в Матлаб

В официальной документации к Матлаб синтаксис цикла «for» описан таким образом:

Syntax

for index = values

program statemens

end

 

Если перевести на русский язык описание цикла, то получаем следующее:

Syntax

for<объявляем переменную> =<описываем значение>

<описываем тело цикла>

end

 

Рассмотрим несколько простых примеров использования цикла «for» в Матлаб.

for d = 100: 1.0: 0.0

disp(d)

end

 

В этом примере мы запустили цикл, при котором программа будет перебирать числа от 100 до 0 с шагом 1 и выводить их на экран. Программа начнет отсчет со 100 и остановится на 0.

Еще один простой пример использования цикла «for»:

Syntax

d = [3 6 5 3 6 9 5 3 1 0];

n = d(1);

for i=1:length(d)

  if n <d(i)

      n = d(i);

  end

end

disp(n)

 

В этом цикле мы запускаем счетчик «i» и меняем его значение от 1 до 10 с шагом 1. Результат выводим на экран.

Вообще, цикл «for» в Матлаб часто используется в тех случаях, когда нужно перебирать числовые значения в определенном диапазоне с определенным шагом.

Цикл «while...end» в Матлаб 

В официальной документации к Матлаб можно найти такой шаблон цикла «while...end»:

Syntax

while expression

    program statements

end

 

Если перевести на русский и понятный язык это описание цикла, то получим следующее:

Syntax

while <задаем условия>

    <описываем действия>

end

 

Рассмотрим простой пример использования цикла «while...end» в Матлаб:

Syntax

exp = 100;

while exp > 1

exp = exp-1

end

В этом примере мы имеем цикл «while...end», который будет выполнять действие «exp=exp-1» до тех пор, пока соблюдается условие «exp>1». Таким образом, мы получаем цикл, который  будет работать до тех пор, пока соблюдаются условия цикла. Как только условия станут ложными, работоспособность цикла сразу прервется.

Что такое «zeros» в Матлаб?

Что такое циклы в Матлаб, мы разобрали чуть выше.  Но Матлаб интересен и другими свойствами. Например, некоторые пользователи в Матлабе впервые встречают такое выражение, как «zeros». Многие знают, что «zero» это «ноль», но что такое «zeros»?

Zeros в Матлабе — это специальная функция, которая формирует массив из нулей. Кстати, сам массив будет называться также «zeros».

Если рассматривать функциональность и специфику работы языка Матлаб, то можно заметить, что основным объектным инструментом языка считаются массивы, из которых можно формировать:

  •  векторы — формируются односоставными массивами;

  •  матрицы — формируются двусоставными массивами;

  •  тензоры — формируются многосоставными массивами.

При формировании массивов в Матлаб используют специальные синтаксические инструменты, среди которых находится функция «zeros». К основным инструментам такого рода относят следующие функции:

  •  «zeros» генерирует хранилище, состоящее из нулей;

  •  «ones» генерирует хранилище, состоящее из единиц;

  •  «eye» генерирует матрицу, состоящую из единиц;

  •  «rand» генерирует хранилище компонентов, распределяемых по равномерному принципу;

  •  «randn» генерирует хранилище компонентов, распределяемых по нормальному принципу;

  •  «cross» реализует произведение нескольких векторов;

  •  «kron» реализует произведение тензоров;

  •  «linspace» генерирует однолинейное хранилище из равноотстоящих компонентов;

  •  «logsoace» генерирует компоненты логарифмической решетки;

  •  «meshgrid» генерирует компоненты двусоставной и трехсоставной решетки;

  •  «:» формирует векторы и подматрицы.

На практике использовать функцию «zeros» и ее «собратьев» (ones, eye, rand, randn) очень просто. Например, мы хотим сформировать двумерный массив из нулей, состоящий из 900 элементов. Синтаксис будет такой:

myarray = zerros(2, 900);

Заключение

Матлаб, хоть и специфический, но очень интересный язык программирования. Его нет смысла изучать, если вы хотите программировать приложения или веб-сайты. Но если вам нужно проанализировать какие-то технические данные и вывести их понятным графиком, то Матлаб — это то, что нужно.

Сегодня мы рассмотрели какие циклы бывают в Матлаб, а также что такое «zeros». В следующих статьях мы продолжим изучение этого языка.

Схожие статьи

Что такое todo file description? Исправляем эту ошибку самостоятельно
Другое

Что такое todo file description? Исправляем эту ошибку самостоятельно

Что такое Docker? Основные компоненты, разновидности и принцип работы
Другое

Что такое Docker? Основные компоненты, разновидности и принцип работы

Другое

Новые наушники от Apple: комфорт и качество звука в новых AirPods 3

Другое

Каковы преимущества и недостатки Windows?

×