Ćwiczenie trzecie, Automatyka i Robotyka, Semestr IV, Metody Numeryczne, Lab, lab1, Gotowe

[ Pobierz całość w formacie PDF ]
//-->Ćwiczenie trzecie1. Kod programu:pierwszy podpunkt :#include <iostream>#include <cmath>using namespace std;double Wysokosc(double a, double b, double c) {return double(sqrt((c+b+a)*((c+b+a)/2-a)*((c+b+a)/2-b)*((c+b+a)/2-c))/sqrt(2)*2/a);}double BladRozniczka(double a, double b, double c, double da, double db, double dc) {double _a = abs((pow(c, 4)-2*pow(b, 2)*pow(c, 2)+pow(b, 4)-pow(a, 4))/(2*pow(a, 2)*sqrt(-pow(c, 4)+(2*pow(b, 2)+2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*da;double _b = abs((b*pow(c, 2)-pow(b, 3)+pow(a, 2)*b)/(a*sqrt(-pow(c, 4)+(2*pow(b, 2)+2*pow(a,2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*db;double _c = abs(-(pow(c, 3)+(-pow(b, 2)-pow(a, 2))*c)/(a*sqrt(-pow(c, 4)+(2*pow(b,2)+2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*dc;return _a + _b + _c;}int main() {double a, b, c, da, db, dc;cin >> a >> b >> c >> da >> db >> dc;cout << "\n\nRozniczka: " << Wysokosc(a, b, c) << " z dokładnościa: +/-"<< BladRozniczka(a, b, c, da, db, dc) << endl ;cout << "Przedzialy: < " << Wysokosc(a-da, b-db, c-dc) << " ; "<< Wysokosc(a+da, b+db, c+dc) << " > " << endl;return 0;}drugi podpunkt:#include <iostream>#include <cmath>using namespace std;double PromienWpisany(double a, double b, double c) {return double(sqrt((c+b+a)*((c+b+a)/2-a)*((c+b+a)/2-b)*((c+b+a)/2-c))/sqrt(2)*2/(a+b+c));}double BladRozniczka(double a, double b, double c, double da, double db, double dc) {double _a = abs((pow(c, 3)+(a-b)*pow(c, 2)+(-pow(b, 2)+2*a*b-pow(a, 2))*c+pow(b, 3)+a*pow(b,2)-pow(a, 2)*b-pow(a, 3))/((2*c+2*b+2*a)*sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*da;double _b = abs((pow(c, 3)+(b-a)*pow(c, 2)+(-pow(b, 2)+2*a*b-pow(a, 2))*c-pow(b, 3)-a*pow(b,2)+pow(a, 2)*b+pow(a, 3))/((2*c+2*b+2*a)*sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*db;double _c = abs(-(pow(c, 3)+(b+a)*pow(c, 2)+(-pow(b, 2)-2*a*b-pow(a, 2))*c-pow(b,3)+a*pow(b, 2)+pow(a, 2)*b-pow(a, 3))/((2*c+2*b+2*a)*sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a,2))*pow(c, 2)-pow(b, 4)+2*pow(a, 2)*pow(b, 2)-pow(a, 4))))*dc;return _a + _b + _c;}int main() {double a, b, c, da, db, dc;cin >> a >> b >> c >> da >> db >> dc;cout << "\n\nRozniczka: " << PromienWpisany(a, b, c) << " z dokładnościa: +/-"<< BladRozniczka(a, b, c, da, db, dc) << endl ;cout << "Przedzialy: < " << PromienWpisany(a-da, b-db, c-dc) << " ; "<< PromienWpisany(a+da, b+db, c+dc) << " > " << endl;return 0;}trzeci podpunkt:#include <iostream>#include <cmath>using namespace std;double PromienOpisany(double a, double b, double c) {return double((a*b*c)/(4*sqrt((c+b+a)*((c+b+a)/2-a)*((c+b+a)/2-b)*((c+b+a)/2-c))/sqrt(2)));}double BladRozniczka(double a, double b, double c, double da, double db, double dc) {double _a = abs(-(sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a,2)*pow(b, 2)-pow(a, 4))*(b*pow(c, 5)-2*pow(b, 3)*pow(c, 3)+(pow(b, 5)-pow(a, 4)*b)*c))/(pow(c,8)+(-4*pow(b, 2)-4*pow(a, 2))*pow(c, 6)+(6*pow(b, 4)+4*pow(a, 2)*pow(b, 2)+6*pow(a, 4))*pow(c,4)+(-4*pow(b, 6)+4*pow(a, 2)*pow(b, 4)+4*pow(a, 4)*pow(b, 2)-4*pow(a, 6))*pow(c, 2)+pow(b, 8)-4*pow(a, 2)*pow(b, 6)+6*pow(a, 4)*pow(b, 4)-4*pow(a, 6)*pow(b, 2)+pow(a, 8)))*da;double _b = abs(-(sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a,2)*pow(b, 2)-pow(a, 4))*(a*pow(c, 5)-2*pow(a, 3)*pow(c, 3)+(pow(a, 5)-a*pow(b, 4))*c))/(pow(c,8)+(-4*pow(b, 2)-4*pow(a, 2))*pow(c, 6)+(6*pow(b, 4)+4*pow(a, 2)*pow(b, 2)+6*pow(a, 4))*pow(c,4)+(-4*pow(b, 6)+4*pow(a, 2)*pow(b, 4)+4*pow(a, 4)*pow(b, 2)-4*pow(a, 6))*pow(c, 2)+pow(b, 8)-4*pow(a, 2)*pow(b, 6)+6*pow(a, 4)*pow(b, 4)-4*pow(a, 6)*pow(b, 2)+pow(a, 8)))*db;double _c = abs((sqrt(-pow(c, 4)-(-2*pow(b, 2)-2*pow(a, 2))*pow(c, 2)-pow(b, 4)+2*pow(a,2)*pow(b, 2)-pow(a, 4))*(a*b*pow(c, 4)-a*pow(b, 5)+2*pow(a, 3)*pow(b, 3)-pow(a, 5)*b))/(pow(c,8)+(-4*pow(b, 2)-4*pow(a, 2))*pow(c, 6)+(6*pow(b, 4)+4*pow(a, 2)*pow(b, 2)+6*pow(a, 4))*pow(c,4)+(-4*pow(b, 6)+4*pow(a, 2)*pow(b, 4)+4*pow(a, 4)*pow(b, 2)-4*pow(a, 6))*pow(c, 2)+pow(b, 8)-4*pow(a, 2)*pow(b, 6)+6*pow(a, 4)*pow(b, 4)-4*pow(a, 6)*pow(b, 2)+pow(a, 8)))*dc;return _a + _b + _c;}int main() {double a, b, c, da, db, dc;cin >> a >> b >> c >> da >> db >> dc;cout << "\n\nRozniczka: " << PromienOpisany(a, b, c) << " z dokładnościa: +/-"<< BladRozniczka(a, b, c, da, db, dc) << endl ;cout << "Przedzialy: < " << PromienOpisany(a-da, b-db, c-dc) << " ; "<< PromienOpisany(a+da, b+db, c+dc) << " > " << endl;return 0;}2. Wyniki Programów:A. [a, b, c, da, db, dc]3 4 5 0.1 0.1 0.1Rozniczka: 4 z dokładnościa: +/-0.1Przedzialy: < 3.89942 ; 4.09947 >10 5 8 0.1 0.1 0.1Rozniczka: 3.96201 z dokładnościa: +/-0.202795Przedzialy: < 3.86604 ; 4.05763 >10 5 8 0.0001 0.01 0.001Rozniczka: 3.96201 z dokładnościa: +/-0.00944016Przedzialy: < 3.95267 ; 3.97134 >B.3 4 5 0.1 0.1 0.1Rozniczka: 1 z dokładnościa: +/-0.05Przedzialy: < 0.966523 ; 1.0332 >10 5 8 0.1 0.1 0.1Rozniczka: 1.72261 z dokładnościa: +/-0.063456Przedzialy: < 1.68607 ; 1.75889 >10 5 8 0.0001 0.01 0.001Rozniczka: 1.72261 z dokładnościa: +/-0.00327082Przedzialy: < 1.71936 ; 1.72585 >C.3 4 5 0.1 0.1 0.1Rozniczka: 2.5 z dokładnościa: +/-0.05Przedzialy: < 2.45036 ; 2.55033 >10 5 8 0.1 0.1 0.1Rozniczka: 5.04795 z dokładnościa: +/-0.0943204Przedzialy: < 5.00642 ; 5.09041 >10 5 8 0.0001 0.01 0.001Rozniczka: 5.04795 z dokładnościa: +/-0.00130071Przedzialy: < 5.04912 ; 5.04679 >3. Wnioski:- Na podstawie uzyskanych w punktach 2 i 3 wynikow mozna stwierdzic ze metodaroznicowa daje w wyniku wiekszy przedzial niz metoda przedzialow wartosci, co oznacza zewynik jest mniej dokladny, ale może być lepiej przyblizony. [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ewunia87.pev.pl