СТАТИИ ЗА НАСТАВАТА ПО МАТЕМАТИКАСе залагаме за зголемување на свеста за местото и улогата на математиката во науките, технологијата, наставата, природата и културата.
|
ПРИКАЗ НА ИЗВОД НА ФУНКЦИЈА СО ДИНАМИЧКИ СОФТВЕР
Слика 1. Графички приказ на искачување по планина
|
Толкувањето на извод како стрмност на функција е интуитивно и визуелно разбирливо. Терминот стрмност потсетува на планинарење, од каде следува следната паралела: Еден пат по планина може да се следи како график на функција. Планинарот има x и y координата, каде y е функција од x (Слика 1). Аналогно, правецот на движењето по планината / патот наликува на тангента која се движи по крива. Чувството на планинарот за стрмност во одредена точка од патот, соодветствува на коефициентот на правец на тангентата.
|
Висината на планинарот може да се определи релативно или апсолутно. Имено, релативна би била висината во произволна точка во споредба со висината која ја има во почетната позиција. Апсолутната висина би се определила според надморската висина на која се наоѓа планинарот во даден момент. Очигледно е дека стрмноста не зависи од начинот на определување на висината. Во кој било момент од качувањето, планинарот ја споредува моменталната висина со висината на околната површина. Според тоа, изводот на функцијата не зависи од апсолутната висина на функцијата, туку од множеството точки кои ја опкружуваат точката која ја разгледуваме. Конкретно, константите собироци во една функција не влијаат на нејзиниот извод. При определување на моменталната висина, планинарот го разгледува околниот релјеф. Нека видното поле на планинарот е ограничено на патот кој е зад него. Со други зборови, планинарот оди нанапред додека гледа наназад. Во тој случај, стрмноста на патеката во даден момент ја определува гледајќи ги поминатите делови од патот што се најблизу до него. Аналогно, определување на лев извод од функција во дадена точка се постигнува со споредување на вредноста на функцијата во дадената точка, со вредностите на точките што се лево од неа. Истото важи и за определувањето на десниот извод, кој за планинарот е поприроден.
Во овој труд е изложено упатство за изградба на динамички аплет во програмата GeoGebra, со чија помош се доловува чувството за стрмност на една функција. Истовремено, интуицијата зад користењето на лимес кај диференцијалното сметање е визуелно прикажана.
1. Наредби во GeoGebra кои ќе бидат користени
Во овој труд е изложено упатство за изградба на динамички аплет во програмата GeoGebra, со чија помош се доловува чувството за стрмност на една функција. Истовремено, интуицијата зад користењето на лимес кај диференцијалното сметање е визуелно прикажана.
1. Наредби во GeoGebra кои ќе бидат користени
Point(<List>) - точка
List - листа од два елементи, т.е. координати на точката Segment(<Point A>,<Point B>) - отсечка што поврзува две точки Sequence(<Expression>,<Variable i>,<Start Value a>,<End Value b>,<Increment>) - низа Expression - наредбата која се извршува во секој циклус Variable i - променливата што ќе се менува со секој чекор од циклусот Start Value a - почетна вредност на i End Value b - крајна вредност на i Increment - чекорот што го зазема i по извршување на еден циклус <Sequence niza>(<Index n>) - n-ти елемент од низата niza, n ε Ν x(<Point>) - x координата на точка (за y координатa: y(<Point>)) Length(<Sequence>) - број на елементи во дадена низа Line(<Point A>, <Point B>) - права повлечена низ две точки If(<Condition>, <Expression A>, <Expression B>) Condition - услов, односно логички израз кој дава вредност точно или неточно како повратна вредност Expression A - наредба што ќе се изврши доколку изразот е точен Expression B - наредба што ќе се изврши во случај изразот да не е точен |
Динамичкиот аплет кој е објаснет во продолжение, претставува пакет од повеќе интерактивни анимации. Секако, истите се меѓусебно поврзани, но постои опција само една од нив да биде прикажана во даден момент. Истото овозможува пренасочување на фокусот од еден кон друг дел од интуицијата за извод на функција. Целокупната функционалност е сместена во еден аплет, достапна преку checkbox-ови и поместувачи. Готова / завршена верзија од истиот аплет е достапна на следниот линк: https://www.geogebra.org/graphing/y6kmbk9m.
Програмата се состои од 3 дела (прикази):
2. Пишување на кодот за аплетот
За добивање на низа од точки кои се апроксимација за функцијата f(x), наредбата за низа изгледа вака:
Tochki = Sequence(Point({i, f (i)}), i, − 10, 10, 1/freq),
каде freq е променлива чија вредност го кажува бројот на точки чии х координати се помеѓу секои два цели броеви. Потребно е истите да бидат меѓусебно поврзани, за таа цел се прави низа од отсечки:
Otsechki = Sequence(Segment(Tochki(i), Tochki(i + 1)), i, 0, 20 * freq),
при тоа, 20 * freq е бројот на точки кои ги користиме за апроксимација, истовремено број на елементи на низата Tochki. Замена за овој израз е Length(Tochki).
За пресметување на (десен) извод во дадена точка се разгледува нејзината соседна точка. Конкретно, за дадена точка со координати (x1, f (x1)) и нејзина соседна точка (x2, f (x2)) , изводот во првата се апроксимира како однос од прирастите на вредноста на функцијата и аргументот:
Програмата се состои од 3 дела (прикази):
- премин на секанта во тангента
- лимес-стил апроксимација на функција и извод на истата
- изводот како лимес од односот на растот на функцијата и растот на аргументот
2. Пишување на кодот за аплетот
За добивање на низа од точки кои се апроксимација за функцијата f(x), наредбата за низа изгледа вака:
Tochki = Sequence(Point({i, f (i)}), i, − 10, 10, 1/freq),
каде freq е променлива чија вредност го кажува бројот на точки чии х координати се помеѓу секои два цели броеви. Потребно е истите да бидат меѓусебно поврзани, за таа цел се прави низа од отсечки:
Otsechki = Sequence(Segment(Tochki(i), Tochki(i + 1)), i, 0, 20 * freq),
при тоа, 20 * freq е бројот на точки кои ги користиме за апроксимација, истовремено број на елементи на низата Tochki. Замена за овој израз е Length(Tochki).
За пресметување на (десен) извод во дадена точка се разгледува нејзината соседна точка. Конкретно, за дадена точка со координати (x1, f (x1)) и нејзина соседна точка (x2, f (x2)) , изводот во првата се апроксимира како однос од прирастите на вредноста на функцијата и аргументот:
Запишано во GeoGebra, со користење на Претходно дефинираното множеството од точки (Tochki), изводот се дефинира на следниот начин:
Izvod_vo_tochka = (y(Tochki(2)) − y(Tochki(1))) / (x(Tochki(2)) − x(Tochki(1)))
Истото е направено за секоја точка од Tochki:
Izvod = Sequence(Point({x(Tochki(i)), (y(Tochki(i + 1)) − y(Tochki(i))) / (x(Tochki(i + 1)) − x(Tochki(i))}), i , 0, 20 * freq).
За да се поврзат секоја со секоја од овие точки се постапува исто како кај Otsechki:
Izvod_otsechki = Sequence(Segment(izvod(i), izvod(i + 1)), i, 0, 20 * freq).
Моментален изглед на програмата е прикажан на Слика 2.
Izvod_vo_tochka = (y(Tochki(2)) − y(Tochki(1))) / (x(Tochki(2)) − x(Tochki(1)))
Истото е направено за секоја точка од Tochki:
Izvod = Sequence(Point({x(Tochki(i)), (y(Tochki(i + 1)) − y(Tochki(i))) / (x(Tochki(i + 1)) − x(Tochki(i))}), i , 0, 20 * freq).
За да се поврзат секоја со секоја од овие точки се постапува исто како кај Otsechki:
Izvod_otsechki = Sequence(Segment(izvod(i), izvod(i + 1)), i, 0, 20 * freq).
Моментален изглед на програмата е прикажан на Слика 2.
Слика 2. Моментален изглед на прогамата (заедно со поместувачи).
Следно, за приказот на тангентата се користи функција:
p(x) = y(izvod(indeks)) * (x − a) + y(izvod(indeks)),
каде a е апцисата на точката во која тангентата ја допира [апроксимацијата на] кривата, додека
index = (a + 10) * freq + 1.
Притоа, за да се добие индексот на елементот во низата што одговара на точката со апциса a, се додава 10, па се множи изразот со freq за да се опфатат сите ненулти броеви, конечно се додава 1 за нулата.
Следен дел од оваа програма е приказ на преминот од секанта во тангента. За таа цел, се додава checkbox (sekanta) чија вредност менува дали изводот се определува помеѓу две соседни точки, или на повеќе. Растојанието помеѓу точките од кои ке се гледа тангентата, воедно изводот, е контролирано со h . Минимална вредност на h е 1/freq. Тангентата се црта со наредбата:
tangenta(x) = If(sekanta, s, p),
каде p е претходно-дефинираната функција за тангента, додека
s = Line(Point({a, f (a)}), Point({a + h, f (a + h)})).
Алтернативно, наместо да се внесуваат двете точки дирекно во наредбата, може надворешно да бидат дефинирани:
A = Point({a, f (a)}),
B = Point({a + h, f (a + h)}).
Притоа, кај Settings на B, во пределот Advanced, потребно е да се внесе “sekanta” во полето “Condition to show object”. Следува модификација на изразот за низата Izvod:
Izvod = Sequence(Point({x(Tochki(i)), (y(Tochki(i + h * freq)) − y(Tochki(i)))/h}), i , 0, 20 * freq).
На Слика 3 е прикажан моменталниот изглед на програмата.
p(x) = y(izvod(indeks)) * (x − a) + y(izvod(indeks)),
каде a е апцисата на точката во која тангентата ја допира [апроксимацијата на] кривата, додека
index = (a + 10) * freq + 1.
Притоа, за да се добие индексот на елементот во низата што одговара на точката со апциса a, се додава 10, па се множи изразот со freq за да се опфатат сите ненулти броеви, конечно се додава 1 за нулата.
Следен дел од оваа програма е приказ на преминот од секанта во тангента. За таа цел, се додава checkbox (sekanta) чија вредност менува дали изводот се определува помеѓу две соседни точки, или на повеќе. Растојанието помеѓу точките од кои ке се гледа тангентата, воедно изводот, е контролирано со h . Минимална вредност на h е 1/freq. Тангентата се црта со наредбата:
tangenta(x) = If(sekanta, s, p),
каде p е претходно-дефинираната функција за тангента, додека
s = Line(Point({a, f (a)}), Point({a + h, f (a + h)})).
Алтернативно, наместо да се внесуваат двете точки дирекно во наредбата, може надворешно да бидат дефинирани:
A = Point({a, f (a)}),
B = Point({a + h, f (a + h)}).
Притоа, кај Settings на B, во пределот Advanced, потребно е да се внесе “sekanta” во полето “Condition to show object”. Следува модификација на изразот за низата Izvod:
Izvod = Sequence(Point({x(Tochki(i)), (y(Tochki(i + h * freq)) − y(Tochki(i)))/h}), i , 0, 20 * freq).
На Слика 3 е прикажан моменталниот изглед на програмата.
Слика 3. Моменталниот изглед на програмата по додавањето на функционалноста на секантата
(прокажани се само отсечките)
(прокажани се само отсечките)
Додатна опција која може да се додаде е autoMove, уште еден checkbox. Во делот Settings на променливата a постои опција да се извршува наредба секој пат кога вредноста на a ќе се смени (Settings > Scripting > On Update). Во полето за внес се вметнува следната линија код:
If(autoMove, CenterView((a + h/2, 0))),
и со ова, екранот се движи заедно со точките. Пожелно е графикот од апроксимацијата на изводот на f (x) да биде покажан до точката која ја разгледуваме. Поточно, интервалот на кој изводот ќе биде дефиниран доколку се намали на [-10,a], приказот ќе биде почист. За да се постигне ова треба да се дефинира нова функција:
trace = Sequence(Izvod otsechki(i), i, 1, index − 1).
Притоа, наредбата е всушност одделување на сите елементи кои се пред елементот кој одговара на моменталната вредност на a.
Последниот дел од оваа програма го анализира изводот како однос помеѓу прирастот на вредноста на функцијата и прирастот на аргументот. Се додава checkbox (triagolnik), кој одредува дали триаголникот, кој ги поврзува двете точки, е видлив или не.
Pravoagolen_triagolnik = Polygon((a+h, f(a)), (a+h,f(a+h)), (a, f(a)))
Или, во случај А и B да се дефинирани посебно со А=({a,f(a)}) и B=({a+h,f(a+h)}):
Pravoagolen_triagolnik = Polygon((x(B), y(A)),A,B).
Се препорачува да се дефинира аголот што лежи кај темето А (Во Settings на аголот, интервалот треба да биде намален на 0°-180°):
Agol = Angle((x(B), y(A)),A,B).
Исто, во поместувањата на pravoagolen_triagolnik (фигурата) и agol, треба во пределот Advanced > Condition to show object, да се внесе “triagolnik”. Пожелно е во истиот предел кај triagolnik (checkbox-от), да се внесе “sekanta”.
Конечниот изглед на програмата е прикажан на Слика 4. Примери за други функции кои можат да се разгледуваат со овој аплет се прикажани во галеријата на Слика 5 - Слика 9.
If(autoMove, CenterView((a + h/2, 0))),
и со ова, екранот се движи заедно со точките. Пожелно е графикот од апроксимацијата на изводот на f (x) да биде покажан до точката која ја разгледуваме. Поточно, интервалот на кој изводот ќе биде дефиниран доколку се намали на [-10,a], приказот ќе биде почист. За да се постигне ова треба да се дефинира нова функција:
trace = Sequence(Izvod otsechki(i), i, 1, index − 1).
Притоа, наредбата е всушност одделување на сите елементи кои се пред елементот кој одговара на моменталната вредност на a.
Последниот дел од оваа програма го анализира изводот како однос помеѓу прирастот на вредноста на функцијата и прирастот на аргументот. Се додава checkbox (triagolnik), кој одредува дали триаголникот, кој ги поврзува двете точки, е видлив или не.
Pravoagolen_triagolnik = Polygon((a+h, f(a)), (a+h,f(a+h)), (a, f(a)))
Или, во случај А и B да се дефинирани посебно со А=({a,f(a)}) и B=({a+h,f(a+h)}):
Pravoagolen_triagolnik = Polygon((x(B), y(A)),A,B).
Се препорачува да се дефинира аголот што лежи кај темето А (Во Settings на аголот, интервалот треба да биде намален на 0°-180°):
Agol = Angle((x(B), y(A)),A,B).
Исто, во поместувањата на pravoagolen_triagolnik (фигурата) и agol, треба во пределот Advanced > Condition to show object, да се внесе “triagolnik”. Пожелно е во истиот предел кај triagolnik (checkbox-от), да се внесе “sekanta”.
Конечниот изглед на програмата е прикажан на Слика 4. Примери за други функции кои можат да се разгледуваат со овој аплет се прикажани во галеријата на Слика 5 - Слика 9.
Слика 4. Финален изглед на програмата.
3. Заклучок
GeoGebra како развојна околина нуди алатки преку кои се гледа нејзиниот потенцијал за употреба. Има верзии достапни за било кој оперативен систем, како и веб-верзија. Распространетоста и фактот што е бесплатна и едноставна за користење, ја прави оваа програма погодна за професори, студенти, па и ученици. Создавањето проекти преку оваа програма, ги прави истите лесно преносливи (во форма на линк или фајл), последователно забрзувајќи го целиот процес на нивно ширење. Инкорпорирање на активности кои вклучуваат визуелни елементи, ја збогатува наставата и дава осет за длабочината на математиката. Идејата за диференцијално сметање најлесно е изложлива геометриски. Секако, има повеќе начини за тоа, оваа програма е само еден пример.
ГАЛЕРИЈА
GeoGebra како развојна околина нуди алатки преку кои се гледа нејзиниот потенцијал за употреба. Има верзии достапни за било кој оперативен систем, како и веб-верзија. Распространетоста и фактот што е бесплатна и едноставна за користење, ја прави оваа програма погодна за професори, студенти, па и ученици. Создавањето проекти преку оваа програма, ги прави истите лесно преносливи (во форма на линк или фајл), последователно забрзувајќи го целиот процес на нивно ширење. Инкорпорирање на активности кои вклучуваат визуелни елементи, ја збогатува наставата и дава осет за длабочината на математиката. Идејата за диференцијално сметање најлесно е изложлива геометриски. Секако, има повеќе начини за тоа, оваа програма е само еден пример.
ГАЛЕРИЈА
Слика 9. f(x) = |sin(x)|
Користена литература:
[1] Упатство за користење на Geogebra (https://wiki.geogebra.org/en/Manual)
Автор:
Давид Гичев IV-1, СУГС Георги Димитров, Скопје
Обработена тема како дел од додатната настава по математика во учебната 2018-2019 година
Професор:
м-р Јасмина Маркоска
Објавено на ПОИМ:
15 април 2019
Начин на цитирање на статијата:
Д. Гичев, Приказ на извод на функција со динамички софтвер, Портал ПОИМ на Институтот за математика, ПМФ, Скопје, 15 април 2019, http://poim-pmf.weebly.com/izvod-na-funkcija-so-dinamicki-softver.html
[1] Упатство за користење на Geogebra (https://wiki.geogebra.org/en/Manual)
Автор:
Давид Гичев IV-1, СУГС Георги Димитров, Скопје
Обработена тема како дел од додатната настава по математика во учебната 2018-2019 година
Професор:
м-р Јасмина Маркоска
Објавено на ПОИМ:
15 април 2019
Начин на цитирање на статијата:
Д. Гичев, Приказ на извод на функција со динамички софтвер, Портал ПОИМ на Институтот за математика, ПМФ, Скопје, 15 април 2019, http://poim-pmf.weebly.com/izvod-na-funkcija-so-dinamicki-softver.html
Авторизираните статии објавени на Порталот подлежат на законска заштита. Се забранува користење на статиите без наведување на авторот или изворот.