русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа № 3


Дата добавления: 2014-11-27; просмотров: 690; Нарушение авторских прав


Часть 1. Решение систем алгебраических уравнений.
Численное интегрирование

 

Системы алгебраических уравнений (линейных и нелинейных) решаются аналогично одному уравнению. Отличие заключается в том, что количество уравнений (то есть количество переменных) nопределяет количество начальных приближений и ответ получается в виде вектора n-го порядка. Например, чтобы решить систему алгебраических уравнений 2-го порядка

,

необходимо задать 2 произвольных начальных приближения. Возьмем их равными единице, затем – все как для одного уравнения (переменные х1 и х2 можно писать с нижним индексом, а можно просто как переменные х1 и х2).

 

Задание 1. Решить вышеприведенную систему:

x1:=1 x2:=1

Given

x12+x2 3

x1–x23 1

find(x1,x2) =

Задание 2. Самостоятельно решить систему алгебраических уравнений:

 

Для систем линейных алгебраических уравнений существует матричный способ решения, при котором не нужно задавать начальное приближение и не надо использовать функции given и find. Чтобы решить систему из 2-го задания в матричной форме, нужно записать матрицу ее коэффициентов и столбец свободных членов, обязательно вычислить определитель матрицы М; если он не равен 0, то система имеет решение. Решение получаем, используя функцию lsolve, первый параметр которой – матрица коэффициентов, второй параметр функции lsolve – столбец свободных членов.

Если какой-либо коэффициент в системе равен нулю, то в матрице коэффициентов его надо записать равным нулю.

 

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

М:= N:= ½M½= lsolve(M,N)=

Задание 4. Самостоятельно решить систему уравнений в матричной форме:

 
 

Численное интегрирование означает в данном случае вычисление определенных интегралов или взятие неопределенных интегралов с последующей подстановкой в полученную формулу заранее заданных значений переменной. Знаки определенного и неопределенного интегралов набирают, щелкнув на кнопку с изображением соответствующего интеграла (Рис. 20).



 

Взять неопределенный интеграл можно только с помощью символьных преобразований. Для этого нужно записать интеграл, выделить его с помощью клавиши «Пробел», зайти в меню Symbolics (Символика), найти слово Evaluate (Вычисление), щелкнуть по слову Symbolically (Символьный). Определить значение неопределенного интеграла (то есть полученной первообразной) в заданной точке можно, задав значение переменной перед интегралом.

Таким образом, чтобы вычислить значение неопределенного интеграла в заданной точке, нужно

- задать значение переменной интегрирования,

- записать интеграл,

- взять от него первообразную,

- выделить ее и нажать знак равенства с клавиатуры.

 

Задание 5. Вычислить значение неопределенного интеграла

в точке z = 1:

Задание 6. Самостоятельно определить значение неопределенного интеграла в точке z = 15. (Функцию sin можно набрать с клавиатуры или взять с панели инструментов Calculator).

Задание 7. Определить значение неопределенного интеграла в точке х = 3,7 (Логарифмические функции можно набрать с клавиатуры или взять с панели инструментов).

Задание 8. Определить значение неопределенного интеграла при y = .

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

Задание 9. Определить значения определенных интегралов

; ; ;

; .

Задание 10. Определить значение не берущегося в квадратурах интеграла .

(Квадратные скобки набирать не надо).


Часть 2. Дифференцирование функций.
Решение дифференциальных уравнений

 

Для определения производной какой-либо функции необходимо поставить значок (см. рис. (20), набрать функцию, выделить все выражение и произвести символьное преобразование.

 

Задание 1. Взять производную от функции .

 

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

 

Задание 1. Определить значение производной функции у(х) = х2 + х – 1 при х = 1:

x:=1 =

Задание 2. Самостоятельно найти производную функции f(x) = 6x5 + 3x2 и определить ее значение в точке x = 2,5 .

 

Аналогично можно найти вторую, третью и т.д. производные, только значок нужно поставить (см. рис. 20). Степень производной заполняется только в знаменателе этой дроби, в числителе MathCad поставит сам.

 

Задание 3. Определить значение второй, третьей и четвертой производных функции у(х) = х3 + 5 в точке х = 2,5. (Значение х можно присвоить один раз, если оно постоянно).

 

Решить дифференциальное уравнение – это значит найти функцию y(x), удовлетворяющую начальным условиям. MathCad решает дифференциальные уравнения численными методами, то есть находит значение искомой функции в дискретных точках заданного интервала. Ответом будет являться матрица значений аргумента х и функции y в этих точках. MathCad обладает несколькими численными методами решения дифференциальных уравнений. Один из них – метод Рунге-Кутта с фиксированным шагом – работает при использовании встроенной функции rkfixed. Чтобы воспользоваться этой функцией, необходимо преобразовать исходное уравнений таким образом, чтобы в левой части осталась производная без коэффициента, а все остальные члены уравнения были перенесены в правую часть. На экране должно быть записано начальное условие, присвоенное переменной у. Затем надо правую часть заданного уравнения присвоить любому идентификатору с параметрами х и у. Затем какой-либо переменной присвоить обращение к функции rkfixed. Аргументами функции rkfixed являются переменная, обозначающая искомую функцию, интервал изменения аргумента, количество точек, в которых ищется функция у(х), правые части. На рис. 21 приведено решение дифференциального уравнения y' + 3y = 0 в 50-ти точках с начальным условием у(0) = 4 на интервале хÎ(0; 2).

Уравнение преобразовано к виду y' = –3y.

Результат решения
График у(х)
Начальное условие
Обращение к функции
Правая часть

Рис. 21

 

Начальные условия записаны в виде y:= 4.

Правая часть уравнения (–3y) присвоена идентификатору D с параметрами, первый из которых – аргумент (в нашем случае х), второй – функция (для нашего примера – у): D(x, y):= –3y. Результат выполнения функции rkfixed присвоен переменной z. Аргументами функции rkfixed являются переменная у, интервал изменения переменной х (0, 2), количество точек, в которых ищется решение (50), функция правой части исходного уравнения (D) (Рис. 22).

 
 

Решением дифференциального уравнения является матрица z, в нулевом столбце которой всегда находится аргумент (в нашем случае х), в первом столбце всегда – искомая функция (в нашем примере – у). Чтобы увидеть решение, необходимо записать z = .

На рис. 21 результат решения (т.е. матрица z) показан в виде таблицы чисел. Таблица имеет столько строк, в скольких точках найдено решение. В нашем примере это 50 точек. Чтобы посмотреть все 50 точек, нужно воспользоваться линейкой прокрутки, которая появляется справа от таблицы, если щелкнуть по ней мышкой. Как видим, в нулевой строке матрицы z стоят числа 0 и 4, т.е. при х = 0 у = 4, что соответствует заданному начальному условию.

Чтобы построить график найденной функции y(x), нужно вспомнить, что аргумент х хранится в нулевом столбце матрицы z, а функция у – в первом столбце этой матрицы. Для обозначения нужного столбца какой-либо матрицы существует кнопка М< > (см. рис. 9, а). В треугольных скобках пишется номер нужного столбца. На рис. 21 показан график зависимости первого столбца матрицы z от нулевого столбца, т.е. зависимость у от х.

Если мы хотим построить график не во всем заданном интервале аргумента, т.е. не во всех точках, необходимо задать до графика интервалы изменения первого индекса матрицы z (номер строки). Номер нужного столбца набрать как второй индекс матрицы z. Например, чтобы построить график функции у(х) с 5-й по 25-ю точки, нужно записать

 
 


i:=5..25

 

zi,1

 

 

zi,0

Задание 4. Самостоятельно решить дифференциальное уравнение
y' + y2 x = 0 с начальными условиями y(0) = 1 на интервале хÎ(0; 10) в 50-ти точках методом Рунге-Кутта с фиксированным шагом. Построить график функции у(х) во всех 50-ти точках.

Задание 5. Самостоятельно решить дифференциальное уравнение
y' = sin(x) – 1 с начальными условиями у(0) = 0 в 100 точках интервала хÎ(0; 10p). Построить график функции у(х) с 5-й по 60-ю точки.

 

 




<== предыдущая лекция | следующая лекция ==>
Часть 2. Решение алгебраических уравнений | Работа №4


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.625 сек.