«компьютерлік модельдеу негіздері»


Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997



бет4/6
Дата25.04.2016
өлшемі408 Kb.
#88629
1   2   3   4   5   6

2.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997.



3-Лабораториялық сабағы.

Тақырыбы: MathCAD-та сызықты теңдеулерді шешу

Функциялар да сценарилер сияқты М – тілінің құрылымының жиынынан тұрады және олардың кеңейтпесі m. текістік файылдарға жазады. Нәтижесінде оларды жай ғана М – функциялар деп атайды. Біз енді осы М – функцияларының құрлымының барлық ерекшеліктерін қарастырайық.

М – функциясының мәтіні тақырып атынан басталуы қажет, содан кейін фукция денесі жазылады. Тақырып аты фукцияның интерфейсін анықтайды және келесі түрде жазылады:

function [Ret1, Ret2,…]=FName (par1, par2,…)

Онда function атты функция айтылады, ол ішкі параметрлерді және шығатын (қайтымды) мәтіндерді қабылдайды. Бұл жердегі көп нүкте синтаксистік элемент болып табылмайды, бұл жердегі көп нүктені қолданғандағы басты мақсатымыз функция әр түрлі кіретін параметрлерді және қайтымды мәндер сандарын қабылдай алатынын көрсеткіміз келеді. Осы айтылған жағдай атты сипаттайтын мысалды көрейік:



function FName1

function FName2(par1, par2, par3)

function Ret1=FName3(par1, par2)

function[Ret1, Ret2, Ret3]=FName4(par1)

Мұндағы бірінші жолда FName1 функциясының тақырыбы көрсетілген, оның кіретін параметірлері және қайтымды мәндері жоқ. FName2 функциясы үш кіретін параметрді қабылдайды және сонымен қоса қайтымды мәндері жоқ. Келесі FName3 функциясы екі параметр қабылдайды және бір мәнді қайтарады. Ақырында, FName4 функциясы бір кіретін параметрге және үш қайтымды мәнге ие.

Көбінесе қысқалық үшін кіретін параметрлерді функция аргументтері деп атайды, ал функцияның қайтымды мәндерін қарапайым түрде оның мәндері деп атайды.

Тақырып атында көрсетілген функцияның аты жазылған файлдың атымен сәйкес болуы керек (кеңейтпесінің ескеруінсіз).

Функцияның денесі М – тілінің құрлымынан тұрады, осының көмегімен қорытындылай келгенде қайтымды мәндер есептелінеді. Функция денесі тақырып атынан кейін жазылады. Функцияның тақырыбы қосымша функция денесі бірігіп функцияның анықтамасын құрайды. Осылыйша, М – файлда тек қана функцияның анықтамасы жазылады. Функцияның анықтамасы бар М- файлды Matlab пакеті тізімінің рұқсатына кіретін дискі каталогының бірінде орналастыру керек.

Егер де М – файлда бір мезгілде бірнеше функцияның анықтамаларын енгізсек онда Matlab жүйесінің командалық терезесінен тек қана М- файлдың атымен сәйкес келетінін ғана шақыруға болады. Осылайша М- файлдағы тек бір функция ғана бұл файлдан тыс жерден көрінеді. Ал қалған функциялар берілген М – файлдың ішінен шақырылады және олар қосымша көмекші жұмыс атқарады.

Осындай жағдайдың мысалын қарастырайық, ManyFunc.m файлы екі функцияның анықтамасын қамтиды:



function ret = ManyFunc(x1, x2)

ret = x1.*x2 + AnotherFunc(x1);

function ret2 = AnotherFunc(y)

ret2 = y. * y + 2 * y + 3;

Мұндағы ManyFunc және AnotherFunc функциялары анықталған. Бірақ онда тек қана ManyFunc функциясын ғана шақыруға болады. Ал AnotherFunc функциясын тек қана ManyFunc функциясына ғана шақыра алады. ManyFunc функциясын ManyFunc.m файылындағы ең негізгі функция деп, ал AnotherFunc функциясын көмекші немесе ішкі функция деп айтуға болады.

Фукцияның шақырылуының мүмкіндігін шектейтін тағы бір әдісі бар. Мысалы қандай да бір М-функциясының берілген каталогы М- функциясы шақыра алады. Онда каталогта private атты бағынышты - ішкі каталог жасап және онда көрсетілген функцияны орналастыру керек.

Кіретін параметрлер қайтымды мәндер сияқты жалпы жағдайда өлшемдері және өлшемі әр түрлі типтегі массивтер болуы мүмкін. Мысалы келесі MatrProc1 атты функция:



Function [A, B] = MartProc1 (X1, X2, x)

%MatrProc1 calculates MatrixProduction

%plus (or by) one scalar

-----------------------------------------------

A = X1. * X2*x

B = X1. * X2 + x; The last line of the code

Ұсынылатын әдебиет:

1.Статистический анализ данных в пакете Mathcad Радченко Т.А., Дылевский А.В, Воронеж, 2004

2.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997.



4-Лабораториялық сабағы.

Тақырыбы: MathCAD-та анықталған, анықталмаған және екі еселі интегралды есептеу

MATLAB жүйесінде функция тақырыбы атынан кейін орналасатын комментарилердің бірнеше жолдары ерекше рөл атқарады. Бұл комментарилер тек қана программистке емес сонымен қоса соңғы қолданушыға басқа біреу жасаған функция туралы қысқаша мәлімет алып, танысу үшін арналған. Осылайша бұл жолдарды функция туралы өте жақсы документтелген қысқа анықтама болуы керек. Бұл анықтаманы функцияны қолданатын кез келген қолданушы алуына мүмкіндік бар, егер мына команданы орындаса:



help MatrPraco1

Бұл бастапқы комментарилер жолы функцияны онда қамтылатын текстік фрагменттер бойынша іздеу үшін де қолданылады. Мұндай ізденіс келесі команданың көмегімен жүзеге асады:



lookfor текст –all

type функция_аты

Ақыры type функциясы атты командасы (командалық терезе) М- функциясының толық мәтінін оның барлық коммитерилерімен қоса басып шығарады.

Енді М – функциясының синтаксистік аспектілерін үйренуді жалғастырайық. Соның ішіндегі жасалған функциялардың шақырылуы MATLAB жүйесінің командалық терезесінен немесе басқа функциялардың мәтінінен орындалады.

Әртүрлі аттары сәйкес М-функциялар компьютер дискісіндегі кез келген каталогтарда орналасуы мүмкін. Нәтижесінде М – функцияны шақыру кезінде MATLAB жүйесі нақты функцияны таңдау айқын анықталған критериді басшылыққа алу керек.

Функцияны шақыру синтаксисі көптеген программалау тілдері үшін бірдей: функцияның аты жазылады, содан кейін жақша ішінде үтірлер арқылы кіретін параметрлер саналады. Таңдап алынған параметрлер сандық мәндер, айнымалы аттары, сонымен қоса өрнектер берілген болса, онда нақты есептеулер осы айнымалылардың көшірмелері бойынша жүзеге асады .

М-функциямен пайдаланушының интерактивті әрекеттесуі

М-тілде пайдаланушымен интерактивті әрекеті үшін арнайы функциялардың қатары көрсетілген. Disp функциясы Matlab жүйесінің командалық терезесіне аралық шешім үшін пайдаланылады. Сандық және символды массив үшін disp функциясын жалғыз аргументпен шақырады. Төменде мысал көрсетілген:



S=0; i=1

while 1

S=S+1/i;

str=sprintf(‘i=%d S=%f’, I,S);

disp(str)

i=i+1;

if rem (I, 100)==0

ans=input(‘Stop? Answer=’,’S’);

if ans==’y’;

return

end

end

end

мұнда disp функциясымен барлық аралық қосынды қатары шешімі Matlab жүйесінің командалық терезесіне шығарылады. Егер пайдаланушы перне тақтадан ‘y’ латын символын енгізсе, онда есептеу тоқтатылады, яғни return функциясынан жылдам шығатын оператор орындалады. Перне тақтадан ақпаратты енгізу және ans айнымалысының мәні input функциясымен жүзеге асады. Екінші аргумент бойынша input функциясын ‘S’ символ қолданылады, яғни input функциясы символды мән қабылдау керек.

Енді жаңа sprintf функциясын пайдаланайық, мүнда өз аргументінің мәні шығу жолына ығыстырады.

1-суретте Matlab жүйесінің командалық терезесі көрсетілген, мұнда мысалға ағымдағы қосынды қатарының 10 мәні үшін 12 367 мүшесін осы қатарға қосындылау керек:





1-сурет


Ескерпелі хабарлама шығару кезінде disp функциясының орнына warning функциясын қолданған тиімді, яғни оның командалық терезеден шығуы өте басым болады, егер келесі команда орындалса:

warning off

warning функциясының қайта жаңарып шығуы келесі команда көмегімен жүзеге асады:

warning on

Егер М-функция денесінде осы немесе басқа қате жағдайда код табылса, онда М-функцияның шығуын тоқтатып error функциясын шақырамыз. Мысалы, төменде функция көрсетілген, яғни мұнда сандық скалярлы параметрге кері шаманы есептейді:

function y=Inverse(x)

if x==0

error (‘Division by zero’)

else

y=1./X;

end
Ұсынылатын әдебиет:

1.Статистический анализ данных в пакете Mathcad Радченко Т.А., Дылевский А.В, Воронеж, 2004




Достарыңызбен бөлісу:
1   2   3   4   5   6




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет