Реферат Курсовая Конспект
Основы информационных технологий и программирование - раздел Философия, Министерство Образования И Науки, Молодежи И Спорта ...
|
Министерство образования и науки,
молодежи и спорта Украины
Национальный университет кораблестроения
Херсонский филиал
Ю.Г. Тендитный , Н.В. Тендитная
Предисловие
Современное развитие науки и техники тесно связанно с использованием ЭВМ, ставших рабочим инструментом инженера, конструктора, ученого. Компьютеры используются для изучения реальных сложных объектов, систем, процессов и явлений, при создании систем управления этими объектами и процессами. И здесь на первый план выступает их математическая модель, т. е. описание объектов, явлений и процессов на математическом языке - с помощью функций, уравнений (трансцендентных и алгебраических, дифференциальных, интегральных и т,д.), неравенств, логических отношений. Для таких задач разработаны алгоритмы и методы решения, существует ряд программ для их решения на ЭВМ. Однако постоянное развитие вычислительной техники и применение новых языков программирования в инженерной практике требует совершенствования имеющихся и создания новых программ. Особенно актуальна данная задача для пользователей персональных ЭВМ, так как для ПЭВМ в отечественной практике недостаточно разработано программное обеспечение.
В данном пособии приведены алгоритмы и тексты программ, написанные на наиболее употребляемых в инженерной практике языке программирования - FORTRAN. Стиль написания программ выбран таким образом, чтобы пользователь ПЭВМ смог без особого труда понять текст программы. В пособии приведены также варианты заданий и указания к проведению лабораторных работ.
Р Е Ш Е Н И Е Н Е Л И Н Е Й Н Ы Х У Р А В Н Е Н И Й
Общие сведения об уравнениях и их решении
Решение многих научных и технических задач сводится к составлению и решению уравнений. Следовательно, специалист в любой отрасли техники должен уметь решать любые уравнения как обычными средствами вычислений, так и с помощью компьютера.
Обычно уравнения имеют вид f (x)=0, где f-заданная функция.
Уравнения называются нелинейными , если линия , построенная по заданной функции, не является прямой. Нелинейные уравнения делятся на два класса : алгебраические и трансцендентные. Алгебраическими называют уравнения, если заданная функция является полиномом n - ой степени . Нелинейные уравнения, содержащие тригонометрические, логарифмические и другие элементарные функции называются трансцендентными .
Поиски методов решения нелинейных уравнений начались с попыток вывода формул, аналогичных формуле для решения квадратного уравнения , которая выражает значения корней уравнения через его коэффициенты . Для алгебраических уравнений третьей и четвертой степени такие формулы были получены. Однако практическое значение этих формул невелико, так как их применение приводит к дополнительным и довольно сложным вычислениям. Покажем это на примере решения кубического уравнения .
Пусть дано кубическое уравнение у 3 + а у 2 + в у + с = 0. Заменяя в уравнении неизвестное у новым неизвестным x, связанным с у равенством у= x- а /3, получают уравнение относительно неизвестного x, не содержащее квадрата этого неизвестного, т.е. уравнение вида:
x+ p x + q = 0 (1) .
Если будут найдены корни уравнения ( 1 ) ,то можно получить и корни заданного уравнения благодаря равенству у = x - а / 3 . Следовательно, необходимо уметь решать « неполное» кубичное уравнение . Формулы, выражающие корни уравнения (1) через его коэффициенты при помощи квадратных и кубичных радикалов , были получены итальянским математиком Кардано в ХV I веке . Формулы Кардано имеют следующий вид :
X=+ (2)
Так как кубичный радикал имеет в поле комплексных чисел три значения, то формула (2) дает по три значения для каждого радикала, входящего в формулу (2). Однако, применяя формулу Кардано, нельзя комбинировать любое значение первого радикала с любым значением второго. Для данного значения первого радикала a следует брать лишь то из значений второго радикала b , которое удовлетворяет условию a b = - p /3 .
В курсе высшей алгебры доказано, что при определенных соотношениях коэффициентов p и q в уравнении (1), все три корня этого уравнения являются действительными числами. Однако разыскание их по формуле Кардано требует извлечения кубичных корней из комплексных чисел, что возможно сделать лишь путем перехода к тригонометрической форме этих чисел. Поэтому запись корней кубичного уравнения с помощью радикалов не имеет практического значения .
Аналогично обстоит дело и с решением алгебраических уравнений четвертой степени. Формулы, выражающие корни уравнения через его коэффициенты, были получены итальянским математиком Феррари еще в ХVI столетии, однако в практических расчетах никто ими не пользуется в связи с их громозкостью и сложностью вычислений.
После Феррари почти три столетия продолжались безуспешные попытки сделать следующий шаг, т.е. найти формулы, выражающие корни уравнения пятой степени через его коэффициенты. Эти попытки прекратились лишь после того, как норвежский математик Абель в двадцатых годах XIX столетия доказал, что такие формулы для уравнений n - ой степени при любом n ³5 заведомо не могут быть найдены.
Это обстоятельство послужило толчком для многочисленных исследований, имевших целью получение методов приближенного вычисления корней. Такой подход оправдан еще и тем, что при решении технических проблем обычно достаточно знать лишь приближенные значения корней с заранее заданной точностью. Если бы корни многочлена и можно было бы записать в радикалах, то эти радикалы все равно были бы заменены их приближенными значениями. Кроме того, уравнение может содержать коэффициенты, известные лишь приблизительно, и, следовательно, сама задача о точном определении корней уравнений теряет смысл. Все указанные причины привели к появлению так называемых итера-ционных методов решения нелинейных уравнений. С их помощью решение уравнения достигается путем многократного применения некоторого алгоритма, который позволяет вычислить приближенные значения корней уравнения с заранее заданной точностью. Обычно это делается в два этапа:
1). о т д е л е н и е к о р н е й, т.е. установление возможно тесных промежутков [a ,b] , в которых содержится один корень уравнения ;
2). у т о ч н е н и е п р и б л и ж е н н ы х к о р н е й , т.е. доведение их до заданной степени точности.
Д а л е е р а с с м о т р е н к а ж д ы й и з э т а п о в .
Р е ш е н и е н е л и н е й н ы х у р а в н е н и й м е т о д о м
Р е ш е н и е н е л и н е й н ы х у р а в н е н и й м е т о д о м
Р е ш е н и е н е л и н е й н ы х у р а в н е н и й м е т о д о м
Решение систем линейных уравнений
Общая характеристика методов решения систем линейных уравнений
Способы решения систем линейных уравнений разделяются на две группы:
1. Точные методы, представляющие собой конечные алгоритмы вычис-ления корней системы.
2. Итерационные методы, позволяющие получать корни системы с заданной точностью путем использования сходящихся бесконечных процессов.
Наиболее известными методами первой группы являются правило Крамера и метод Гаусса. Ко второй группе относятся метод итераций, метод Гаусса-Зейделя, метод релаксации и др.
Вследствие неизбежных округлений результаты даже точных методов являются приближенными, причем оценка погрешности корней в общем случае затруднительна. При использовании итерационных методов к погрешностям корней добавляется погрешность метода.
Приближенное интегрирование функций.
ПОДПРОГРАММА ОТДЕЛЕНИЯ КОРНЕЙ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
ПРИЛОЖЕНИЕ 1
SUBROUTINE OTKOR (KSH,X1,X2)
* ОТДЕЛЕНИЕ КОРНЕЙ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
* KSH - КОЛИЧЕСТВО ШАГОВ ПО ОСИ АБСЦИСС
* X1,X2 - ЗНАЧЕНИЯ Х, ПРИ КОТОРЫХ F(X1) * F(X2) < 0
* X0 - НАЧАЛЬНОЕ ЗНАЧЕНИЕ Х
* SH - ШАГ ДВИЖЕНИЯ ПО ОСИ Х
PRINT*,’ ВВЕДИТЕ X0,SH ‘
READ(5,*) X0,SH
KSH =0
X1= X0
1 X2= X1+SH
KSH= KSH+1
IF (KSH.GT.100) GO TO 5
F1=F(X1)
F2=F(X2)
IF (F1*F2) 3,3,2
2 X1=X2
GO TO 1
3 PRINT 4,X1,X2,F1,F2
4 FORMAT (5X,'КОРЕНЬ УРАВНЕНИЯ НАХОДИТСЯ В ИНТЕРВАЛЕ '/
*21X,’X1=’,F8.2,6X,’X2=’,F8.2,/12X,’ПРИ ЭТОМ F(X1)= ’,F8.2,
*3X,’F(X2)=’,F8.2)
GO TO 10
5 PRINT 6,KSH,F1,F2
6 FORMAT (5X,’ПОСЛЕ ‘,I4,’ ШАГОВ ПЕРЕМЕНЫ ЗНАКА ‘/
* ’ФУНКЦИИ НЕ ПРОИЗОШЛО ‘/ 10X,’F1=’,F8.2,5X,’F2=’,F8.2)
10 RETURN
END
FUNCTION F(X)
* Решаемое уравнение
F=COS(2*X) -.25
END
Примечание. Подпрограмма FUNCTION F(X) в данном случае относится к уравнению COS2-0.25=0. Для каждого другого решаемого уравнения оператор F=... в подпрограмме F(X) пишется заново.
ПРИМЕР РЕШЕНИЯ УРАВНЕНИЯ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ
ПРИЛОЖЕНИЕ 2
PROGRAM RESH
* Головная программа
DO 5 N=6,7
WRITE(N,1)
1 FORMAT(5X,'РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ'/
*5X,'МЕТОДОМ ПОЛОВИНОГО ДЕЛЕНИЯ')
WRITE(N,2)
2 FORMAT(5X,'РЕШАЕМОЕ УРАВНЕНИЕ Y=COS(2*X)-0.25')
5 CONTINUE
CALL OTKOR(N,X1,X2)
IF(N.GT.100) GO TO 10
PRINT*,’Введите допускаемую погрешность EPS’
READ(5,*)EPS
CALL DELPO (X1,X2,EPS,X,K)
ПРИМЕР РЕШЕНИЯ УРАВНЕНИЯ МЕТОДОМ ХОРД
ПРИЛОЖЕНИЕ 3
PROGRAM RESH
* Главная программа
DO 5 N=6,7
WRITE(N,1)
1 FORMAT(//15X,'РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ'/
*15X,МЕТОДОМ ХОРД')
WRITE(N,2)
2 FORMAT(15X,'РЕШАЕМОЕ УРАВНЕНИЕ Y=COS(2*X)-0.25')
5 CONTINUE
CALL OTKOR(N,X1,X2)
IF(N.GT.100) GO TO 10
ПРИМЕР РЕШЕНИЯ УРАВНЕНИЯ МЕТОДОМ НЬЮТОНА
ПРИЛОЖЕНИЕ 4
PROGRAM RESH
|
DO 5 N=6,7
WRITE(N,1)
1 FORMAT(//15X,’РЕШЕНИЕ НЕЛИНЕЙНЫХ
*УРАВНЕНИЙ ’/
*15X,’МЕТОДОМ ПРОСТЫХ ИТЕРАЦИЙ’)
WRITE (N,2)
2 FORMAT (15X,’РЕШАЕМОЕ УРАВНЕНИЕ
*X-COS(X)-0.25=0 ‘ )
5 CONTINUE
CALL OTKOR (N,X1,X2)
IF(N.GT.100) GO TO 10
ПРИМЕР РЕШЕНИЯ УРАВНЕНИЯ МЕТОДОМ ПРОСТЫХ ИТЕРАЦИЙ
ПРИЛОЖЕНИЕ 5
PROGRAM RESH
* Главная программа
|
WRITE(N,1)
1 FORMAT(//15X,'РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ'/
*15X,'МЕТОДОМ НЬЮТОНA')
WRITE(N,2)
2 FORMAT(15X,'РЕШАЕМОЕ УРАВНЕНИЕ Y=COS(2*X)-0.25')
5 CONTINUE
CALL OTKOR(N,X1,X2)
IF(N.GT.100) GO TO 10
Выбрать из таблицы уравнение для решения
ПРИЛОЖЕНИЕ 6
Для лабораторных работ №1,2,3,4,5 трансцендентные уравнения выбираются из таблицы 1, а алгебраические - из таблицы 2, соот-ветствующие № в списке журнала посещаемости группы.
Таблица 1
№ п.п | Уравнение | № п.п | Уравнение |
1. | x - sinx = 0,25 | 14. | x + ln(x +0,5) – 0,5 = 0 |
2. | tg (0,58x + 0,1 ) = x2 | 15. | x2 – sin 5x = 0,3 |
3. | √x – cos (0,387x ) = 0 | 16. | 1/x = sinx |
4. | lgx – 7 / (2x + 6 ) = 0 | 17. | x – sinx = 0,25 |
5. | tg (0,5x + 0,2 ) = x | 18. | cos (x +0,3 ) = x2 |
6. | ( x – 3 ) ∙ cosx = 1 | 19. | 5sinx = x - 1 |
7. | (x – 1 )∙lg (x + 11 )= 1 | 20. | xlgx + (x + 1 ) = 1 |
8. | x2 cos2x = - 1 | 21. | tgx + x = 1 |
9. | ctgx – x / 5 = 0 | 22. | xlgx – 1,2 = 0 |
10. | 2lg ( – x / 2 ) + 1 = 0 | 23. | 2x + lgx – 7 =0 |
11. | x2 + 4sinx = 0,2 | 24. | tg (0,44x + 0,3 ) = x2 |
12. | ctg0,5x – x2 = 0 | 25. | x2 – sin x = 0,1 |
13. | tg0,63x – 0,92x = 0,5 | 26. | x + cos x =1 |
(повторить п. 2.2 данной методички)
Произвести отделение корней для уравнения вида f(x)=ax3+bx2+cx+d
по формуле: C=1+ Amax/An
где: С= начало отрезка, т.е. Х0 ;
An= коэффициент при X с наибольшим показателем степени;
Amax = наибольший коэффициент в уравнении - в, с, или d;
(значения коэффициентов указаны в строке каждого из вариантов в таблице 2).
Таблица 2
Вариант | a | b | c | d |
0,890 | -2,813 | -3,69 | 11,20 | |
0,107 | -0,461 | -2,37 | 5,44 | |
1,276 | -3,60 | -1,37 | 6,76 | |
0,170 | -0,569 | -1,60 | 3,73 | |
1,039 | -3,145 | -1,94 | 8,00 | |
4,684 | -14,04 | -2,45 | 23,50 | |
2,11 | -6,44 | -3,19 | 15,13 | |
3,94 | -11,79 | -1,56 | 18,67 | |
1,20 | -3,53 | -1,36 | 7,11 | |
1,00 | -3,00 | -24,0 | 10,0 | |
2,00 | -5,00 | 8,00 | -7,00 | |
3,00 | -5,50 | 7,5 | -8,0 | |
4,00 | -6,00 | 7,00 | -9,0 | |
5,00 | -6,50 | 6,50 | -10,0 | |
6,00 | -7,00 | 6,00 | -11,0 |
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА (МЕТОД ТРАПЕЦИЙ)
ПРИЛОЖЕНИЕ 7
FUNCTION F(X)
* Подинтегральная функция
F=COS(X**2)
RETURN
END
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА (МЕТОД СИМПСОНА)
ПРИЛОЖЕНИЕ 8
PROGRAM U7
PRINT*,'ЧИСЛЕННОЕ ИНТЕГРИРОВAНИЕ МЕТОДОМ СИМПСОНA'
PRINT*,'ВВЕД. НИЖНИЙ И ВЕРХНИЙ ПРЕДЕЛЫ ИНТЕГРИРОВAНИЯ'
PRINT*,'A ТAКЖЕ РAСЧЁТНОЕ (НЕЧЁТ.) КОЛИЧЕСТВО ОРДИНAТ'
READ(5,*) A,B,N
H=(B-A)/(N-1)
S=F(A)+F(B)
KK=-1
DO 5 X=A+H,(B-H)*1.001,H
KK=-KK
K=KK+3
S=S+K*F(X)
5 CONTINUE
QN=S*H/3
DO L=6,7
WRITE (L,10) A,B,N
10 FORMAT (5X,'ВЫЧИСЛЕНИЕ ОПРЕДЕЛЁННОГО ИНТЕГРАЛA',/
*5X,'(МЕТОД СИМПСОНA)'//
*5X,17('-'),'ИСХОДНЫЕ ДAННЫЕ',17('-'),//
*5X,'НИЖНИЙ ПРЕДЕЛ A=',F7.3,/
*5X,'ВЕРХНИЙ ПРЕДЕЛ B=',F7.3,/
*5X,'РАСЧЁТНОЕ КОЛИЧЕСТВО ОРДИНAТ N=',I2)
WRITE (L,20) QN
20 FORMAT (/5X,16('-'),'РЕЗУЛЬТAТЫ РAСЧЁТA',16('-'),//
*5X,'ЧИСЛЕННОЕ ЗНАЧЕНИЕ ИНТЕГРAЛA РAВНО',F12.6,/65('-'))
END DO
END
FUNCTION F(X)
* Решаемое уравнение
F=COS(X+X**3)
* F=COS(X**2)
RETURN
END
Результаты выполнения программ имеют такой вид:
Вычисление определенного интеграла методом Симпсона
--------------- ИСХОДНЫЕ ДАННЫЕ-------------------
НАЧАЛО ОТРЕЗКА XN = 0.500
КОНЕЦ ОТРЕЗКА XK = 1.000
ДОПУСКАЕМАЯ ПОГРЕШНОСТЬ EPS = 0.000100
--------------РЕЗУЛЬТАТЫ РАСЧЕТА------------------
ИСКОМЫЙ КОРЕНЬ X = 0.884080
ЗНАЧЕНИЕ ФУНКЦИИ F(X) = 0.000079
КОЛИЧЕСТВО ИТЕРАЦИЙ K =31.
Литература
1. Демидович Б.П. и Марон И.А. Основы вычислительной математики,
"Наука", M.I 966, 664с.
литературы, М. 1955, 380с.
"Наука",М.1967,646с.
М. 1990, 272 с.
МИФИ”, 1998г.- 397с.
6. О.В. Бартеньев Фортран для студентов. М.: “Диалог - МИФИ”, 1999г. – 397 с.
– Конец работы –
Используемые теги: основы, информационных, технологий, Программирование0.07
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основы информационных технологий и программирование
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов