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 » Problema metode numerice
[Subiect nou]   [Răspunde]
[Prima pagină]   « [1] [2]
Autor Mesaj
sPdMM
Grup: membru
Mesaje: 7
30 Jun 2012, 18:34

[Trimite mesaj privat]


chiar nu reusesc sa scriu acea formula de Cuadratura....... deja simt ca imi explodeaza creierii. (incerc sa inteleg ceva, dar realizez ca din explicatia lui nu inteleg altceva.. si tot asa deja nu mai inteleg din nou nimic)

Sunt stresat de faptul ca nu voi reusi sa merg la maririle la care mi-am propus din cauza acestui examen...

Nu inteleg scopul daca calculatorul imi spune exact cat face acea integrala , atunci eu ce rutina sa mai scriu .. adica pentru primul interval cu substitutia sinx=x din explicatia ta vad ca obtin 1/3 10^-18 adica vreo 17 zecimale corecte.

si anume 0.01*log(0.01)-0.01 =-0.056051701859

Bun pe a doua parte adica de la (0.01, Pi/2) vad ca o poate calcula PRI/GP si zice ca este -1.032741287736...

pai integrala mea nu e suma acestor doua valori ? ce rutina sa mai scriu in matlab?

la partea a doua a explicatiei tale -1/2 este asimptota de care... nu mai pricep nimic. imi cer scuze.

gauss
Grup: Administrator
Mesaje: 6933
01 Jul 2012, 00:12

[Trimite mesaj privat]


Cateva note:

PARI/GP este un programel de fapt, codul este scris urat, poate chiar la fel de urat ca cel din matlab. Este ceva pentru secolul trecut. In orice caz, pari este foarte efectiv, rutinele pun accentul pe preciie si rapiditate. Totul este scris in C++(--).

Help-ul este cat de cat la locul lui.
Este o punte buna intre matematica si numerica, deoarece arata repede care este limita cunoasterii actuale.

sage, mai exact sagemath ca sa fie ceva usor cautabil pe net, vine cu tot comfortul unui limbaj de programare orientat pe obiecte, anume python, mai exact interfata profita de ipyton, iron inseamna aici ca putem folosi extinderea naturala (cu TAB) de comenzi. Cine intelege cat de cat sage poate incerca o bursa la facultatea unde este si William Stein, sau in apropiere. Cei ce incep acolo un studiu sunt mult sub nivelul (bacalaureatului) din Romania, dar prin tenacitate, munca si studiu condus profesional ajung in doi ani acolo unde se termina doctoratele in Romania. (Intr-o statistica de 50%.)

Diferenta este valoarea imensa a studiului din USA, studiul costa zeci de mii de $ pe an. Dupa studiu, valoarea celui ce a trecut prin acest studiu este dublul banilor investiti. Scriu aceste lucruri nu pentru a incuraja lumea sa schimbe continentul, ci pentru a intelege valoarea unui studiu. (Schimbarea continentului nu este o afacere usoara, sunt problemele de limba si integrare, de suport moral si rezistenta intr-o lume noua. Cei cu nervii tari si vointa pot incerca. Ceilalti sunt rugati sa ramana in sanul familiei.) In orice caz, este vorba de cunostintele insusite si de experienta si maturitatea (matematica) care pot fi dobandite in studiu. In mai putin de 10 ani o parte din munca de informatica va fi usor transferabila. Combinatia engleza+matematica+familie undeva in lume este cea care va face o viata normala multora dintre cei ce azi iau studiul in serios.



Inapoi la sagemath.
Pentru python sunt deja biblioteci scrise care rezolva problemele de mai sus.
De exemplu:
http://www.scientificpython.net/1/post/2012/04/gausslegendre1.html
arata ce poate python fara alte ajutoare decat numpy & CO. (sympy este in aceasta CO.), biblioteca "numerical python" cu cateva mici rutine. Partea de numerica necesara rezolvarii de probleme este oricum de partea creierului programatorului.

Exista nenumarate surse de documentare care explica in acelasi timp atat partea de matematica cat si cea de numerica. Pentru sage eu m-as uita pe
http://cannelle.lateralis.org/sagebook-1.0.pdf
care nu se gaseste usor,
pe pagina "oficiala" sunt nenumarate pdf-uri libere!


Pentru gp/pari (parte din sage...)
http://pari.math.u-bordeaux.fr/pub/pari/manuals/2.3.3/users.pdf
este o sursa seaca, doar ghidul utilizatorului, poate ca ceva mai mult / putin este aici
http://www.math.uiuc.edu/~r-ash/GPTutorial.pdf


---
df (gauss)
gauss
Grup: Administrator
Mesaje: 6933
01 Jul 2012, 00:28

[Trimite mesaj privat]


[Citat]

la partea a doua a explicatiei tale -1/2 este asimptota de care... nu mai pricep nimic. imi cer scuze.


sa zicem ca vrem sa calculam integrala improprie a functiei 1/sqrt(x) de la 0 la 1. Functia face probleme la zero, dar primitiva este o functie ce se poate extinde continuu cu 0 in 0. Daca incercam direct avem succes, pentru ca pari a fost educat in acest sens. Daca incercam insa cu

? intnum( x = 0, eps, log( 1+x^(-1/2) ) )
*** intnum: gpow: 0 to a non positive exponent.

avem probleme, pari nu a fost educat pentru toate problemele cu asimptotica, trebuie sa-l ajutam. Sa calculam de exemplu in sage:

sage: limit( log( 1+x^(-1/2) ) , x=0 )
Infinity
sage: limit( log( 1+x^(-1/2) ) / x^(-1/100) , x=0 )
0

Asta inseamna ca functia log( 1+x^(-1/2) ) tinde ce-i drept la infinit pentru x spre zero (x>0), dar convergenta la infinit este mai slaba decat cea a lui x la puterea -1/100. Ei bine, daca ajutam pari cu aceasta informatie, vedem diferenta...

? intnum( x = 0, eps, log( 1+x^(-1/2) ) )
*** intnum: gpow: 0 to a non positive exponent.
? intnum( x = [0,-1/100] , eps, log( 1+x^(-1/2) ) )
%15 = 0.028668772923658845396667312498886200777611703230730

Sper ca este clar ce inseamna acest ajutor. Desigur ca aici merge si ajutorul cu -1/2 sau -99/100, dar cu cat este exponentul...

? intnum( x = [0,-1/2] , eps, log( 1+x^(-1/2) ) )
%16 = 0.028668772923658845396667312498886200777611703230730
? intnum( x = [0,-99/100] , eps, log( 1+x^(-1/2) ) )
%17 = 0.028668772923658845396667312498886200777611703230730

Eu am scris acel -1/2 repede, nu trebuie intelese toate detaliile si pari intr-o zi. In orice caz, in acest mod vedem repede ce eroare de aproximare facem... Probabil ca si pari face cam acelasi lucru la un anumit prim pas...




---
df (gauss)
gauss
Grup: Administrator
Mesaje: 6933
02 Jul 2012, 02:33

[Trimite mesaj privat]


[Citat]
chiar nu reusesc sa scriu acea formula de Cuadratura....... deja simt ca imi explodeaza creierii. (incerc sa inteleg ceva, dar realizez ca din explicatia lui nu inteleg altceva.. si tot asa deja nu mai inteleg din nou nimic)

Sunt stresat de faptul ca nu voi reusi sa merg la maririle la care mi-am propus din cauza acestui examen...

Nu inteleg scopul daca calculatorul imi spune exact cat face acea integrala , atunci eu ce rutina sa mai scriu .. adica pentru primul interval cu substitutia sinx=x din explicatia ta vad ca obtin 1/3 10^-18 adica vreo 17 zecimale corecte.

si anume 0.01*log(0.01)-0.01 =-0.056051701859

Bun pe a doua parte adica de la (0.01, Pi/2) vad ca o poate calcula PRI/GP si zice ca este -1.032741287736...

pai integrala mea nu e suma acestor doua valori ? ce rutina sa mai scriu in matlab?

la partea a doua a explicatiei tale -1/2 este asimptota de care... nu mai pricep nimic. imi cer scuze.


  • Da, pari poate calcula suficient de bine numeric, mai mult, avem valoarea exacta a integralei, asta este. Este ca si cum am pune un elev de clasa a VI-a sa incerce sa gaseasca zecimala cu zecimala radicalul lui 5 cand o recursiune face rost de o convergenta patratica. Scopul este modest, dar didactic, doar cel de a da o problema care poate ilustra cele din curs.
    Cei ce pot mai mult sunt rugati sa faca un pas inainte.
    Este ceea ce spun tot timpul, studiu si tenacitate. Nu ajunge luarea lucrurilor asa cum vin. Ambele parti ale invatamantului fac treaba lor in mod legitim!

    Un curs de anul I de faculatate, fara o analiza functionala cat de cat bine pusa la punct nu poate face mai mult decat cuadraturi si interpolare. Teorema de punct fix a lui Banach este extrema...

  • Inca o data, sa vedem ce calculeaza pari:

    ? eps = 0.01
    %7 = 0.010000000000000000000000000000000000000000000000000
    ? eps = 0.01;
    ? intnum( x = [0,-1/2], eps, f(x) )
    %9 = -0.056051757415547580850934701037200059050259078972294
    ? eps*log(eps) - eps
    %10 = -0.056051701859880913680359829093687284152022029772575
    ? intnum( x = [0,-1/2], eps, f(x) ) - (eps*log(eps) - eps)
    %11 = -0.000000055555666667170574871943512774898237049199718558838

    Cum am spus mai sus, eroarea pe care o facem este previzibila de la inceput!
    Numarul acela cu 555..5666..6 probabil ca nu vine din intamplare. Asa si este.
    Ajunge de exemplu sa scriem ceva de forma:

    Asta este, analiza nu glumeste. Pur si simplu facem o aproximare care ne duce cam departe de valoarea cautata. Dar nu departe destul, formulele de quadratura sunt si ele modeste.


  • Cum stau lucrurile cu formula de cuadratura?
    Se pare ca trebuie scris / copiat codul din cartea de 469 de pagini a profesorului, file-ul este cursanst.* de pe pagina lui,
    Sursa MATLAB 7.5. Generare de formula Gauss-Legendre
    de la pagina 282,
    si adaptat problemei de fata. Problema poate presupune chiar acest efort minim din partea celui ce rezolva.

    Eu nu am si nu vreau sa am matlab pe placa, asa ca nu pot face aici nimic.
    Textul care prezinta in subsectiunea 7.3.3 proprietatile cuadraturilor gaussiene este bine scris, ce-i drept teoretic in mare parte, dar in orice caz bine sistematizat.

    Daca sunt intrebari despre textul respectiv, cu incredere.
    Trebuie sa ma gat aici, azi am o zi grea de munca.




  • ---
    df (gauss)
    [Prima pagină]   « [1] [2]


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