Курсовая работа




Скачать 114.3 Kb.
НазваниеКурсовая работа
Дата публикации05.03.2013
Размер114.3 Kb.
ТипКурсовая
skachate.ru > Информатика > Курсовая
Федеральное агентство связи

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ (МТУСИ)
Кафедра вычислительной математики и программирования

Курсовая работа

по информатике

Вариант № 13

Выполнила:

студент группы ПС0901

Сухарников В.А..

Проверил:

Аляпкин В.Д.

Москва 2011
Содержание

Задание...…………………………………………………………………………………………………………

I Исследование индивидуального задание………………………………………

II Программа…………………..………………………………………….…....…………………………

^ III Тестирование программы…………………………………………...…………………….

IV Ручной расчет…....………………………………………………….…...…...…….………

V Блок схема…………………………………..……………...…….………..…………………………….

VI Ответы……..…………………………………..……………...…….…………………………………….

^ VII Список использованной литературы……...…….………

Задание
Проведено сечение поверхности z=x2+y2-(4(x-y)+8) плоскостями z=0, z=4 и плоскостью, проходящей через точку минимума (x', y') параллельно плоскости XOZ. Точку минимума определить градиентном методом
Найти площадь полученного сечения

Указание: Парабола-граница сечения-проходит через точки (0;4) и (4;4) и точку (x';y'). Ее уровнение имеет вид z=ax2+bx+c. Коэфициэнты можно получить либо построение интерполиционного многочлена, либо решением системы линейных уровнений относительно a,b,c.

Исследование индивидуального задания.

Поставленную задачу можно разделить на четыре:

1)Решение дифференциального уравнения методом Рунге-Кутты 4-ого порядка.

2)нахождение функций X(t) и Y(t) методом наименьших квадратов.

3)нахождение максимума функции методом дихотомии Y(t)

4)нахождение t (метод хорд),при котором X(t)=Y(t)

^

Описание используемых численных методов:


Метод дихотомии. Пусть дана функция f(x), унимодальная на отрезке[a,b]. Поиск максимума начинают с выбора на отрезке неопределенности двух симметричных относительно середины точек:

и , где δ – параметр метода.

Сравнивая вычисленные в точках a1 и b1, в силу унимодальности функции можно провести сокращение отрезка неопределенности следующим образом:
1) если f(a1) ≥f(b1), то a0≤x*≤b1

2) если f(a1) ≤f(b1), то a1≤x*≤b0

Уменьшая отрезок мы придем к максимальному значению.
Метод хорд. За неподвижную точку в методе хорд выбирают тот конец отрезка [a;b], для которого выполняется условие. Здесь за начальное приближение следует выбирать точку x0=b, а в качестве неподвижной выступает точка a.

Условия сходимости метода хорд сформулированы в следующей теореме. Если корень уравнения отделен на отрезке [a;b], причем и отличны от нуля и сохраняют свой знак при , т.е если выбрать в качестве начального приближения такую точку , что , то корень уравнения f(x)=0 может быть вычислен с любой степенью точности.

Условие окончания процесса по методу хорд:
Этот метод является модификацией метода касательных, обладает хорошей степенью сходимости. При правильном выборе формулы этот метод гарантированно сходится к корню. Только вместо касательной к графику берем отрезок, соединяющий две точки графика. Очередное приближение x1 получается как абсцисса точки пересечения построенной хорды с осью OX.

Программа

DECLARE SUB xord (ak AS SINGLE, bk AS SINGLE, ck AS SINGLE, dk AS SINGLE, ek AS SINGLE, fk AS SINGLE)

DECLARE FUNCTION fky! (x AS SINGLE, a AS SINGLE, b AS SINGLE, c AS SINGLE, d AS SINGLE, e AS SINGLE, f AS SINGLE)

DECLARE SUB sr (x() AS SINGLE, y() AS SINGLE, n AS INTEGER, c0 AS SINGLE, c1 AS SINGLE, C2 AS SINGLE)

DECLARE SUB gauss (n1 AS INTEGER, n2 AS INTEGER, a() AS SINGLE, x() AS SINGLE)

DECLARE FUNCTION max% (ak AS SINGLE, bk AS SINGLE, ck AS SINGLE)

DECLARE FUNCTION fm! (x AS SINGLE, a AS SINGLE, b AS SINGLE, c AS SINGLE)

DECLARE SUB ody (xfo AS SINGLE, yf0 AS SINGLE, tfo AS SINGLE, b AS SINGLE, e AS SINGLE, ho AS SINGLE, lf AS SINGLE, be AS SINGLE, tz!(), xz!(), yz!())

DECLARE FUNCTION fx! (x AS SINGLE, y AS SINGLE, lf AS SINGLE)

DECLARE FUNCTION fy! (x AS SINGLE, y AS SINGLE, lf AS SINGLE, be AS SINGLE, xf AS SINGLE)

DECLARE FUNCTION rx! (x AS SINGLE, y AS SINGLE, h AS SINGLE, m AS INTEGER, lf AS SINGLE)

DECLARE FUNCTION ry! (x AS SINGLE, y AS SINGLE, h AS SINGLE, m AS INTEGER, lf AS SINGLE, be AS SINGLE, xf AS SINGLE)

DEFINT I, M-N

DEFSNG E, H, T, X-Y

CLS

INPUT "Vvedite nachalnyi yslovia x(0),y(0),t0: ", xf0, yf0, tf0

INPUT "h0 - shag pechati: ", h0

INPUT "E - pogreshnost: ", e

INPUT "b-konec otrezka: ", b

INPUT "lf i be: ", lf, be

PRINT TAB(10); "t0=", tf0; "x(0)=", xf0; "y(0)=", yf0; "h0=", h0

st$ = STRING$(61, "-")

PRINT
PRINT TAB(10); st$

PRINT TAB(10); "| t0= "; "| x0= "; "| y0= "; "| h= "; "| m= |"

PRINT TAB(10); st$

n = FIX((b - tf0) / h0) + 1

DIM tz(0 TO n) AS SINGLE

DIM xz(0 TO n) AS SINGLE

DIM yz(0 TO n) AS SINGLE
CALL ody(xf0, yf0, tf0, b, e, h0, lf, be, tz(), xz(), yz())

CALL sr(tz(), xz(), n, ck, bk, ak)

CALL sr(tz(), yz(), n, fk, ek, dk)

PRINT "Reshenie yr-nia X(t)="; ak; "*t^2+ ("; bk; ")*t+ "; ck

PRINT "Reshenie yr-nia Y(t)="; dk; "*t^2+ ("; ek; ")*t+ "; fk

INPUT "vvedite 1 dla naxogdenia max y(t) or 2 dla nahogdenia t y(t)=x(t)"; ysl

IF ysl = 1 THEN

tm = max(dk, ek, fk)

ELSE

IF ysl = 2 THEN

CALL xord(ak, bk, ck, dk, ek, fk)

END IF

END IF

END

'####################################################
FUNCTION fky (x AS SINGLE, a AS SINGLE, b AS SINGLE, c AS SINGLE, d AS SINGLE, e AS SINGLE, f AS SINGLE)

fky = (a - d) * (x ^ 2) + (b - e) * x + c - f

END FUNCTION
FUNCTION fm (x AS SINGLE, a AS SINGLE, b AS SINGLE, c AS SINGLE)

fm = a * (x ^ 2) + b * x + c

END FUNCTION
FUNCTION fx (x AS SINGLE, y AS SINGLE, lf AS SINGLE)

fx = -(lf * y)

END FUNCTION
FUNCTION fy (x AS SINGLE, y AS SINGLE, lf AS SINGLE, be AS SINGLE, xf AS SINGLE)

fy = -be * y + lf * xf

END FUNCTION
SUB gauss (n1 AS INTEGER, n2 AS INTEGER, a() AS SINGLE, x() AS SINGLE)

FOR i = 1 TO n1 - 1

t = a(i, i)

FOR k = 1 TO n2

a(i, k) = a(i, k) / t

NEXT k

FOR n = i + 1 TO n1

t = a(n, i)

FOR j = 1 TO n2

a(n, j) = a(n, j) - t * a(i, j)

NEXT j

NEXT n

NEXT i


x(n1) = a(n1, n1 + 1) / a(n1, n1)

FOR i = n1 - 1 TO 1 STEP -1

s = 0

FOR k = i + 1 TO n1

s = s + a(i, k) * x(k)

NEXT k

x(i) = a(i, n1 + 1) - s

NEXT i
END SUB
FUNCTION max (ak AS SINGLE, bk AS SINGLE, ck AS SINGLE)

CLS

INPUT "Vvedite otrezok [a,b]: ", a, b

INPUT "E - pogreshnost: ", e

INPUT "d parametr metoda: ", d
st$ = STRING$(60, "-")

PRINT
PRINT TAB(10); st$

PRINT TAB(10); "| x1 "; "| x2= "; "| b-a= "; "| f(x1)= |"; " f(x2) |"

PRINT TAB(10); st$
DO

x1 = (a + b - d) / 2

x2 = (a + b + d) / 2

IF fm(x1, ak, bk, ck) < fm(x2, ak, bk, ck) THEN a = x1 ELSE b = x2

PRINT USING "| ##.###### | ##.###### | #.##### | ###.##### | ###.#### |"; TAB(10); x1; x2; (b - a); fm(x1, ak, bk, ck); fm(x2, ak, bk, ck)

LOOP UNTIL ABS(b - a) <= e
xm = (a + b) / 2

fmax = fm(xm, ak, bk, ck)
PRINT TAB(10); st$

PRINT "t="; xm; "y(t)="; fmax

max = xm

END FUNCTION
SUB ody (xf0 AS SINGLE, yf0 AS SINGLE, tf0 AS SINGLE, b AS SINGLE, e AS SINGLE, h0 AS SINGLE, lf AS SINGLE, be AS SINGLE, tz(), xz(), yz())
n = FIX((b - tf0) / h0) + 1

tz(0) = tf0: xz(0) = xf0: yz(0) = yf0
FOR i = 1 TO n

h = h0: m = 1
xf = rx((tf0), (xf0), (h), (m), (lf))

yf = ry((tf0), (yf0), (h), (m), (lf), (be), (xf))

DO

xf1 = xf: h = h / 2: tf = tf0: xf = xf0: m = 2 * m

yf1 = yf: h = h / 2: tf = tf0: yf = yf0: m = 2 * m
xf = rx((tf), (xf), (h), (m), (lf))

yf = ry((tf), (yf), (h), (m), (lf), (be), (xf))
LOOP UNTIL ABS(xf - xf1) < e AND ABS(yf - yf1) < e

tf0 = tf0 + h0

xf0 = xf

yf0 = yf

PRINT USING "| #.### | ###.###### | ###.###### | #.#### | ## |"; TAB(10); tf0; xf0; yf0; h; m

tz(i) = tf0: xz(i) = xf0: yz(i) = yf0

NEXT i

PRINT TAB(10); st$

END SUB
FUNCTION rx (x AS SINGLE, y AS SINGLE, h AS SINGLE, m AS INTEGER, lf AS SINGLE)

DEFSNG K

FOR j = 1 TO m

k1 = fx(x, y, lf)

k2 = fx(x + h / 2, y + h * k1 / 2, lf)

k3 = fx(x + h / 2, y + h * k2 / 2, lf)

k4 = fx(x + h, y + h * k3, lf)

y = y + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4)

x = x + h

NEXT j

rx = y

END FUNCTION
FUNCTION ry (x AS SINGLE, y AS SINGLE, h AS SINGLE, m AS INTEGER, lf AS SINGLE, be AS SINGLE, xf AS SINGLE)

DEFSNG K

FOR j = 1 TO m

k1 = fy(x, y, lf, be, xf)

k2 = fy(x + h / 2, y + h * k1 / 2, lf, be, xf)

k3 = fy(x + h / 2, y + h * k2 / 2, lf, be, xf)

k4 = fy(x + h, y + h * k3, lf, be, xf)

y = y + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4)

x = x + h

NEXT j

ry = y

END FUNCTION
SUB sr (x() AS SINGLE, y() AS SINGLE, n AS INTEGER, c0 AS SINGLE, c1 AS SINGLE, C2 AS SINGLE)

h = ABS((2 * a) / n)

DIM b(1 TO 3, 1 TO 4) AS SINGLE

DEFSNG D, X

DIM kf(1 TO 3) AS SINGLE
FOR i = 0 TO n

x2 = x2 + (x(i)) ^ 2

x3 = x3 + (x(i)) ^ 3

x4 = x4 + (x(i)) ^ 4

xy = xy + x(i) * y(i)

xxy = xxy + ((x(i)) ^ 2) * y(i)

x1 = x1 + x(i)

y1 = y1 + y(i)

NEXT i


b(1, 1) = (n + 1)

b(1, 2) = x1

b(1, 3) = x2

b(1, 4) = y1

b(2, 1) = x1

b(2, 2) = x2

b(2, 3) = x3

b(2, 4) = xy

b(3, 1) = x2

b(3, 2) = x3

b(3, 3) = x4

b(3, 4) = xxy

CALL gauss(3, 4, b(), kf())
c0 = kf(1): c1 = kf(2): C2 = kf(3)

END SUB
SUB xord (ak AS SINGLE, bk AS SINGLE, ck AS SINGLE, dk AS SINGLE, ek AS SINGLE, fk AS SINGLE)

INPUT "Nachalnoe pribligenie ", x0

INPUT "Pogreshnost ", e

INPUT "Orezok [a,b] ", a, b

st$ = STRING$(34, "*")

PRINT TAB(10); st$

PRINT TAB(10); "* n= "; "* x= "; "* f(x)= * ";

PRINT TAB(10); st$

DEFSNG C, T

x = x0: n = 0

IF x0 = a THEN c = b ELSE c = a

DO

t = x: n = n + 1

x = x - (fky(x, ak, bk, ck, dk, ek, fk) * (x - c) / (fky(x, ak, bk, ck, dk, ek, fk) - fky(c, ak, bk, ck, dk, ek, fk)))

PRINT USING "* ## * ##.#### * ##.#### *"; TAB(10); n; x; fky(x, ak, bk, ck, dk, ek, fk)

LOOP UNTIL ABS(fky(x, ak, bk, ck, dk, ek, fk) - fky(t, ak, bk, ck, dk, ek, fk)) < e AND ABS(x - t) < e

PRINT TAB(10); st$

PRINT ""

PRINT "n=", n

PRINT "t=", x

PRINT "X(t)=", fm(x, ak, bk, ck)

PRINT "Y(t)=", fm(x, dk, ek, fk)

PRINT "E=", e
END SUB

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


  • Окно ввода




  • Апроксимированные X(t) и Y(t)



  • Нахождение максимума Y(t)



  • Нахождение корня t при котором X(t)=Y(t)




Решение с помощью математического пакета MathCad:
















Блок схема






Ответы:

Количество вещества Y будет максимально в момент времени t=0.104.

В момент времени t=0.117 масса вещества x будет равна массе вещества y.

Список использованной литературы
1. Кравченко О. М. , Семёнова Т. И. , Шакин В. Н. Учебное пособие: Модели решения вычислительных задач (Численные методы и оптимизация) по дисциплине «Информатика» для студентов, обучающихся по направлению подготовки 654400-«Телекоммуникации»/МТУСИ.-М.,2003.-72с.
2. Гловацкая А. П., Загвоздкина А. В., Кравченко О. М. , Семёнова Т. И. , Шакин В. Н. Практикум. Численные методы и оптимизация по дисциплине «Информатика» для студентов, обучающихся по направлению «Телекоммуникации».- М: МТУСИ,2004.-154с.

Похожие:

Курсовая работа iconКурсовая работа Тема курсовой: Виды и функции кредита моя тема 20 Методические указания к
По содержанию курсовая работа носит практический характер. По объему курсовая работа должна быть не менее 25–30 страниц печатного...
Курсовая работа iconПравила написания и оформления курсовых работ Курсовая работа по...
Курсовая работа предполагает исследование литературы по теме и четкие выводы в конце. Курсовая работа, также как диплом, требует...
Курсовая работа iconКурсовая работа по макроэкономике
Курсовая работа — научное исследование, представляющее результат самостоятельной работы студента над исследованием какой-либо макроэкономической...
Курсовая работа iconКурсовая работа Курсовая работа по "Мировой экономике"
Курсовая работа по "Мировой экономике" выполняется только студентами, обучающимися по специальности "управление персоналом"и «менеджмент...
Курсовая работа iconКурсовая работа Курсовая работа по "Мировой экономике"
Курсовая работа по "Мировой экономике" выполняется только студентами, обучающимися по специальности "управление персоналом"и «менеджмент...
Курсовая работа iconКурсовая работа по дисциплине «Маркетинг в торговле»
Курсовая работа выполняется студентами специальности в соответствии с учебным планом
Курсовая работа iconКурсовая работа по дисциплине «Маркетинг в торговле»
Курсовая работа выполняется студентами специальности в соответствии с учебным планом
Курсовая работа iconКурсовая работа по дисциплине «Маркетинг в торговле»
Курсовая работа выполняется студентами специальности в соответствии с учебным планом
Курсовая работа iconКурсовая работа
Баранник В. Г. Архетектура ngn и ip телефония. Курсовая работа: 49 с., 18 рис., 1 табл., 12 использованных источников
Курсовая работа iconКурсовая работа По дисциплине «Менеджмент»
Курсовая работа выполнена на тему «Методы управления, их мотивационная направленность»

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
контакты
skachate.ru
Главная страница