Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Курсовая работа: Решение прикладных задач численными методами

Название: Решение прикладных задач численными методами
Раздел: Рефераты по информатике
Тип: курсовая работа Добавлен 07:02:42 01 декабря 2010 Похожие работы
Просмотров: 138 Комментариев: 21 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Кафедра №83

информатики и вычислительной математики

Дисциплина: «ИНФОРМАТИКА»

КУРСОВАЯ РАБОТА

Тема: «Решение прикладных задач численными методами»

Москва 2009 г.

ЦЕЛЬ РАБОТЫ:

Получение практических навыков по применению численных методов при решении прикладных задач на ЭВМ общего назначения, с использованием программ сложных циклических алгоритмов, включая редактирование программ в ЭВМ, отладку программ, выполнение расчетов на периферийные устройства.

Время: 12 часов.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Работа состоит из 2-х частей.

Цель первой части курсовой работы: получить практические навыки в использовании численных методов решения не линейных уравнений используемых в прикладных задачах.

Для выполнения 1 части работы необходимо:

· Составить программу и рассчитать значения функции в левой части нелинейного уравнения для решения задачи отделения корней;

· Составить логическую схему алгоритма, таблицу идентификаторов и программу нахождения корня уравнения методом дихотомии и методом, указанным в таблице;

· Ввести программу в компьютер, отладить, решить задачу с точностью ε=0,0001 и вывести результат;

· Предусмотреть в программе вывод на экран дисплея процессора получения корня.

Задание на выполнение первой части курсовой работы:

Вариант №21.

Уравнение: 0,25 x 3 + x -1,2502=0:

Отрезок, содержащий корень: [0;2].

I. Математическое описание численных методов решения

Метод деления отрезка пополам (метод дихотомии).

Этот метод позволяет отыскать корень уравнения с любой наперёд заданной точностью εε . искомый корень x уравнения уже отделен, т.е.указан отрезок [а, в] непрерывности функции f ( x ) такой, что на концах этого отрезка функция f(x) принимает различные значения:

f ( a )* f ( b )>0

В начале находится середина отрезка [ a, b ]:

и вычисляется значение функции в точке с, т.е. находится f ( c ). Если f ( c )=0, то мы точно нашли корень уравнения. Если же f ( c )≠0 ,то знак этой величины сравнивается со знаками функции y = f ( x ) в концах отрезка [ a, b ]. Из двух отрезков [ a, с], [ с, b ] для дальнейшего рассмотрения оставляется тот, в концах которого функция имеет разные знаки. С оставленным отрезком поступаем аналогичным образом. расчет прекращается, когда оставленный отрезок будет иметь длину меньше 2ε. В этом случае принимаем за приближенное значение корня середину оставленного отрезка и требуемая точность будет достигнута.

II. График функции.

Для выделения корней рассчитаем значения функции на заданном отрезке [0,2] с шагом 0,0001 и по полученным данным построим график функции.

Как видно из рисунка график пересекает ось Х один раз, следовательно, на данном отрезке [ 0, 2] наше уравнение имеет один корень.

Алгоритмы нахождения корней уравнения

I . C труктурная схема алгоритма: Метод дихотомии

f(a0 ), f(b0 )


да

x=c

an+1 =an ; bn+1 =c

an+1 = c ; bn+1 = bn

n=n+1

X = a n +b n

2


Листинг программы имеет вид

#include<stdio.h>

#include<math.h>

double f(double x)

{

return 0.25*(pow(x,3))+x-1.2502;

}

int main(void)

{

int n=0;

double x,a=0.,b=2.,eps=0.0001;

while (fabs(a-b)>2*eps)

{

x=(a+b)/2,

n++;

printf("step=%3i x=%11.8lf f(x)=%11.8lf\n",n,x,f(x));

if (f(x)==0)

{

printf("Tothnii koreni x=%lf\nkolithestvo iteratsii n=%i\n",x,n);

return 0;

}

else if (f(a)*f(x)<0) b=x;

else a=x;

}

printf("Reshenie x=%11.8lf pri Eps=%lf\nkolithestvo iteratsii n=%i\n",x,eps,n);

return 0;

}

Метод хорд:

1. Этот метод заключается в том, что к графику функции проводится хорда. Находим точку пересечения с осью OX и опускаем из этой точки прямую параллельную OY. Из точки пе-ресечения прямой и графика проводим хорду и операция повторяется до тех пор, пока точка пересечения хорды с осью OX не приблизиться к корню функции до заданной погрешности.

Шаг первый:

Нас интересует точка пересечения с осью ОХ.

Сделаем допущение: х=x1

y=0

Введем обозначение

x0

f()=f(x0 )

Подставим в уравнение

Отсюда

x1=x0 -

Шаг второй:

x2=x1-

Для n -го шага:

xn =xn -1 -

Условием нахождения корня является:

2. Нелинейное уравнение и условие его решения: 0,25 x 3 + x -1,2502=0:

3. График функции:

4. Схема алгоритма:


5. Таблица идетификаторов:

Обозначение Идентификатор Тип
n n int
a double
b double
eps double
x x double
f(x) f(x) double

6. Листинг программы:

#include<stdio.h>

#include<math.h>

double f(double x)

{

return 0.25*(pow(x,3))+x-1.2502;

}

int main(void)

{

FILE*jad;

jad=fopen("D:text.txt","w");

int n=0;

double x,a=0,b=2.,eps=0.0001,xn;

xn=a;

while (fabs(xn-x)>eps)

{

x=xn;

n++;

xn=x-f(x)*(b-x)/(f(b)-f(x));

printf("step=%3i x=%11.8lf f(x)=%11.8lf\n",n,xn,f(xn));

fprintf(jad,"step=%3i x=%11.8lf f(x)=%11.8lf\n",n,xn,f(xn));

}

printf("pribligennoe znathenie x=%lf pri Eps=%lf\nkolithestvo iterasii n=%i\n",xn,eps,n);

fprintf(jad,"pribligennoe znathenie x=%lf pri Eps=%lf\nkolithestvo iterasii n=%i\n",xn,eps,n);

fclose(jad);

return 0;

}

7. Листинг решения:

Анализ результатов:

метод дихотомии метод хорд
значение корня -0 .28766 -0.287700
значение функции -0.000045 -0.00002140
количество итераций 13 6

Вывод: Метод дихотомии прост в реализации, но обладает малой скоростью сходимости по сравнению с методом хорд, что выражается в количестве шагов. Метод хорд к тому же обладает большей точностью.


Часть 2

Использование численных методов решения дифференциальных уравнений для тактико-специальных задач

Вариант №21.

Задание на выполнения второй части курсовой работы:

Дифференциальное уравнение:

Точное решение уравнения:

Начальные условия: x0 = 0 , y0 =0, xmax =2.

Метод решения: метод Эйлера-Коши, Δx = 0,01; 0,005; 0,001.

Метод Эйлера-Коши

Метод Эйлера-Коши (или усовершенствованный метод Эйлера) является методом второго порядка и заключается в следующем. Интегральная кривая на каждом шаге интегрирования заменяется прямой с тангенсом угла наклона, равным среднему арифметическому тангенсов углов наклона касательных к искомой функции в начале и в конце шага. Вычисления проводятся в следующем порядке:

1. Выбираем шаг интегрирования .

2. Полагаем номер шага .

3. Вычисляем , находим оценку для приращения функции на этом шаге методом Эйлера , , вычисляем среднее арифметическое тангенсов углов наклона и окончательно получаем:

.

4. Если , то увеличиваем номер шага на единицу и повторяем п.3. В противном случае переходим к выполнению п.5.

5. Оформляем полученный результат.

Достоинство метода – более высокая точность вычисления по сравнению с методом Эйлера. Недостаток – больший объем вычислений правых частей.

Таблица идентификаторов :

Обозначение Идентификатор Тип
s s int
i i int
x x float
xmax x_max float
x1 x1 float
Δx h[i] float
y y float
d d float
f(x) f(x) float
k k(x,y) float
K1 f1 float
K2 f2 float
K3 f3 float
K4 f4 float

Схема алгоритма :


6. Листинг программы:

#include<stdio.h>

#include<math.h>

int s,i;

double x, x1, x_max=2, y, d, q;

double h[3]={0.01,0.005,0.001};

double k(double x,double y )

{

return ((x)/(4+(pow(x,4))));

}

double e(double x)

{

return 0.25*atan(pow(x,2)/2);

}

double f1=k(x,y);

double yw=y+f1*h[i];

double r=x+h[i];

double fl=k(r,yw);

int main(void)

{

FILE*sev;

sev=fopen("E:result34.xls","w+");

for (i=0;i<=2;i++)

{

s=0; y=0;

fprintf(sev,"h(%i)=%lf\n",i,h[i]);

for(x=0;x<=x_max;x+=h[i])

{

s++;

x1=x+h[i];

y+=(f1+fl)*h[i]/2;

d=y-e(x1);// y- pribl. f(x)- tochnoe

printf(" step =%4.i x=%6.4lf \ty=%6.4lf yt=%6.4lf d=%10.8f\n",s,x1,y,e(x1),d);

fprintf(sev," \t step =\t%4.i\t x=\t%10.5lf\t y=\t%10.5lf\t yt=\t%10.5lf\t d=\t%10.5f\n",s,x1,y,e(x1),d);

}

}

fclose(sev);

return 0;

}

Вывод:

Интегрированная среда Visual С позволяет обрабатывать программы, записанные на языке С++ . Для программирования циклических алгоритмов были использованы операторы организации циклов с параметрами, решение использует форматируемый вывод и оператор присваивания, а также использовались операторы вызова функций. Чем больше шаг, тем точнее вычисления.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита11:32:20 04 ноября 2021
.
.11:31:53 04 ноября 2021
.
.11:31:42 04 ноября 2021
.
.11:31:32 04 ноября 2021
.
.11:31:24 04 ноября 2021

Смотреть все комментарии (21)
Работы, похожие на Курсовая работа: Решение прикладных задач численными методами

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294402)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте