Documente Academic
Documente Profesional
Documente Cultură
Raport
Disciplina Metode și Modele de Calcul
Tema: Rezolvarea ecuațiilor neliniare și transcendente
Chișinău-2018
Cuprins:
2. Realizarea.....................………………………………….………………………..4
3. Interpretarea rezultatelor..........……………………………………….…………..7
4. Concluzie…………………….……………………………………………………8
Anexa A……………………….…………………………………………………..9
1. Scopul și sarcina lucrării
Ecuațiile:
1. Pentru rezolvarea grafică:
x3+3x2-3=0
2. Pentru rezolvarea analitică:
x3+3x2-12x-12=0
1. Rezolvarea grafică
x3+3x2-3=0
x3 = -3x2+3
y = x3
x -2 -1 0 1 2
y -8 -1 0 1 8
y = -3x2+3
x -2 -1 0 1 2
y -9 0 3 0 9
După cum se observă pe grafic se obțin 3 rădăcini reale: [1, 1], [-1.347, -2.446] și [-2.532, -16.234].
Analizând tabelul observăm că semnul funcției se schimbă o singură dată. Anume pe acel interval se
găsește soluția reală a funției.
Deci, în program se va cerceta intervalul [0, 13] prin:
a) metoda coardelor
b) metoda mixtă
a) Metoda coardelor
if (f(a)*f(re) <= 0)
b = re;
else a = re;
i++;
}
Rezulatele metodei coardelor:
b) Metoda mixtă:
if (f(c)*f(a) > 0)
z = b; x = a; k++;
else
z = a; x = b;
k++;
{ z = z - f(z) / fd(z);
cout << "z = " << z << ", f(z) = " << f(z) << ",x = " << x << ",f(x) = " << f(x) << endl; k++; }
Rezulatele metodei mixte:
Interpretarea rezultatelor:
În urma aplicării algoritmilor observăm că metoda mixtă găsește soluția ecuației executând un număr
mai mic de iterații decât metoda coardelor.
Metoda mixtă a ajuns la rezultat executând 8 iterații, în timp ce metoda coardelor a făcut 228 de iterații.
Rezultatele calculate de ambele metode diferă cu miimi: prin metoda coardelor soluția reală este 1.2102,
dar cu metoda mixtă 1.22104.
Concluzie
În cadrul acestei lucrări de laborator au fost rezolvate ecuații algebrice liniare și transcendente prin
metoda analitică și grafică. Mulțimea soluțiilor găsite la ecuația rezolvată prin metoda analitică a fost
cercetată prin metoda coardelor și metoda mixtă.
Am determinat că mai efectiv este să se folosească metoda mixtă pentru că aceasta determină soluția
executând un număr minim de iterații.
Anexa A
Listingul deplin al programului
#include <iostream>
#include <math.h>
#include <stdlib.h>
float a, b, c, z, x;
float re, eps;
int i = 0, l = 1, k = 0;
float f (float x)
{
return (pow(x, 3) - 3 * pow(x, 2) + 12*x - 12);
}
float fd (float x)
{
return(3*pow(x, 2) - 6*x + 12);
}
void meniuPr()
{
int s;
cout << endl << endl << " Meniu " << endl;
cout << " 1. Metoda I" << endl;
cout << " 2. Metoda II" << endl;
cout << " 0. Exit " << endl;
cin >> s;
switch (s) {
case 1:
case 2:
meniuPr();
return;
case 0:
system("cls");
cout << "You exited the program.";
return;
default:
system("cls");
cout << "No such option. Try another one.";
meniuPr();
}
}
int main()
{
meniuPr();
}