Примеры решения задач с использованием

M-файлов

 

Пример 1.3.5-1. Даны n чисел . Требуется вычислить их сумму: где

Для решения поставленной задачи разработана функция fb(x), реализующая алгоритм вычисления текущего значения функции. Функция имеет один входной параметр – текущее значение элемента массива b и один выходной параметр – y(рис. 1.3.5-1). Обращение к функции происходит в цикле, организованном для вычисления суммы (рис. 1.3.5-2).

 

 

Рис. 1.3.5-1. Функция, реализующая алгоритм Примера 1.3.5-1

 

 

Рис. 1.3.5-2. Программа, реализующая вычисление суммы чисел

 

Для вычисления суммы значений функции создан script-файл с именем zadashа.m, в котором сначала заданы количество чисел (n=10) и вектор их значений (b), а затем организован регулярный цикл для обращения в функции fb() и вычисления суммы.

Вычисления производятся запуском script-файла путем набора в командной строке окна Command Window его имени zadasha. Результаты его выполнения выведены на рис. 1.3.5-3.

 

 

Рис. 1.3.5-3. Запуск script-файла zadasha на выполнение

 

Пример 1.3.5-2. Сформировать из произвольных чисел двумерный массив а(3,4). Вычислить и вывести одномерный массив b, каждый элемент которого есть среднее арифметическое элементов соответствующей строки массива а[].

На рис. 1.3.5-4 приведен script-файл с именем zadasha2, где введена матрица, а, состоящая из трех строк и четырех столбцов. Организован цикл по количеству формируемых элементов массива b путем обращения к функции sred_ar(). В функцию передается массив а, номер строки (i) и количество элементов в строке (m). Вывод элементов массива b предусмотрен в столбец.

 

 

Рис. 1.3.5-4. Программа формирования массива b

 

Функция sred_ar() (рис. 1.3.5-5) предназначена для формирования i-го элемента массива b, равного среднему арифметическому элементов строки массива а.

 

 

Рис. 1.3.5-5. Функция sred_ar(), вычисляющая среднее арифметическое
элементов строки массива a

 

В результате запуска script-файле с именем zadasha2в окно Command Windowвыводится столбец элементов массива b

 

 

Рис. 1.3.5-6. Запуск script-файла zadasha2

 

Пример. 1.3.5-3. Задать действительные числа a,b, натуральное n (a<b) и вычислить выражение , где , если

Решение задачи требует разработки двух функций: fab(a, h, i), предназначенной для вычисления i-го слагаемого (рис. 1.3.5-7) и sumf(a, h, n), предназначенной для вычисления заданного выражения (рис. 1.3.5-8).

 

 

Рис. 1.3.5-7. Функция fab(), вычисляющая значение i-го слагаемого

 

 

Рис. 1.3.5-8. Функция sumf(), вычисляющая заданное выражение

 

Запуск на выполнение осуществляется из командного окна к функции sumf(). Предварительно переменным a,b и n присваиваются числовые значения. Проверка правильности ввода исходных данных предусмотрена в функции sumf(). Вычисления выполняются, и результат выводится на экран только в случае, если b>a, иначе в командной строке появляется сообщение «Ошибка в исходных данных b<a» (рис. 1.3.5-9).

 

 

Рис. 1.3.5-9. Запуск функции sumf() на выполнение