Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Filtru sedimente inainte de pompa?

Paște fericit!

electrician constructor video curs

Cum pot bloca transferul de date ...
 Ce reprezinta in chimie abrevieri...

Google pay ma taxeaza in timp ce ...

Kia Picanto 2022 - Problema motor?

Durere umar AC Joint
 Care este cea mai sanatoasa paine?

Zgomot ritmic ce urmeaza rotirea ...

Merita Lumix FZ82 in 2024?

Nu pot activa Memory Integrity
 Supratensiuni accidentale

Cuțit/ briceag drumetie

Cum am acces la o parte dintr-un ...

Mother's Day
 

Gasire a cat mai multor radacini ale unei ecuatii polinomiale de grad N

- - - - -
  • Please log in to reply
1 reply to this topic

#1
GuyFawkes

GuyFawkes

    Junior Member

  • Grup: Members
  • Posts: 60
  • Înscris: 25.07.2012
Salut.Dupa cum spune titlul , asta incerc sa fac.Eu m-am gandit in felul urmator:
-am luat un interval  de cautare [st,dr] pe care sa-l impart in 1000 de intervale mici de tipul [i,i+pas] , unde pas=(dr-st)/1000
-pentru fiecare interval am cautat o radacina posibila , daca F(radacina) == 0 o pun intr-un vector

double Q(double x , int n)
{
double p = 1;
while(n)
{
	 if(n&1)p*=x;
	 x*=x;
	 n/=2;
}
return p;
}
double F(double x,int niv)
{
	 if(niv==0)
		 return a[0];
	 return Q(x,niv)*a[niv]+F(x,niv-1);
}
double Cauta(double st,double dr)
{
	 if(dr-st<0.0001)
		 return dr;
	 double m;
	 m=(dr+st)/2;
	 if(F(st,n)*F(m,n) < 0)
		 return Cauta(st,m);
	 else return Cauta(m,dr);
}
double viz[100];
double *Generare()
{
	 int contor = 0;
	 double st=-10,dr=10;
	 double pas=(dr-st)/1000.0;
	 for(double i = st;i < dr; i += pas)
	 {
		 double x=i , y = i + pas ;
		 double rad=Cauta(x,y);
		 if(F(rad,n) < 0.001 && F(rad,n) > (-0.001))
			 viz[contor++]=rad;
	 }
	 return viz;
}


Functia Q calculeaza X^n , functia F calculeaza valoare polinomului definit printr-un vector de coeficienti a[] , iar functia Cauta ... cauta.De exemplu,pentru ecuatia x^2-2=0 am reusit sa gasesc in viz radacinile -1.41 si 1.41.Problema e ca , pe langa acestea mai apar si niste valori ciudate , ex:  5.28031e-308 . Mentionez ca ecuatiile pe care le introduc nu au decat radacini reale . Cum scap de valorile acelea?

#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
http://en.wikipedia....irstow's_method

Si ignora valorile mai mici de cat ai chef sa setezi toleranta.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate