Пример функции с 3 выходными параметрами

Пусть в векторе необходимо вычислить минимальное значение, номер этого элемента и среднее значение в векторе X, размер и значение элементов которого, вводятся с клавиатуры.

Для решения этой задачи создадим следующие файлы:

Файл-функция нахождения минимума, номера и среднего любого массива

function [minx,posx,sred]=myfun_2(X)

[minx,posx]=min(X);

sred=mean(X);

End

Файл- функция ввода элементов вектора

function X=inmas(n)

disp('введите массив');

for i=1:n

X(i)=input(sprintf('X(%d)=%f',i));

end

End

Такую функцию можно один раз написать и использовать сколько угодно раз для ввода любого массива.

Скрипт-файл, который задает количество элементов в векторе и вызывает два файла- функции для ввода значений вектора и вычисления минимума, номера и среднего.

n=input('введите n=')

X=inmas(n);

[min_el, pos_el, sr_zn]=myfun_2(X);

disp(sprintf('min=%.1f; pos=%.1f; sr=%.1f',min_el,pos_el,sr_zn))

На экране:

введите n=6

n =

6

введите массив

X(1)=4

X(2)=3

X(3)=9

X(4)=23

X(5)=8

X(6)=1

min=1.0; pos=6.0; sr=8.0

Использование файлов-функций для задач вычислительной математики

Описание функций широко используются в ML при решении следующих задач:

1) построение графика функций;

2) численное интегрирование;

3) нахождение корней трансцендентного уравнения;

4) поиск экстремумов функции;

Рассмотрим последовательно каждую из задач.

Построение графика функций

Кроме функции plot(), ML предоставляет пользователю возможность использовать еще две функции ezplot() и fplot(). Функцию ezplot() мы рассмотрим дальше.

Можно построить график любой функции с использованием функции
fplot (< функция>, < интервал построения>). Она имеет 2 входных параметра:

Интервал это вектор из двух значений, задающих границы изменения аргумента, записывается в квадратных скобках. Функция может быть задана либо как символьная константа, либо как имя m-файла, в котором записана функция, либо как анонимная функция. Рассмотрим каждый случай.

1. функция – символьная константа, задающая формулу по которой вычисляется функция. Она заключается в апострофы. Например,
 для функции sin(x)^2 на интервале от 0 до 2p запишем:

>> fplot ('sin(x).^2', [0 2*pi])     % - функция задана символьным выражением.

2. функция это имя m - файла- функции, в котором записана формула. Имя файла должно быть заключено в апострофы

Для нашей функции:

function f= f_sin (x)

f=sin(x).^2;

end

Файл должен быть обязательно сохранен с именем f_sin

>> fplot ('f_sin', [ 0  2*pi])

3.   функция определена как анонимная ( только начиная с версии 7.0 ) и записана следующим выражением:

  f = @ (x) (sin(x).^2);

В этом случае в функцию fplot передается указатель на функцию, которая должна быть отображена на графике.

>> f = @ (X) (sin(X).^2))     % функция задана как анонимная

>> fplot ( f, [0 2*pi])

При использовании этой функции график получается без заголовка, без подписей осей, а масштабируется автоматически.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: