- •ВВЕДЕНИЕ
- •2. СОЗДАНИЕ И РЕДАКТИРОВАНИЕ ФОРМУЛ И ТЕКСТА
- •2.1.Курсор
- •2.2. Шаблоны
- •2.3. Текстовые области
- •2.4. Задание размерности
- •3. ВХОДНОЙ ЯЗЫК СИСТЕМЫ
- •3.1. Общие сведения
- •3.2. Алфавит
- •3.3. Элементарные конструкции
- •3.4. Выражения
- •3.5. Операторы
- •3.6. Константы и переменные
- •3.7. Функции
- •3.7.1. Встроенные функции
- •3.7.2. Функции, принимающие несколько значений
- •3.7.3. Функции, определяемые пользователем
- •4. РАБОТА С ДОКУМЕНТАМИ
- •5. ВЫПОЛНЕНИЕ ВЫЧИСЛЕНИЙ
- •6. ВЕКТОРЫ И МАТРИЦЫ
- •6.1. Создание и отображение массивов
- •6.2. Задание элементов массивов
- •6.3. Векторные и матричные операции
- •6.4. Векторные и матричные функции
- •6.4.1. Формирование матриц
- •6.4.2. Определение размеров массивов и значений элементов
- •6.4.3. Сортировка векторов и матриц
- •6.4.4.Специальные характеристики матрицы
- •7. ПОСТРОЕНИЕ ГРАФИКОВ
- •7.1. Графические возможности
- •7.2. Создание графиков на плоскости
- •7.2.1. График в декартовых координатах (X-Y Plot)
- •7.2.2. График в полярной системе координат (Polar Plot)
- •7.3. Построение трёхмерных графиков
- •7.3.1. Создание трёхмерных графиков
- •7.3.2. Форматирование трехмерных поверхностей
- •7.3.3. Построение контурных графиков (Contour Plot)
- •7.3.4. Построение точечного графика (3D Scatter Plot)
- •7.3.5. Построение трёхмерной гистограммы
- •7.3.6. Векторное поле (Vector Field Plot)
- •7.4. Применение функций CreateMesh и CreateSpace
- •7.5. Импорт изображений
- •8. ДАННЫЕ ФАЙЛОВОГО ТИПА
- •9. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
- •9.1. Организация символьных вычислений
- •9.2. Меню Symbolics
- •9.2.1. Обзор команд меню Symbolics
- •9.2.2. Операции с выделенными выражениями
- •9.2.3. Операции с выделенными переменными
- •9.2.4. Операции с выделенными матрицами
- •9.2.5. Операции преобразования
- •9.3. Система SmartMath
- •9.3.1 Операции символьного вывода
- •9.3.2.Состав директив
- •9.3.3. Вычисление пределов
- •9.3.4. Специальные функции
- •9.3.5. Большие символьные результаты
- •10. РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ
- •10.1. Решение уравнения с одной неизвестной
- •10.2. Поиск всех корней полинома
- •10.3. Решение систем нелинейных уравнений и неравенств
- •10.4. Решение систем линейных уравнений
- •10.5. Символьное решение алгебраического уравнения
- •11. ОБРАБОТКА ДАННЫХ
- •11.1. Интерполяция
- •11.2. Регрессии
- •11.3. Сглаживание данных
- •12. ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ И СИСТЕМЫ
- •12.1. Методы решения
- •12.2. Пример использования функции rkfixed
- •12.3. Решение системы ОДУ первого порядка
- •13. ПРОГРАММНЫЕ БЛОКИ
- •13.1. Программирование в пакете MathCad
- •13.2. Программные операторы
- •ЗАДАНИЯ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ОГЛАВЛЕНИЕ
Например, определим функцию H(x,y):=sin(x,y). Зададим пределы изменения переменных и вычислим матрицу поверхности:
u0:=-2, u1:=2, v0:=-2, v1:=2
C:= CreateMesh(H, u0, u1, v0, v1).
После указания имени С в шаблоне графика Surface Plot получим искомую поверхность. Если для формирования матрицы воспользоваться выражением
C:= CreateMesh(H, u0, u1, v0, v1, 10),
то при построении поверхности будет использовано 10 линий сетки.
Функцию CreateMesh можно использовать для построения объёмной фигуры путём вращения кривой f(x,y) вокруг оси x или y.
Функция CreateSpace отличается от CreateMesh тем, что использует заданную в векторной форме функцию одной переменной.
7.5. Импорт изображений
MathCad позволяет включать в документы изображения, созданные различными графическими системами (Paint, AutoCad, Pcad и др.). Рисунки можно передавать через буфер обмена либо загружать из файлов.
Для импорта файла с рисунком необходимо выполнить команду Insert|Picture и в поле ввода появившегося шаблона записать полное имя файла. Так как имя файла задаётся строкой, то его надо записывать в кавычках. Например:
"G:\MathCad\Ballns1.bmp".
Рисунок из буфера включается в нужное место документа командой Edit|Paste.
8.ДАННЫЕ ФАЙЛОВОГО ТИПА
Всистеме MathCad можно работать с данными файлового типа. Разрешено применять последовательные текстовые файлы, использующие коды ASCII. В сущности файлы данных представляют собой векторы и матрицы, записанные в текстовом формате.
При записи файла система считывает значения векторов и матриц поэлементно (для матриц слева направо и сверху вниз) и по ходу считывания преобразует числовые значения элементов в их
34
символьные эквиваленты, использующие ASCII-коды. Эти символьные значения и записываются в файл.
Существует семь операций для работы с файлами. Создаваемые или используемые ими файлы можно просмотреть и отредактировать в любом текстовом редакторе, использующем коды ASCII. При считывании файлов система обеспечивает обратное преобразование символьных представлений элементов массивов в числовые значения.
|
Таблица 2 |
Функции для работы с файлами |
|
|
|
Функция |
Выполняемые действия |
READPRN (“Имя_файла”) |
Считывание из файла матрицы, |
|
каждая строка которой |
|
соответствует строке текстового |
|
файла |
WRITEPRN (“Имя_файла”) |
Запись в файл матрицы |
|
построчно. |
APPENDPRN (“Имя_фaйлa”) |
Добавление данных в конец |
|
существующего файла с |
|
матрицей |
READRGB (“Имя_файла”) |
Считывание RGB-изображения |
READ (“Имя_файла”) |
Считывание простого списка |
|
чисел |
WRITE (“Имя_файла”) |
Запись простого списка чисел |
APPEND (“Имя_фaйлa”) |
Добавление чисел в конец |
|
существующего списка. |
Имена всех функций записываются прописными буквами. Имя файла является строкой, поэтому указывается в кавычках. Если используемый файл расположен не в текущей папке, то следует задавать полное имя файла.
Функции READ и READPRN используют для присваивания значений массивам:
A:= READ (“Имя_файла”) B:= READPRN (“Имя_файла”)
Функции WRITE, WRITEPRN записывают в файл массивы. Причём способ формирования массива значения не имеет: можно
35
предварительно создать массив с помощью шаблона, задать выражение или определить функцию пользователя.
WRITE (“Имя_файла”):=V WRITEPRN (“Имя_файла”):=f(x) WRITEPRN (“Имя_файла”):=x2
Функции APPEND и APPENDPRN, дописывающие данные в конец файла, используются аналогично функциям записи.
Начиная с версии MathCad 8 основными функциями для работы с файлами являются READPRN, WRITEPRN, APPENDPRN, оперирующие данными определённой структуры.
Функции READ, WRITE, APPEND сохранены для совместимости с предыдущими версиями пакета. Эти функции работают с простыми последовательностями чисел (списками) и требуют для формирования матрицы или вектора задания ранжированных переменных.
Считывание одномерного массива из файла i := 1.. 6
ti := READ("f2.txt")
Запись вектора в файл
x := 0 .. 4 |
f (x) := x2 |
WRITE("VECTOR.txt") := f (x)
Создание матрицы из списка, сформированного в блокноте
k := 0.. 2 |
m := 0 .. 2 |
matrk ,m := READ("f1.txt")
Дополнение массива
APPEND ("f2.txt") := f (x)
При создании файла данных в виде простого списка в текстовом редакторе или другой программе можно данные записывать в строку через пробел или каждое число записывать на отдельной строке. Если дальнейшая обработка выполняется функциями READ и APPEND, то форма записи данных в исходном файле значения не имеет. Если же используются функции READPRN и APPENDPRN, то структура файла имеет принципиальное значение. Лучше при формировании простого
36
списка располагать данные в строку, так как именно таким образом записывает их MathCad процедурой WRITE.
При использовании функций READPRN, WRITEPRN, APPENDPRN действия выполняются с матрицей, имеющей определённое число строк и столбцов. Запись матрицы в файле соответствует представлению её на экране, то есть имеет привычный вид двумерного массива. Структура данных определяется автоматически, что облегчает выполнение операций чтения и записи данных, но лишает пользователя возможности управлять этим процессом.
Особое внимание на структуру данных надо обращать при дополнении массива. Чтобы добавить данные в конец существующего файла со структурированными данными, необходимо убедиться в том, что число столбцов в добавляемых данных совпадает с количеством столбцов в файле данных. Например, если в файле f.txt хранится матрица:
1 |
55 |
99 |
88 |
77 |
44 |
10 |
20 |
30 |
40 |
50 |
60 |
31 |
32 |
33 |
34 |
35 |
36 |
41 |
42 |
43 |
44 |
45 |
46 |
51 |
52 |
53 |
54 |
55 |
56 |
то можно сформировать массив matr4 matr4 := ( 5 55 555 55 5 555 )
и дополнить им данные в файле командой
APPENDPRN ("f.txt") := matr4
В итоге в файле будет записан массив:
1 |
55 |
99 |
88 |
77 |
44 |
10 |
20 |
30 |
40 |
50 |
60 |
31 |
32 |
33 |
34 |
35 |
36 |
41 |
42 |
43 |
44 |
45 |
46 |
51 |
52 |
53 |
54 |
55 |
56 |
5 |
55 |
555 |
55 |
5 |
555 |
Предусмотрена возможность хранения в файлах матриц с комплексными элементами. В этом случае MathCad действительную и мнимую часть каждого числа записывает через запятую и заносит в файл служебную информацию. Поэтому создавать файлы с массивами комплексных чисел целесообразно в среде MathCad, а не в каком-либо текстовом редакторе.
37