КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Результати виконання програмиТекст програми на мові С Постановка задачі та алгоритм її розв’язування Оцінити абсолютну та відносну похибку обчислення величини F при умові: А) заданих точних цифр введених значень величин аргументів x1, x2, x3 Б) заданих значеннях величин аргументів x1, x2, x3 з похибкою D= 0,001 F = 4x12 + 5x22 + 3x32 - 4x1x2 - 2x1 - sin(x1 / x2); У завданні А) спочатку знаходимо кількість значущих чисел і першу з них. Після цього, знаходимо відносну і абсолютну похибку введених даних. За допомогою формул, які описані у теоретичних відомостях, знаходимо абсолютну і відносну похибку величини F. Цю ж операцію проводимо у завданні Б).
#include <stdio.h> #include <math.h> #include <conio.h> #include <string.h> double ap, vp, F; void Tochna_cyfra(void); void Pohybka(void);
int main(void) { int k; printf("\n\tОцінити абсолютну та відносну похибку обчислення величини F при умові:\n"); printf("1. заданих точних цифр введених значень величин аргументів x1, x2, x3\n"); printf("2. заданих значеннях величин аргументів x1, x2, x3 з похибкою D= 0,001\n"); printf("\nВведіть відповідну цифру...\n"); scanf("%d",&k); fflush(stdin); if(k==1) Tochna_cyfra(); if(k==2) Pohybka(); printf("\nЗначення функції - %01.8f",F); printf("\nЗначення абсолютної похибки - %01.10f",ap); printf("\nЗначення відносної похибки - %01.10f",vp); getch(); return 0; }
void Tochna_cyfra(void) { double x1, x2, x3, dx1, dx2, dx3, vx1, vx2, vx3; int i, j, k, a[3], n, m[3]; char mas[3][100]; printf("\n\tВведіть значення аргументів:"); printf("\nX_1 - "); gets(mas[0]); printf("X_2(!!!Не нульове значення!!!) - "); gets(mas[1]); printf("X_3 - "); gets(mas[2]); x1=atof(mas[0]); x2=atof(mas[1]); x3=atof(mas[2]); for(k=0;k<3;k++) { for(i=0;i<100;i++) if(mas[k][i]=='\0') { i-=1; break; } for(j=0;j<100;j++) { if(mas[k][j]==48||mas[k][j]=='.') continue; else { a[k]=mas[k][j]-48; for(;;i--) { if(mas[k][i]==48||mas[k][i]=='.') continue; else { for(n=0;i!=j;n++,i--); m[k]=n+1; break; } } break; } } } n=m[0]-1; vx1=1/a[0]*pow(0.1,n); n=m[1]-1; vx2=1/a[1]*pow(0.1,n); n=m[2]-1; vx3=1/a[2]*pow(0.1,n); dx1=vx1*x1; dx2=vx2*x2; dx3=vx3*x2; ap=8*x1*dx1+10*x2*dx2+6*x3*dx3+dx1*x2+dx2*x1+dx1+dx1*cos(x1/x2)/x2-x1*dx2/(x2*x2)*cos(x1/x2); F=4*x1*x1+5*x2*x2+3*x3*x3-4*x1*x2-2*x1-sin(x1/x2); vp=ap/F; vp=fabs(vp); }
void Pohybka(void) { double dx=0.001, x1, x2, x3; printf("\n\tВведіть значення аргументів:"); printf("\nX_1 - "); scanf("%lf",&x1); printf("X_2!!!Не нульове значення!!! - "); scanf("%lf",&x2); printf("X_3 - "); scanf("%lf",&x3); ap=8*x1*dx+10*x2*dx+6*x3*dx+dx*x2+dx*x1+dx+dx*cos(x1/x2)/x2*(1-x1/x2); F=4*x1*x1+5*x2*x2+3*x3*x3-4*x1*x2-2*x1-sin(x1/x2); vp=ap/F; vp=fabs(vp); }
Висновок: На даній лабораторній роботі я вивчив поняття абсолютної та відносної похибки та методи їх оцінювання. Програмно реалізував поставлену мені задачу використовуючи мову програмування С та теоретичні відомості про абсолютну та відносну похибку.
Дата добавления: 2015-05-23; Просмотров: 426; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |