Bine ai venit guest
 
User:
Pass:

[Creare cont]
[Am uitat parola]
iBac = materialul ULTRACOMPLET de pregătire pentru bac la mate. Dacă vrei poţi.
Forum pro-didactica.ro  [Căutare în forum]

Forum » Cereri de rezolvări de probleme » punctele de extrema ale unei functii
[Subiect nou]   [Răspunde]
[1]
Autor Mesaj
vero2010
Grup: membru
Mesaje: 16
02 Jun 2010, 01:31

[Trimite mesaj privat]

punctele de extrema ale unei functii    [Editează]  [Citează] 

Sa se calculeze punctele extreme ale functiei :


Va rog sa ma ajutati cu rezolvarea .Multumesc.

gauss
Grup: Administrator
Mesaje: 6933
30 May 2010, 04:59

[Trimite mesaj privat]


[Citat]
Sa se calculeze punctele extreme ale functiei :


Domeniul (real) maximal de definitie al functiei de mai sus este

deoarece trebuie sa asiguram ca sub radical sta un numar nenegativ si ca numitorul nu se anuleaza.

Cu definitia mea a unui punct de extrem local, punctul zero este extrem local.

Pentru celelalte extreme locale, putem deriva. Derivata este (folosesc un program...):

sage: f(x) = sqrt( x^4-5*x^2) / (x-5 )
sage: f.differentiate().factor()
x |--> x*(x^3 - 10*x^2 + 25)/((x - 5)^2*sqrt(x^2 - 5)*sqrt(x^2))

Deci avem de inteles unde se anuleaza aceasta expresie (si isi schimba semnul la trecerea punctului critic in cauza), deci ne uitam pe indelete la functia de gradul III...

Calculam cateva valori mai importante pentru scopurile noastre:

sage: g(x) = x^3 - 10*x^2 + 25
sage: for a in [ -2, -1, 0, 1, 2, 9, 10 ]:
....: print "g(%s) = %s" % ( a, int(g(a)) )
....:
g(-2) = -23
g(-1) = 14
g(0) = 25
g(1) = 16
g(2) = -7
g(9) = -56
g(10) = 25

g are deci cele trei radacini toate reale, localizate dupa cum urmeaza:
- prima intre -2 si -1, nu ne intereseaza, deoarece e in afara domeniului lui f
- a doua intre +1 si +2, nu ne intereseaza, deoarece e in afara domeniului lui f
- a treia intre 9 si 10, in sfarsit ceva interesant. Notam aceasta radacina cu b.

Atunci b este radacina simpla pentru g, deci f' schimba semnul la trecerea din stanga la dreapta prin b pe axa reala, deci b este extrem local. O scriere prin radicali poate fi data, dar e relativ complicata. Valoarea aproximativa a lui b este printre cele de mai jos:

sage: solutii = solve( g(x) == 0, solution_dict=True )
sage: for solutie in solutii:
....: print solutie[x].n( digits=10 )
....:
1.739689839
-1.475962885
9.736273046



---
df (gauss)
vero2010
Grup: membru
Mesaje: 16
30 May 2010, 11:24

[Trimite mesaj privat]


Deci avem de inteles unde se anuleaza aceasta expresie (si isi schimba semnul la trecerea punctului critic in cauza), deci ne uitam pe indelete la functia de gradul III...

Calculam cateva valori mai importante pentru scopurile noastre:

sage: g(x) = x^3 - 10*x^2 + 25
sage: for a in [ -2, -1, 0, 1, 2, 9, 10 ]:
....: print "g(%s) = %s" % ( a, int(g(a)) )
....:
g(-2) = -23
g(-1) = 14
g(0) = 25
g(1) = 16
g(2) = -7
g(9) = -56
g(10) = 25

g are deci cele trei radacini toate reale, localizate dupa cum urmeaza:
- prima intre -2 si -1, nu ne intereseaza, deoarece e in afara domeniului lui f
- a doua intre +1 si +2, nu ne intereseaza, deoarece e in afara domeniului lui f
- a treia intre 9 si 10, in sfarsit ceva interesant. Notam aceasta radacina cu b.

Atunci b este radacina simpla pentru g, deci f' schimba semnul la trecerea din stanga la dreapta prin b pe axa reala, deci b este extrem local. O scriere prin radicali poate fi data, dar e relativ complicata. Valoarea aproximativa a lui b este printre cele de mai jos:

sage: solutii = solve( g(x) == 0, solution_dict=True )
sage: for solutie in solutii:
....: print solutie[x].n( digits=10 )
....:
1.739689839
-1.475962885
9.736273046


Pana la functia de gradul 3 o rezolvasem si eu , dar ma inpotmolisem aici.Ai putea te rog sa-mi explici cum ai rezolvat ecuatia si cum ai gasit acele valori ca nu prea am inteles cum ai gasit aceste numere [ -2, -1, 0, 1, 2, 9, 10 ]
Multumesc anticipat

gauss
Grup: Administrator
Mesaje: 6933
02 Jun 2010, 00:21

[Trimite mesaj privat]


Functia

nu are radacinile rationale. Am verificat acest lucru repede cu computerul cu un cod asemanator cu cel mentionat mai sus. Eu folosesc in ultima vreme pentru multe probleme de matematica mai mult sau mai putin teoretica sage,
www.mathsage.org, dar adevarul este ca sub acest nume se ascund toate softurile matematice LIBERE (CAS ~ computer algebra systems) pe care le-am cunoscut si folosit intens in ultima decada. Am renuntat de mult la a fi purist in locuri in care puterea de calcul este mai bine rezolvata de cei ce-au implementat toti algoritmii de calculat de la vechii egipteni pana Fermat, Newton, Euler, Gauss, Riemann, Hilbert...

In fine, aici am de verificat doar daca -1,1, -5,5, -25,25 sunt radacini. Cu ochiul liber se vede ca ultimele doua valori cam sparg cadrul unui grafic pe o foaie normala de hartie, asa ca un plot intre -10 si 10 poate fi riscat la inceput. M-am recorectat cu intervalul [-2,10 ] pana la urma.

Gnuplot (care nu este parte din sage) poate fi folosit pentru a avea un output in latex. De cele mai multe ori insa imi ajunge un rawplot al lui gp/pari. Deoarece aici este un forum si nu am altfel cu cine sa sporovaiesc azi, dau ambele plotari cu cod cu tot. Cel mai simplu si efectiv este desigur partea cu arta ascii (chestie de gust...)


gp are o linie si produce de la sine cadrul...

Partea cu gnuplot este ceva mai complicat de reprodus aci, liniile de comanda sunt relativ usoare, le redau cum vin la mine intr-un terminal linux,


dan@riemann:~/ > gnuplot

G N U P L O T
Version 4.2 patchlevel 2
last modified 31 Aug 2007
System: Linux 2.6.24-27-generic


gnuplot> set terminal latex
Terminal type set to 'latex'
Options are '(document specific font)'
gnuplot> gnuplot> plot [x=-2:10] x**3 - 10*x**2 + 25 , 0


ceea ce rezulta insa pentru a fi prelucrat in latex este ceva mai lung... (A se apasa acel [Citeaza] si a se renuntza repede la vizionat in caz de curiozitate maxima).
In latex insa se obtine o imagine clara.

(Acel 0 de dupa definitia lui g insista ca si axa ox sa fie trasata.)




De aici am vazut imediat cum este "mersul" acestui g.
Pentru functia f din enuntz, este relevant sa vedem pe unde sunt localizate radacinile lui g, respectiv daca au vreo relevantza pentru f. De aceea am ales acele puncte, -2,-1 mai intai pentru a vedea prima schimbare de semn, 0 pentru ca este un punct didactic interesant, 1,2 pentru ca mai are loc o schimbare de semn, in sfarsit 9,10 pentru a da de cea de-a treia si ultima in drumul lui g spre infinit.

Nu am facut nimic deosebit.

Valoarea aproximativa a radacinilor mi-am printat-o in sage. La fel de usor ar fi fost in gp/pari, de exemplu:



Deoarece algoritmul lui Newton de aproximat folosit (metoda tangentei construita recursiv) converge "patratic", la fel de repede se pot reproduce primele 400 (sau 1000 sau...) de zecimale, asta daca vrem sa zburam spre luna doar. (Nici macar poezii despre luna nu se mai scriu...)

Mai sus, acel x=9,10 ... cere solutia dintre 9 si 10, noi insa avand de asigurat ca are loc o schimbare de semn.

Mai ales pentru elevi recomand acomodarea cu astfel de "noi instrumente". De ce? Pentru ca lumea s-a schimbat razant. Din pacate, toate sistemele de educatie din lume au o inertie inevitabila. Ajunge sa privim statistic in directia catedrei si a meselor de la inspectorate. Toate lucrurile se vor schimba. Elevii trebuie insa sa vada pentru sine cum vor lucra in 10 pana la 50 de ani.

In plus, sistemele algebrice computerizate calculeaza derivate si integrale intr-o secunda (daca acestea pot fi calculate..). Pozitia unor profesori ar fi periclitata. In loc sa vada o sansa in acest lucru, ca posibilitate unica de a pune punctul pe rana in matematica, nu pe bucataria sterila, efortul de restructurare este enorm. In aceste randuri ma adresez mai ales profesorilor de acum. Nu trebuie sa devina experti in sage de maine, ar fi insa excelent, daca ar delega acelor "hacker"-i din clasa munca de a calcula intr-o linie ceea ce se face la clasa. In cadrul acestei noi diviziuni a muncii, elevii au o motivare imediata de a prinde noul joc al lumii, iar pozitia profesorilor (sinceri) creste pentru ca pentru prima oara apar intrebari ce altfel nu ar fi aparut niciodata. De exemplu, data fiind problema din aceasta sectiune, se poate tipari repede...



plot [sqrt(5.):13]
[-50:50]
sqrt( x**4-5*x**2 ) / (x-5)
, x**3 - 10*x**2 + 25
, 0




Ceea ce au aici nu pot face, sa listez toate experimentele ce pot veni din toate intrebarile, de exemplu acel minim local nu se vede prea bine daca avem scala data, se poate face mult mai usor la "ora"...

Raman desigur dator cu calculul explicit al radacinii dintre 9 si 10...






Calculele sunt nu neaparat simple, dar eu incerc, din nou ajutat de ploturi de computer, sa schitzez drumul.





In ecuatia g(x)=0 schimbam variabila x, pentru a face rost de o ecuatie in care nu apare acel (x patrat).
Substituim:

si obtinem "usor" in y o ecuatie:

Folosind formula cunoscuta

sunt radacinile complexe de ordinul trei ale unitatii diferite de unu, incercam sa ne incadram cu ecuatia noastra in y si sa cautam doua numere a si b care sa ne ajute. Aceste numere ar trebui sa satisfaca

si la nivel de a IX-a ne putem mesteri ecuatii ce au de-a face cu suma si produsul pentru puterile a treia ale lui a si b. Asociem aceasta ecuatie in necunoscuta U, sa zicem,

Rezolvand, dam de

Pentru a face rost explicit de a si b,
trebuie sa extragem radacina de ordinul trei dintr--un numar complex... La sfarsit trebuie sa coordonam valorile lui a si b astfel incat produsul lor sa fie 100/9.

Calculele aproximative le efectuez cu calculatorul, punem mana pe numere, ca sa stim cum stau lucrurile cu adevarat. Notez cu aaa cubul lui a...
Cod, care ar trebui sa fie usor de urmarit...
Cod

aaa = ( 1325 / 27 + I*25*sqrt(399) / 9 ) / 2
print "Print modulul (valoarea absoluta) a lui a este", abs( aaa )
print "Partea reala a lui aaa este", aaa.real()
print "Argumentul lui aaa este:"
alfa = arccos( aaa.real() / abs(aaa) )
print alfa
print "Valoarea lui numerica este (in radiani)"
print alfa.n( digits = 20 )
print "Impartind la 3 obtinem argumentul lui a:", alfa.n( digits = 20 ) / 3.


a = abs( aaa.n( digits = 60 ) )^(1/3) * ( cos(alfa/3) + I*sin(alfa/3) )
b = 100 / 9 / a

a = a.n( digits = 20 )
b = b.n( digits = 20 )

print "a =", a
print "b =", b

print "Tot inlocuind ne legam de 10/3+a+b =", 10./3. + a + b

Listingul incepe cu
Rezultate

sage: aaa = ( 1325 / 27 + I*25*sqrt(399) / 9 ) / 2
sage: print "Print modulul (valoarea absoluta) a lui a este", abs( aaa )
Print modulul (valoarea absoluta) a lui a este
1000
----
27
sage: print "Partea reala a lui aaa este", aaa.real()
Partea reala a lui aaa este
1325
----
54
sage: print "Argumentul lui aaa este:"
Argumentul lui aaa este:
sage: alfa = arccos( aaa.real() / abs(aaa) )
sage: print alfa

53
arccos(--)
80
sage: print "Valoarea lui numerica este (in radiani)"
Valoarea lui numerica este (in radiani)
sage: print alfa.n( digits = 20 )
0.84664496332181142703
sage: print "Impartind la 3 obtinem argumentul lui a:", alfa.n( digits = 20 ) / 3.
Impartind la 3 obtinem argumentul lui a: 0.282214987773937
sage:
sage:
sage: a = abs( aaa.n( digits = 60 ) )^(1/3) * ( cos(alfa/3) + I*sin(alfa/3) )
sage: b = 100 / 9 / a
sage:
sage: a = a.n( digits = 20 )
sage: b = b.n( digits = 20 )
sage:
sage: print "a =", a
a = 3.2014698562611831748 + 0.92827898315221499646*I
sage: print "b =", b
b = 3.2014698562611831748 - 0.92827898315221499646*I
sage:
sage: print "Tot inlocuind ne legam de 10/3+a+b =", 10./3. + a + b

si se termina cu
Tot inlocuind ne legam de 10/3+a+b = 9.73627304585570
Sper ca acestea clarifica ca lucrurile stau mai complicat decat la nivel de liceu pentru a raspunde in detaliu la intrebarea "care este radacina lui g=0 dintre 9 si 10", desi mijloacele le are orice elev de clasa a IX-a. Intelegera fenomenologica (facem asa, dam de asta...) este simpla, dar intelegrea algebrica este o munca de iluzionist pe alocuri. (De asemenea, se vede poate ca pentru a intelege matematica avem nevoie de "prieteni buni", in aceste randuri calculatorul cu multele functii matematice implementate. Faptul ca am recurs la calculator nu este neaparat politicos pe o pagina de didactica, cer scuze pentru aceasta. Situatia este asemanatoare cu cea a filmelor sangeroase cu acord parental la care copiii nu au ce cauta de fapt. Spre deosebire de aceasta situatie, am convingerea ca aici nu se va cere nici acordul si nici nu se va viziona, deci sunt pe partea sigura...)

Acelasi lucru mai pe lung si scurt si cu celalte radacini sunt desigur...
x1 x2 x3

aaa = ( 1325 / 27 + I*25*sqrt(399) / 9 ) / 2
aaa = numerical_approx( aaa )

a = aaa^(1/3)
b = 100./9./a

z = (-1 + I*sqrt(3)) / 2
zz = (-1 - I*sqrt(3)) / 2

x1 = 10./3. + a*z + b*zz
x2 = 10./3. + a*zz + b*z
x3 = 10./3. + a + b

x1 = numerical_approx( x1 )
x2 = numerical_approx( x2 )
x3 = numerical_approx( x3 )

print x1
print x2
print x3

print "Pe de alta parte..."

g(x) = x^3 - 10*x^2 + 25
solutions = solve( g(x) == 0, x, solution_dict=True );
solutions
for sol in solutions:
print sol[x].n(digits=30)

Rezultate:
Rezultate x1 x2 x3

sage: aaa = ( 1325 / 27 + I*25*sqrt(399) / 9 ) / 2
sage: aaa = numerical_approx( aaa )
sage:
sage: a = aaa^(1/3)
sage: b = 100./9./a
sage:
sage: z = (-1 + I*sqrt(3)) / 2
sage: zz = (-1 - I*sqrt(3)) / 2
sage:
sage: x1 = 10./3. + a*z + b*zz
sage: x2 = 10./3. + a*zz + b*z
sage: x3 = 10./3. + a + b
sage:
sage: x1 = numerical_approx( x1 )
sage: x2 = numerical_approx( x2 )
sage: x3 = numerical_approx( x3 )
sage:
sage: print x1
-1.47596288534586 - 8.88178419700125e-16*I
sage: print x2
1.73968983949016 + 1.77635683940025e-15*I
sage: print x3
9.73627304585570 - 3.33066907387547e-16*I
sage:
sage: print "Pe de alta parte..."
Pe de alta parte...
sage:
sage: g(x) = x^3 - 10*x^2 + 25
sage: solutions = solve( g(x) == 0, x, solution_dict=True );
sage: solutions

[{x: (-sqrt(3)*I/2 - 1/2)*(25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3) + 100*(sqrt(3)*I/2 - 1/2)/(9*(25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3)) + 10/3},
{x: (sqrt(3)*I/2 - 1/2)*(25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3) + 100*(-sqrt(3)*I/2 - 1/2)/(9*(25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3)) + 10/3},
{x: (25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3) + 100/(9*(25*sqrt(133)*I/(6*sqrt(3)) + 1325/54)^(1/3)) + 10/3}]
sage: for sol in solutions:
....: print sol[x].n(digits=30)
....:
1.739689839490160382594754323166 - 1.972152263052529513529321413207e-31*I
-1.475962885345860065455980639353 - 1.972152263052529513529321413207e-31*I
9.736273045855699682861226316186 + 4.930380657631323783823303533017e-32*I
sage:



---
df (gauss)
enescu
Grup: moderator
Mesaje: 3403
02 Jun 2010, 00:29

[Trimite mesaj privat]


Sau, ca o alternativ?, putem folosi wolframalpha.com :


Uploaded with ImageShack.us

gauss
Grup: Administrator
Mesaje: 6933
02 Jun 2010, 01:31

[Trimite mesaj privat]


WolframAlpha este intotdeauna o idee buna.
Mathematica (numele programului ce ruleaza) are de asemenea implementate o droaie de functii matematice, pana la mijolcul facultatii nu este nevoie de mai mult si/sau mai bine.

Maple este de asemenea un limbaj CAS (~ computer algebra system) (ceva mai incetinel), care vine (dupa parerea mea) cu un help mai bogat incorporat.
Eu am fost foarte fericit sa vad multele exemple, primele simple, punand punctul pe rana de a da drumul repede la ceva ce merge, fara multe incercari, cele de la sfarsit deseori estetice, ce ating cate un detaliu matematic neasteptat in acel context.

Codul Mathematica mi se pare mai neintuitiv si intotdeauna am avut necazuri in a alege tipul parantezelor ce trebuiau inserate in cod. Maple este aici ceva mai indulgent cu o sintaxa pentru omul de rand.

Ambele programe costa de la o vreme bani.
Deoarece stiu care este parerea poporului roman despre bani si etica, care se imbina simbiotic cu impactul din ce in ce mai mare al religiei adaptate si acestui punct, prefer sa nu mizez pe raspandirea aici a codului corespunzator. (Cer scuze, dar pentru a deveni conform cu mine, nu am pe propriul computer nici unul din cele doua programe de mai sus pe placa.)

Pentru cei ce incearca sa faca primii pasi in matematica cu calculatorul recomand calduros in orice caz atat Mathematica cat si Maple. (Partea cu etica presupun ca este rezolvata la nivel local asa sau asa.) Exista nenumarate fragmente de cod care rezolva probleme de matematica, pasii intermediari fiind condusi de catre calculator. Urmarind astfel de scenarii, cititorul primeste o introducere rapida si palpabila in domenii care altfel ar fi neapucabile.

Mathematica este excelenta pentru grafica.
Daca cineva doreste sa devina expert in efecte 3D si sa lucreze fie pentru efectele speciale din filmele SF ca Matri* sau Jurassic Pa*k, fie pentru o firma japoneza de jocuri pe computere, Mathematica este de un ajutor deosebit! Exista si arta facuta cu ajutorul programului, de ex.
http://gallery.wolfram.com/
Mergeti neaparat pe acolo si dati toate clickurile
Nu am un mod mai bun de a spune ce este mat(h)ematica.

De asemenea, cautand pe goo
Mathematica filetype : pdf
Maple filetype : pdf
se va vedea cata documentare libera este la dispozitie...

Eu tiparesc cod in sage din motive mai duale.
In primul rand, codul este cod python, care este "curat" (clean).
Structura este transparente prin inserare de tabulatori obligatorii.
Parantezele se rezuma la minimum.
In plus sage reuneste toate softurile matematice libere (maxima, gp/pari, singular, gap, ...) si nelibere. Daca cineva are mathematica si/sau maple si/sau magma ((ne)cumparate (inca)) pe placa, poate sa le dea drumul din sage, astfel reunind puterile tuturor softurilor accesibile. (In locul in care intra insa doza de mathematica in priza de sage s-ar putea sa avem insa ceva munca...)
In prim si ultim rand insa e asa, ca se are acces la cod direct.
Utilizatorul poate sa scrie insusi tutorii si sa le publice in comunitate, sa dezvolte cod (de exemplu daca ma stiu cu K-teorie pot implementa in sage contributiile mele modeste prin cateva functii mici si sa le las la liber, un mod de promovare a propriilor rezultate). Acelasi joc nu se poate juca nici pe departe cu mathematica. Daca vreau sa scriu un manual de mathematica trebuie sa bat la usa intai...
Recomand (doar) pentru cei cu etica mai dezvoltata si cu bataie mai lunga sage. Pentru scopuri didactice, sa zicem ca raspuns la intrebarea <<Ce soft sa folosim la informatica cu aplicatii in matematica, fizica si chimie?>> nu exista alternativa (parerea mea subiectiva).

De observat poate in ultimul rand, sage este o programare orientata pe obiecte, una din putinele sanse de a explica la scoala ce sunt obiectele si metodele.
Programarea orientata pe obiecte este in momentul de fatza standard in programare, salvand cod pe mai mult de 20 de ani, facandu-l relativ usor de extins. Se poate completa usor cu o programare "structurata". Cel mai simplu mod de a explica in sage ce este un obiect si ce este o metoda este de a tipari:


sage: a = 7463
sage: a.diTabulator
a.digits a.divide_knowing_divisible_by a.divides a.divisors
sage: a.divTabulator
a.divide_knowing_divisible_by a.divides a.divisors
sage: a.diviTabulator
a.divide_knowing_divisible_by a.divides a.divisors
sage: a.divisTabulator
sage: a.divisors()
[1, 17, 439, 7463]

Numarul a este un obiect "numar intreg" care vine cu "metode care fac sens" pentru el. Gandind in acest mod, oamenii se intreaba in liceu din timp cu ce obiecte lucreaza, ce se poate face cu ele si cum se imbina acestea...

Numarul a vine cu o metoda specifica numerelor intregi, divisors, care se aplica poate ciudat, "dupa" a, ca si cand am vrea sa scriem in loc de f(x) mereu x.f()... Cer scuze, dar asa se asociaza unei "clase" (de ex. "numere intregi") cel mai usor o metoda (de ex. "divisors") care poate fi aplicata pe fiecare instanta a acestei clase (de. ex. a=7463).

Mathematica si Maple sunt excelente pentru a cere raspunsuri implementate algoritmic. Pentru a le combina este uneori nevoie de efort de restructurare. (Dar acest lucru intervine in practica rar...)

In sage este de exemplu posibil sa se raspunda "Cate elemente are grupul matricilor inversabile de marime 9x9 peste corpul cu 7 elemente?" intr-o linie:

sage: GL( 9 , GF(7) ) . order()
237443634207909205360438080389756681126654524500073656592021585920000
sage:
sage: prod( [ 7^9 - 7^i for i in range(9) ] )
237443634207909205360438080389756681126654524500073656592021585920000

Discutia este una despre religie, nu doresc sa convertesc pe nimeni, dar cei ce vad pentru prima oara un lucru pot sa decida pentru sine daca afacerea este grea / meritabila / utila / o noua cutie a Pandorei...


---
df (gauss)
[1]


Legendă:  Access general  Conţine mesaje necitite  47558 membri, 58582 mesaje.
© 2007, 2008, 2009, 2010 Pro-Didactica.ρ