- •Основы математического моделирования
- •Содержательные математические модели
- •Классификация содержательных моделей
- •Формальные математические модели
- •Законы сохранения
- •Вариационные принципы
- •Элементы теории размерностей
- •Контрольные вопросы
- •Основы работы с системой Maxima
- •Установка и запуск системы Maxima
- •Графический интерфейс wxMaxima
- •Справочная информация в wxMaxima
- •Сохранение данных и управление wxMaxima
- •Система компьютерной математики Maxima
- •Основные возможности системы Maxima
- •Скалярные выражения
- •Векторные и матричные выражения
- •Функции и управляющие структуры
- •Контрольные вопросы
- •Элементы вычислительной математики
- •Основы теории погрешностей
- •Абсолютная и относительная погрешности
- •Погрешности основных операций
- •Численное решение нелинейных уравнений
- •Локализация корней уравнения
- •Метод бисекции
- •Метод простой итерации
- •Метод касательных
- •Методы численного интегрирования
- •Метод прямоугольников
- •Метод трапеций
- •Метод парабол
- •Численное решение задачи Коши
- •Метод Эйлера
- •Метод Эйлера–Коши
- •Методы Рунге–Кутты
- •Контрольные вопросы
- •Моделирование в приложениях
- •Падение тела с учётом сопротивления воздуха
- •Колебания маятника с учётом силы трения
- •Полёт тела с учётом сопротивления воздуха
- •Листинги программ
24 2. Система компьютерной математики Maxima
определяется числом значений переменной цикла «v=a, a+s, ..., b». Формы (б) и (в) используются в том случае, если число повторений цикла определяется выполнением, либо невыполнением условия «cnd». Заметим, что в определении цикла любое из ключевых слов за исключением слова «do» может быть пропущено вместе с соответствующим параметром. В последнем случае получается простейший бесконечный цикл, выход из которого возможет лишь с помощью функции «return()». Эта же функция может быть использована и для досрочного выхода из тела любого другого цикла. Пример использования цикла «for» для отображения 3–6 элементов последовательности Фиббоначи показан в 2.3 : (%i7)–(%o7).
Листинг 2.3. Пример определения пользовательской функции
(%i1) f(x,y):=x*sin(y)+cos(y)/x$
(%i2) |
fy:f(1,y); fx:f(x,0); |
|
(%o2) |
sin( ) + cos( ) |
|
(%o3) |
1 |
|
|
||
|
||
(%i4) |
diff(fy,y,2); integrate(fx,x); |
|
(%o4) |
− sin( ) − cos( ) |
|
(%o5) |
log( ) |
(%i6) f[n]:=if n=1 or n=2 then 1 else f[n-2]+f[n-1];
(%o6) := if = 1 or = 2 then 1 else −2 + −1
(%i7) for n:3 thru 6 do print("f[",n,"]=",f[n])$ f[3]=2
f[4]=3
f[5]=5
f[6]=8
2.3. Контрольные вопросы
1.Какой символ используется в Maxima для разделения нескольких, стоящих в одной строке выражений?
2.Какие символы используются в Maxima для построения составных выражений в операторах «if» и «for»?
2.3. Контрольные вопросы |
25 |
3. Запишите команду для получения в Maxima списка чисел от −1
до 1 с шагом 1 .
10
4.Запишите команды для получения в Maxima нулевой матрицы размером 2 × 3 и единичной матрицы третьего порядка.
5.Какие идентификаторы используются в Maxima для обозначения пропущенного, неопределённого и неограниченного выражений?
6.Допустимо ли использование составного условного выражения для оператора «if»?
7.Может ли переменная цикла «for» принимать действительные значения с переменным шагом?
8.При каком значении условного выражения происходит выход из цикла «while»?
9.Какой оператор используется для выхода из цикла «do»?
10.Запишите определение функции двух аргументов «delta», вычисляющей разность между большим и меньшим аргументами.
