Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Примеры. 1. Нахождение суммы первых 10 натуральных чисел




1. Нахождение суммы первых 10 натуральных чисел

>> S = 0; % начальное значение суммы

>> i=1; % счетчик суммы

>> while i <= 10 % цикл (работает пока i<=10

S=S+i; % подсчитывается сумма

i=i+1; % увеличивается счетчик на 1

end % конец цикла

>> disp(S); % отображение суммы на экране

2. Нахождение номера элемента суммирования первых 20натуральных чисел пока сумма меньше 20

>> S = 0; % начальное значение суммы

>> i=1; % счетчик суммы

>> while i <= 20 % цикл (работает пока i<=20

S=S+i; % подсчитывается сумма

i=i+1; % увеличивается счетчик на 1

if S >= 20 % если S > 20,

break; % то цикл завершается

end

end % конец цикла

>> disp(i); % отображение номера элемента на экране

3. Нахождение суммы нечетных элементов вектора а.

>> S = 0; % начальное значение суммы

>> a = [1 2 3 4 5 6 7 8 9]; % массив

>> i=0; % счетчик индексов массива

>> while i < length(a) % цикл работает пока i меньше длины массива а

i=i+1; % увеличивается счетчик индексов на 1

if mod(a(i),2)= = 0 % если элемент вектора четный

continue; % то его не суммируем

else % иначе

S=S+a(i); % подсчитывается сумма нечетных элементов

end % завершение блока if

end % конец цикла

disp(S); % отображение суммы на экране

Оператор цикла for

Часто при организации цикла требуется перебирать значение счетчика в заданном диапазоне значений с заданным шагом изменения. Для реализации таких задач существует оператор цикла for, который позволяет проще и нагляднее реализовывать цикл со счетчиком.

Синтаксис.

for <счетчик> = <начальное значение>:<шаг>:<конечное значение>

<операторы цикла>

End

Примеры.

1. Поиск максимального значения элемента в векторе

>> a = [3 6 5 3 6 9 5 3 1 0];

>> m = a(1); % текущее максимальное значение

>> for i=1:length(a) % цикл от 1 до конца вектора с шагом 1 (по умолчанию)

if m < a(i) % если a(i) > m,

m = a(i); % то m = a(i)

end

end % конец цикла for

>> disp(m); % вывод максимального значения

2. Смещения элементов вектора вправо, т.е. предпоследний элемент ставится на место последнего, следующий – на место предпоследнего, и т.д. до первого элемента:

>> a = [3 6 7 2 8 9 5 3 1 0];

>> for i=length(a):-1:2 % цикл от 10 до 2 с шагом -1

b(i)=a(i-1); % смещаем элементы вектора а

end % конец цикла for

>> disp([a; b])

3 6 7 2 8 9 5 3 1 0

0 3 6 7 2 8 9 5 3 1

В некоторых задачах, где обычно используется цикл for, благодаря матричному представлению данных в среде MATLAB его использование не нужно. Таким примером может быть задача табулирования функции. Для ее реализации достаточно задать аргумент в виде диапазона и описать функцию:

>> x=0:0.5:5;

>> y=20*sin(x)./x;

>> disp([x;y])

0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000

NaN 19.1770 16.8294 13.2999 9.0930 4.7878 0.9408 -2.0045 -3.7840 -4.3446 -3.8357

Результатом выполнения команд будет две строки. Где первая строка соответствует значениям х, а вторая – y.

 


Поделиться:

Дата добавления: 2014-12-30; просмотров: 148; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты