Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Изучение понятия обусловленности вычислительной задачи
(Лабораторная работа №2)
Под обусловленностью вычислительной задачи понимают чувствительность ее решения к малым погрешностям входных данных. Задачу называют хорошо обусловленной, если малым погрешностям входных данных отвечают малые погрешности решения, и плохо обусловленной, если возможны сильные изменения решения. Количественной мерой степени обусловленности вычислительной задачи является число обусловленности, которое можно интерпретировать как коэффициент возможного возрастания погрешностей в решении по отношению к вызвавшим их погрешностям входных данных. Пусть между абсолютными погрешностями входных данных Х и решения У установлено неравенство D(y*) £ nD D(x*), где x* и y* - приближенные входные данные и приближенное решение. Тогда величина nD называется абсолютным числом обусловленности. Если же установлено неравенство d(y*) £ nd d(x*) между относительными ошибками данных и решения, то величину nd называют относительным числом обусловленности. Для плохо обусловленной задачи n>>1. Грубо говоря, если n=10N, где n - относительное число обусловленности, то порядок N показывает число верных цифр, которое может быть утеряно в результате по сравнению с числом верных цифр входных данных. Ответ на вопрос о том, при каком значении n задачу следует признать плохо обусловленной, зависит, с одной стороны, от предъявляемых требований к точности решения и, с другой, - от уровня обеспечиваемой точности исходных данных. Например, если требуется найти решение с точностью 0.1%, а входная информация задается с точностью 0.02%, то уже значение n=10 сигнализирует о плохой обусловленности. Однако, при тех же требованиях к точности результата, гарантия, что исходные данные задаются с точностью не ниже 0.0001%, означает, что при n=103 задача хорошо обусловлена. Если рассматривать задачу вычисления корня уравнения Y=f(X), то роль числа обусловленности будет играть величина где x0 - корень уравнения. В работе предлагается, используя программы - функции BISECT и Round из файла metods.cpp (файл заголовков metods.h, директория LIBR1), исследовать обусловленность задачи нахождения корня уравнения для линейной функции . Значения функции следует вычислить приближенно с точностью Delta, варьируемой в пределах от 0.1 до 0.000001.
Порядок выполнения работы должен быть следующим: 1) Графически или аналитически отделить корень уравнения , т.е. найти отрезки [Left, Right], на которых функция удовлетворяет условиям применимости метода бисекции (см. Подразделы 3.1 и 3.2). 2) Составить подпрограмму вычисления функции для параметров c и d, вводимых с клавиатуры. Предусмотреть округление вычисленных значений функции с использованием программы-функции Round с точностью Delta, также вводимой с клавиатуры. 3) Составить головную программу, вычисляющую корень уравнения с заданной точностью Eps и содержащую обращение к подпрограмме f(x), программам-функциям BISECT, Round и представление результатов. 4) Провести вычисления по программе, варьируя значения параметров c (тангенс угла наклона прямой), Eps (точность вычисления корня) и Delta (точность задания исходных данных). 5) Проанализировать полученные результаты и обосновать выбор точности Eps вычисления корня. Сопоставить полученные теоретические результаты с экспериментальными данными. Значение параметра d выбирается каждым студентом самостоятельно и согласовывается с преподавателем. Текст программы для исследования обусловленности задачи нахождения корня уравнения представлен ниже. /**********************************************************************/ #include <math.h> #include <stdio.h> #include <stdlib.h> #include <methods.h> #include <conio.h> double delta,c,d; void main() { int k; long int s; float a1,b1,c1,d1,eps1,delta1; double a,b,eps,x; double F(double); printf("Ââåäèòå eps:"); scanf("%f",&eps1); eps = eps1; printf("Ââåäèòå c:"); scanf("%f",&c1); c = c1; printf("Ââåäèòå d:"); scanf("%f",&d1); d = d1; printf("Ââåäèòå a:"); scanf("%f",&a1); a = a1; printf("Ââåäèòå b:"); scanf("%f",&b1); b = b1; printf("Ââåäèòå delta:"); scanf("%f",&delta1); delta = delta1; x = BISECT(a,b,eps,k); printf("x=%f k=%d\n",x,k); } double F(double x) { extern double c,d,delta; double s; long int S; s = c*(x - d); if(s/delta < 0) S = s/delta -.5; else S = s/delta +.5; s = S*delta; s = Round(s,delta); return(s); } /********************************************************/
|
|||||
Последнее изменение этой страницы: 2016-04-21; просмотров: 482; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.199.88 (0.008 с.) |