Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


‘ункции пользовател€




‘ункци€, как правило, предназначена дл€ неоднократного использовани€, она имеет входные параметры и не выполн€етс€ без их предварительного задани€. –ассмотрим несколько способов создани€ функций в SciLab.

—пособ 1. ѕрименение оператора deff, который в общем виде можно записать так:

deff(Т[им€1,...,им€N] = им€_функции(переменна€_1,...,переменна€_M)Т, Тим€1=выражение1;...;им€N=выражениеNТ)

где

им€1,...,им€N - список выходных параметров, то есть переменных, которым будет присвоен конечный результат вычислений,

им€_функции - им€, с которым эта функци€ будет вызыватьс€,

переменна€_1,...,переменна€_M - входные параметры.

¬ программировании аргументы функции называют входными параметрами.

‘ункци€ также имеет им€, однако ее значение должно быть присвоено переменной, определ€емой внутри функции.

Ёта переменна€ называетс€ выходным параметром, а ее значение Ц возвращаемым значением.

¬ описании функции допустимо существование нескольких выходных параметров, то есть функци€ может иметь не одно, а несколько (!) значений одновременно.  онечно, в р€де случаев это очень удобно!

ѕример. ќпределите функцию f(x)=sin(cos(x)) и вычислите ее значение в точках {-1,3; 2,1; 3,7}.

-->deff('f=fun(x)','f=sin(cos(x))')

-->[fun(-1.3) fun(2.1) fun(3.7)]

ans = 0.2643200 - 0.4836727 - 0.7500251

—пособ 2. ѕрименение конструкции function, синтаксис которой следующий:

function [им€1,...,им€N]=им€_функции(переменна€_1,...,переменна€_M)
тело функции
endfunction

«десь аналогично предыдущему им€1,...,им€N Ц список выходных параметров;

им€_функции Ц им€ с которым эта функци€ будет вызыватьс€, переменна€_1,...,переменна€_M Ц входные параметры.

ќпределение выходных переменных происходит в теле функции.

ѕример. ќпределите функцию f(x)=sin(cos(x)) и вычислите ее значение в точках {-1,3; 2,1; 3,7}.

-->function f=fun(x)

-->f=sin(cos(x))

-->endfunction

-->[fun(-1.3) fun(2.1) fun(3.7)]

ans = 0.2643200 - 0.4836727 - 0.7500251

ѕример. ќпределите функцию, в которой одновременно задаютс€ f(x,y)=cos(x+y) и g(x,y)=sin(x-y) и вычислите ее значение в точке (-2,5; 1,7).

-->deff('[f,g]=fnc(x,y)','f=cos(x+y);g=sin(x-y)')

-->[f1,g1]=fnc(-2.5,1.7)

g1 = 0.8715758

f1 = 0.6967067

-->function[f,g]=fnc(x,y)

-->f=cos(x+y)

-->g=sin(x-y)

-->endfunction

-->[f2,g2]=fnc(-2.5,1.7)

g2 = 0.8715758

f2 = 0.6967067

¬се имена переменных внутри функции, а также имена из списка входных и

выходных параметров воспринимаютс€ системой как локальные, т.е. считаютс€ определенными только внутри функции.

¬ообще говор€, функции в SciLab играют роль подпрограмм. ѕоэтому целесообразно набирать их тексты в редакторе и сохран€ть в виде отдельных файлов.

ѕричем им€ файла должно об€зательно совпадать с именем функции.

–асширение файлам-функци€м обычно присваивают sci или sce.

ќбращение к функции осуществл€етс€ так же, как и к любой другой встроенной функции системы, т.е. из командной строки. ќднако функции, хран€щиес€ в отдельных файлах, должны быть предварительно загружены в систему, например, при помощи оператора exec(им€_файла) или командой главного меню File Ц Exec..., что, в общем, одно и то же.

Ќапример, создан файл-функци€ cub дл€ решени€ кубического уравнени€.

function [ x1, x2, x3 ]= cub (a, b, c, d)

r= b / a;

s= c / a;

t= d / a;

p=(3*s-r^2)/3;

q=2*r^3/27-r*s/3+t;

D=(p/3)^3+(q/2)^2;

u=(-q/2+sqrt(D))^(1/3);

v=(-q/2-sqrt(D))^(1/3);

y1=u+v;

y2=-(u+v)/2+(u-v)/2*%i*sqrt(3);

y3=-(u+v)/2-(u-v)/2*%i*sqrt(3);

x1 =y1-r/3;

x2 =y2-r/3;

x3 =y3-r/3;

endfunction

ƒл€ использовани€ функции загружаем ее, т.е. указываем путь к файлу, содержащему функцию

-->exec('e:\ƒокументы\SciLab\ѕримеры\cub.sce');

-->[x1,x2,x3]=cub(3,-20,-3,4)

x3 = 0.3880206

x2 = - 0.5064407

x1 = 6.7850868





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-25; ћы поможем в написании ваших работ!; просмотров: 657 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

—туденческа€ общага - это место, где мен€ научили готовить 20 блюд из макарон и 40 из доширака. ј майонез - это вообще десерт. © Ќеизвестно
==> читать все изречени€...

549 - | 459 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.014 с.