Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала прогаммирования в среде MatLab / Начала программирования в среде MatLab.pdf
Скачиваний:
184
Добавлен:
02.05.2014
Размер:
5.66 Mб
Скачать

2.3. Создание файл-функций

 

 

 

 

 

101

400

 

 

Графік функції "MYFUN"

 

 

 

 

 

 

 

 

 

 

 

350

 

 

 

 

 

 

 

 

300

 

 

 

 

 

 

 

 

250

 

 

 

 

 

 

 

 

200

 

 

 

 

 

 

 

 

150

 

 

 

 

 

 

 

 

100

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

-50

-15

-10

-5

0

5

10

15

20

-20

 

 

 

 

Рис. 2.1

 

 

 

 

Третий пример - создание файл-функции, вычисляющей значения функции y(t) = k1+k2*t+k3*sin(k4*t+k5).

В этом случае удобно объединить совокупность коэффициентов k в единый вектор К:

К= [k1 k2 k3 k4 k5]

исоздать такой М-файл:

function y = dvob(x, K)

%Вычисление функции

%y = K(1)+K(2)*x+K(3)*sin(K(4)*x+K(5)),

%где К - вектор из пяты элементов

%Используется для определения текущих значений

%параметров движения подвижного объекта

y = K(1)+K(2)*x+K(3)*sin(K(4)*x+K(5));

Тогда расчет, например, 11-ти значений этой функции можно осуществить

так

»K = ones(1,5);

»t = 0:1:10;

»fi = dvob(t, K)

fi = 1. 8415 2. 9093 3. 1411 3. 2432 4. 0411 5. 7206 7. 6570 8. 9894 9. 4560 10. 0000

2.3.2. Типовое оформление процедуры-функции

Рекомендуется оформлять М-файл процедуры-функции по такой схеме: function [<Выход>] = <имя функции>(<Вход>)

%<Краткое пояснение назначения процедуры>

%Входные переменные

%<Детальное пояснение о назначении, типе и размерах

%каждой из переменных, перечисленных в перечне <Вход>

%Выходные переменные

%<Детальное пояснение о назначении, типе и размерах

%каждой из переменных перечня <Выход>

%и величин, используемых в процедуре как глобальные>

%Использование других функций и процедур

%<Раздел заполняется, если процедура содержит обращение

%к другим процедурам, кроме встроенных>

2.3. Создание файл-функций

102

< П у с т а я с т р о к а >

 

 

%Автор : <Указывается автор процедуры, дата создания конечного варианта

%процедуры и организация, в которой созданная программа>

< Т е к с т и с п о л н я е м о й ч а с т и п р о ц е д у р ы >

Здесь обозначен: <Выход> - перечень выходных переменных процедуры, <Вход> - перечень входных переменных, разделенных запятыми.

Примечание. При использовании команды help <имя процедуры> в командное окно выводятся строки комментария до первой пустой строки.

2.3.3. Задания

Задание 2.1. Создайте М-файл, вычисляющий значение функции из задания 1.5. Постройте график этой функции с помощью процедуры fplot в границах, заданных в задании 1.5. Вычислите интеграл от функции в тех же пределах, используя процедуры quad и quad8. Найдите точку локального минимума и локальный минимум функции и ближайший корень (нуль).

Задание 2.2. Найдите точку локального минимума и локальный минимум функции двух переменных, приняв за начальную точку с заданными координатами (таблица 2.1). Предварительно создайте соответствующую файл-функцию.

Таблица 2.1

Вариант

xo

yo

f(x,y)

 

 

 

 

1

0

1

ex +y + (x y)2 2x 2 y

2

0.7

-1. 2

(x y)2 cos(x y 1)

3

1.5

-0. 5

ex +y 2x 2 y cos(x y 1)

4

0.5

1.5

e x +y + 4x 2 3x 3y

5

0

1

4x 2 + ln(x + y) +

 

1

 

 

 

 

 

x

+ y

 

 

 

 

 

 

 

 

 

 

6

1.2

0.7

2x+y 2x 2y + 2(x y)2

7

0

-0. 9

e xy + 2x + 2 y + (x + y)2

8

0.8

1.3

(x y)2 cos(x + y 1)

9

1.5

0.5

e xy 2x + 2 y cos(x + y 1)

10

0.5

-1. 5

e xy 3x + 3y + 4x 2

11

0

-1

4x 2 + ln(x y) +

 

1

 

 

 

 

 

x

y

 

 

 

 

 

 

 

 

12

1.2

-0. 8

2xy 2x + 2 y + 2(x + y)2