- •Лабораторная работа № 6 Математические расчёты с помощью программы Smath studio
- •1. Цель работы
- •2. Теоретические пояснения
- •Интерфейс программы
- •Форматирование текста
- •Ввод, редактирование и форматирование математических выражений
- •Определение функции
- •Вычисление выражений
- •Функции для численного решения уравнений
- •3. Порядок выполнения работы
- •1. Ввод формул и текста, решение простейших выражений.
- •6. Решение дифференциальных уравнений
- •4. Задания для тренировки
- •Контрольные вопросы для домашней подготовки
- •Лабораторная работа № 7 Математические расчёты с помощью программы Maxima.
- •1. Цель работы
- •3. Научиться строить визуализировать результаты решения с помощью графиков.
- •2. Теоретические пояснения
- •Интерфейс программы
- •Ввод и решение простейших выражений в Maxima
- •Константы
- •Арифметические операции
- •Переменные
- •Математические функции
- •Символьные преобразования
- •Графическое отображение данных
- •Решение дифференциальных уравнений
- •3. Порядок выполнения работы
- •6. Решение дифференциальных уравнений
- •7. Символьные вычисления
- •4. Задания для тренировки
- •Контрольные вопросы для домашней подготовки
- •Лабораторная работа № 8 Математические расчёты с помощью программы SciLab.
- •1. Цель работы
- •3. Научиться строить визуализировать результаты решения с помощью графиков.
- •2. Теоретические пояснения
- •Интерфейс программы
- •Арифметические операции
- •Переменные
- •Системные переменные
- •Константы
- •Математические функции
- •Матрицы
- •Функции для решения нелинейных уравнений и их систем
- •Графическое отображение данных
- •Решение дифференциальных уравнений
- •3. Порядок выполнения работы
- •1. Ввод формул и текста, решение простейших выражений.
- •2. Решение уравнений
- •3. Решение систем линейных уравнений матричным способом
- •4. Решение систем нелинейных уравнений
- •5. Построение графиков функций
- •6. Решение дифференциальных уравнений
- •4. Задания для тренировки
- •Контрольные вопросы для домашней подготовки
- •Библиографический список
- •Содержание
- •394026 Воронеж, Московский просп., 14
Матрицы
Для определения векторов и матриц следует ввести имя массива, а затем после знака присваивания, в квадратных скобках через пробел или запятую, перечислить элементы массива для определения строк и через точку с запятой, для определения столбцов.
-
-->name = [1 2; 3 4]
name =
1. 2.
3. 4.
Обращение к элементу матрицы, осуществляется указанием имени матрицы и порядкового номера строки, столбца элемента в круглых скобках.
-
-->name(2,2)
ans =
4.
Указывая знак двоеточия «:» вместо индекса при обращении к массиву, можно получать доступ к группам его элементов.
-
-->name(2,:)
ans =
3. 4.
Для удаления элементов матрицы, необходимо выделенные элементы приравнять к пустым квадратным скобкам.
-
// удаление второго столбца матрицы
-->name(:,2)=[]
name =
1.
3.
Функции для решения нелинейных уравнений и их систем
Функция poly(a, "x ["fl"]) – предназначена для определения полинома в системе. a – это число или матрица чисел, x – символьная переменная, fl – необязательная символьная переменная, определяющая способ задания полинома. Символьная переменная fl может принимать только два значения - «roots» или «coeff» (соответственно «r» или «c»). Если fl=c, то будет сформирован полином с коэффициентами, хранящимися в параметре a. Если же fl=r, то значения параметра a воспринимаются функцией как корни, для которых необходимо рассчитать коэффициенты соответствующего полинома. По умолчанию fl=r.
Функция roots(p) предназначена для решения алгебраического уравнения. Здесь p – это полином, созданный функцией poly() и представляющий собой левую часть уравнения P(x) = 0.
Функция fsolve(x0,f) – предназначена для решения уравнений и их систем вида f(x) = 0, включающие показательные, логарифмические и тригонометрические функции. Здесь x0 –начальное приближение, f – функция, описывающая левую часть уравнения f(x) = 0.
Графическое отображение данных
Построение графиков в Scilab производится с помощью функции plot. Функция имеет следующий синтаксис:
plot(x,y)
Т.к. функция строит график по точкам, необходимо предварительно определить координаты точек. Для этого создаём переменную в виде вектора со значениями диапазона построения. Определяем вектор значений по оси ординат и строим график:
-
-->x = -2*%pi:0.1:2*%pi;
-->y = sin(2*x);
-->plot(x,y)
Для того, чтобы отобразить несколько графиков на одном холсте, необходимо создать вектор, столбцы которого будут являться новыми линиями на графике:
-
-->x = -%pi:0.1:%pi;
-->plot(x,[sin(2*x); sin(x); 2*sin(x)])
Решение дифференциальных уравнений
Для решения дифференциальных уравнений и систем в Scilab предусмотрена функция
[y,w,iw]=ode(y0,t0,t,f)
для которой обязательными входными параметрами являются: y0 – вектор начальных условий; t0 —начальная точка интервала интегрирования; t – координаты узлов сетки, в которых происходит поиск решения; f – внешняя функция, определяющая правую часть уравнения или системы уравнений; y – вектор решений.
Таким образом, для
того чтобы решить обыкновенное
дифференциальное уравнение вида
,
необходимо вызвать функцию
y=ode(y0,t0,t,f).
где, f – ссылка на предварительно созданную функцию f(t; x);
t – координаты сетки;
x0, t0 – начальное условие x(0) = 1:5;
y – результат работы функции.
