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

Файл-программа для вычисления суммы



1/1!+1/2!+...+ 1/10!

При написании файл-программ и файл-функций не пренебрегайте комментариями!

Все переменные, использующиеся в файл-программе, становятся доступными в рабочей среде. Они являются, так называемыми, глобальными переменными. С другой стороны, в файл-программе могут использоваться все переменные, введенные в рабочей среде.

Рассмотрим задачу вычисления суммы, похожую на предыдущую, но зависящую от переменной х

Для вычисления данной суммы в файл-программе Fordem2 требуется изменить строку внутри цикла for на

S = S + x.^k/factorial(к);

Перед запуском программы следует определить переменную x командной строке при помощи следующих команд:

» х = 1.5;

» Fordem2

S=

3.4817

В качестве х может быть вектор или матрица, так как в файл-программе Fordem2 при накоплении суммы использовались поэлементные операции.

Перед запуском Fordem2 нужно обязательно присвоить переменной х некоторое значение, а для вычисления суммы, например из пятнадцати слагаемых, придется внести изменения в текст файл-программы. Гораздо лучше написать универсальную файл-функцию, у которой в качестве входных аргументов будут значение х и верхнего предела суммы, а выходным - значение суммы S(x). Файл-функция sumN приведена в следующем листинге.

Листинг файл-функции для вычисления суммы

function S = sumN(x, N)

% файл-функция для вычисления суммы

% х/1!+х^2/2!+... +x^N/N!

% использование: S = sumN(x, N)

% обнуление S для накопления суммы

S = 0;

% накопление суммы в цикле

for m = 1:1:N

S = S + x.^m/factorial(m);

End

Об использовании функции sumN пользователь может узнать, набрав в командной строке help sumN. В командное окно выведутся первые три строки с комментариями, отделенные от текста файл-функции пустой строкой.

Обратите внимание, что переменные файл-функции не являются глобальными (m в файл-функции sumN). Попытка просмотра значения переменной m из командной строки приводит к сообщению о том, что m не определена. Если в рабочей среде имеется глобальная переменная с тем же именем, определенная из командной строки или в файл-программе, то она никак не связана с локальной переменной в файл-функции. Как правило, лучше оформлять собственные алгоритмы в виде файл-функций для того, чтобы переменные, используемые в алгоритме, не изменяли значения одноименных глобальных переменных рабочей среды.

Циклы for могут быть вложены друг в друга, при этом переменные вложенных циклов должны быть разными.

Цикл for оказывается полезным при выполнении повторяющихся похожих действий в том случае, когда их число заранее определено. Обойти это ограничение позволяет более гибкий цикл while.

2.5.2. Оператор цикла while

Рассмотрим пример на вычисление суммы, похожий на пример из предыдущего пункта. Требуется найти сумму ряда для заданного х (разложение в ряд sinx):

Сумму можно накапливать до тех пор, пока слагаемые являются не слишком маленькими, скажем больше по модулю 10-10. Циклом for здесь не обойтись, так как заранее неизвестно число слагаемых. Выход состоит в применении цикла while, который работает, пока выполняется условие цикла:





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



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