Файл: Петрозаводский государственный университет.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 189

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Урок 6. Функции работы с файлами
93
 функцию APPENDPRN следует использовать тогда, когда требуется добавить дан- ные в конец уже существующего файла. При этом число столбцов добавляемого массива A должно совпадать с числом столбцов в уже существующем файле. Если количество столбцов в массиве и файле различно, то выдается сообщение об ошибке:
Can‟t have anything with units
Or dimensions here
Если файл, в который следует добавить данные, отсутствует, то будет выведено следующее сообщение об ошибке:
This file could not be opened. Make sure it exists
 при создании структурированного файла MathCAD использует в качестве раздели- теля между числами символ пробела. Каждой строке массива A соответствует своя строка файла.
Кроме того, форма создаваемого файла может регулироваться следующими параметрами:
 PRNCOLWIDTH задает ширину столбца файла, по умолчанию ширина столбца равна 8 символам;
 PRNPRECISION задает число значащих знаков (количество знаков после десятич- ной точки).
Эти параметры (значения встроенных переменных) можно изменить, либо переопределив их в MathCAD-документе с помощью оператора присваивания, либо с помощью команды меню
Math
,
Option
(Математика, Параметры)
(вкладка
Built-In Variables
(
Переменные
)).
Пример 6.4.
Создать структурированный файл, в котором будут записаны номера видов продукции и соответствующие суммарные экспертные оценки (см. пример 6.2). Список должен быть упорядочен по убыванию оценок.
Решение:
Itog_file:=”
c:\Data\Itog_S.dat

WRITEPRN(Itog_file):=Rez
В результате будет создан файл, содержимое которого показано на рис. 6.5.
Если перед созданием файла изменить значение встроенной переменной PRNCOLWIDTH:
PRNCOLWIDTH:=5
Itog_file:=”
c:\Data\Itog_A.dat

WRITEPRN(Itog_file):=Rez то информация в файле будет записана в такой форме, как это показано на рис. 6.6
(колонки имеют ширину, равную 5 позициям).
Рис. 6.5. Содержимое файла Itog_S.dat Рис. 6.6. Содержимое файла Itog_A.dat

94
Урок 6. Функции работы с файлами
Пример 6.5.
Результаты XVII зимней олимпиады 1994 года записаны в файле
OLIMP.TXT
, запись которого имеет следующую структуру:
Код страны
Страна
Кол-во золотых медалей
Кол-во серебрян. медалей
Кол-во бронзовых медалей
IV место
V ме- сто
VI место
Данные в строках файла разделяются пробелами.
За первые шесть мест команда страны получает следующее количество очков:
1- е место
7 4- е место
3 2- е место
5 5- е место
2 3- е место
4 6- е место
1
Требуется составить MathCAD-документ, с помощью которого можно получить значения следующих показателей:
1) количество стран-участников соревнований;
2) количество медалей, завоеванных каждой страной;
3) общее количество медалей, которые были разыграны на олимпиаде;
4) количество очков, полученных каждой страной.
Постройте сравнительную диаграмму количества очков для стран, входящих в первую десятку.
1   ...   7   8   9   10   11   12   13   14   15

Решение:
C_och i
172 177 161 133 93 47 87 59 69 31

Med i
23 26 24 20 13 6
13 9
9 3

Pl i 1

10 11 12 13 14 15 16 17 18 19

0 1
2 3
4 5
6 7
8 9
10 11 10 0 20 0
Rez i 2

i
Первая "дес ятка" с тран:
i
1 10


Med_all 183

Rez reverse csort Rez 2

(
)
(
)

Rez augmentPl
1
 
C_och




C_och i
j
Pl i j 1


Och j



Med_all i
Med i


Med i
2 4
k
Pl i k




i
1
N


N
28

N
rows Pl
( )

Och j
7 5
4 3
2 1

Pl
READPRN "c:\Data\OLIMP.txt"
(
)

j
1 6


ORIGIN 1


Урок 7. Построение трехмерных графиков
95


Урок 7. Построение трехмерных графиков
В MathCAD возможно построение следующих видов трехмерных графиков:
 График трехмерной поверхности (Surface Plot), рис. 7.1а;
 График линий уровня (Contour Plot), рис. 7.1б;
 Трехмерная столбчатая диаграмма/гистограмма (3D Bar Plot), рис. 7.1в;
 Трехмерное множество точек (3D Scatter Plot), рис. 7.1г;
 Векторное поле (Vector Field Plot).
A
A
а б
B
A
в г
Рис. 7.1. Виды трехмерных графиков
Чтобы создать трехмерный график, требуется нажать кнопку с изображением любого из типов трехмерных графиков на панели инструментов
Graph (
рис. 7.2)
или выполнить ко-

96
Урок 7. Построение трехмерных графиков манду вставки графика
Insert, Graph
(Вставка, График) или воспользоваться комбинаци- ей клавиш Ctrl+2 (для Surface Plot) или Ctrl+5 (для Contour Plot) .
Рис. 7.2. Панель инструментов Graph
Замечание. При построении трехмерного графика можно воспользоваться услугами мас- тера трехмерной графики, сделав выбор пункта
3D Plot Wizard
(Мастер 3D графиков)
из меню команды
Insert, Graph
(Вставка, График)
В результате на рабочем листе будет выведена пустая область графика с тремя осями (рис.
7.3) и единственным знакоместом в нижнем левом углу. В это знакоместо следует ввести или имя функции двух переменных (не указывая список аргументов) для быстрого по- строения трехмерного графика, либо имя матричной переменной, которая задаст распре- деление данных на плоскости. Понятно, что функция или матрица к этому моменту должна быть определена.
Рис. 7.3. Шаблон для построения трехмерного графика
Рассмотрим несколько примеров построения графиков двух видов: проекция поверхности и линии уровней.
Пример 7.1.
Построить проекцию поверхности, задаваемую в декартовой системе коор- динат уравнением
z=x
2
+ y
2
x sin x.
Решение:
1-й способ (быстрое построение графика). Выполните следующие действия:
1. Задайте функцию: z x y

(
)
x
2
y
2

x sin x
( )



Знакоместо для ввода имени функции или имени массива


Урок 7. Построение трехмерных графиков
97 2. Вызовите шаблон для построения графика проекции поверхности, нажав кнопку панели инструментов
Graph.
3. Установите курсор на знакоместе и заполните его, введя только имя функции z.
4. Переместите курсор из области графика или нажмите клавишу Enter.
В результате вы получите следующий график: z x y

(
)
x
2
y
2

x sin x
( )



z
2-й способ (с помощью заданной матрицы). Прежде всего создадим матрицу значений функции, найденных в узлах прямоугольной сетки, задав множество значений перемен- ных x и y (координаты х и y узлов сетки) с помощью индексированных переменных x i
и y j
(индексы i и j будут указывать координаты узла на сетке). Для этого подготовьте фраг- мент документа следующего содержания: z x y

(
)
x
2
y
2

x sin x
( )



OR IGIN
1

N
35

i
1 N


j
1 N


x0 5


y0 5


hx
0.3

hy
0.3

x i
x0
i
1

(
) hx



y j
y0
j
1

(
) hy



M
i j

z x i
y j




Далее вызовите шаблон для построения графика проекции поверхности, установите кур- сор на знакоместе и заполните его, введя имя массива М.
Переместив курсор из области графика, вы увидите результат построения (рис. 7.4).


Заметим, что результат построения графика поверхности вторым способом зависит от того, какая прямоугольная сетка задана. Действительно, если задать или другие значе- ния начальных значений переменных x и y, или шага их изменения, например такие: x0 4


y0 5


hx
0.3

hy
0.2

x i
x0
i
1

(
) hx



y j
y0
j
1

(
) hy




98
Урок 7. Построение трехмерных графиков то график будет иметь вид, как показано на рис. 7.5. Проверьте это самостоятельно.
M
M

Для графиков, данные для построения которых задаются с помощью матриц, шкалу плоскости XY (прямоугольную сетку) приходится задавать вручную. MathCAD просто рисует поверхность, точки в пространстве или линии уровня, основываясь на двумерной структуре этой матрицы.
Пример 7.2.
В текстовом файле temper.txt, который находится в папке Data на устройст- ве C:, записаны данные о температуре плоского тела в узлах прямоугольной сетки. Со- держимое файла показано на рис. 7.6. Требуется построить температурное распределе- ние на плоскости в виде линий уровня.
Рис. 7.4. График проекции поверхности, построенной по данным массива M
(из примера 1)
Рис. 7.5. График проекции поверхности, построенной по данным массива M
(из примера 1) после изменения пара- метров прямоугольной сетки


Урок 7. Построение трехмерных графиков
99
Решение: Подготовьте MathCAD-документ, выполнив следующие действия:
1. Выполните импорт данных из файла temper.txt, сформировав матрицу T с помощью функции чтения READPRN:
T
READPRN"c:\data\temper.txt"



2.
Вызовите шаблон для построения карты линий уровня, нажав кнопку панели ин- струментов
Graph.
3. Установите курсор на знакоместе и заполните его, введя имя массива T.
4. Переместите курсор из области графика или нажмите клавишу Enter.
В результате будет построен график:
T

Упражнение 7.1.
Для функции, заданной в примере 1, постройте график линий уровня.
Рис. 7.6. Содержимое файла temper.txt (пример 2)

100
Урок 8. Символьные вычисления в MathCAD


Урок 8. Символьные вычисления в MathCAD
Системы компьютерной математики снабжаются специальным процессором для выпол- нения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобразований. Чем больше этих формул в яд- ре, тем надежней работа символьного процессора и тем вероятней, что поставленная зада- ча будет решена.
Ядро символьного процессора MathCAD – несколько упрощенный вариант извест- ной системы символьной математики Maple фирмы Waterloo Maple Software, у которой фирма MathSoft (разработчик системы MathCAD) приобрела лицензию на его применение в системе MathCAD. Благодаря этому MathCAD стала системой символьной математики и перешла в разряд универсальных систем компьютерной математики
5
. Правда, доступ к ядру осуществляется лишь частично, так как все-таки основное назначение MathCAD – это производить численные расчеты.
8.1.
Способы символьных вычислений
Символьные вычисления в MathCAD можно осуществлять двумя способами:

С помощью команд меню.

С помощью оператора символьного вывода

, ключевых слов символьного про- цессора и обычных формул (этот способ называется символьными вычислениями в
реальном времени).
Первый способ более удобен в том случае, когда требуется быстро получить аналитиче- ский результат для однократного использования. Второй же способ более нагляден, так как позволяет записывать выражения в традиционной математической форме и сохранять символьные вычисления в документах MathCAD (любое изменение выражения приводит к автоматическому пересчету результата символьного преобразования).
8.2.
Меню Symbolics (Символика). Символьные вычисления
в командном режиме
Для символьных вычислений с помощью команд предназначено меню
Symbolics (
Сим-
волика)
, объединяющее математические операции, которые MathCAD умеет выполнять аналитически (рис. 8.1).
Для символьных вычислений в командном режиме характерно то, что:
1) выполняются они только над явными выражениями, которые не могут содержать функций, определяемых пользователем;
2) результат может выводиться ниже исходного выражения, справа от него или вместо него, с включением или без комментария к выполняемой операции (способ вывода за- дается командой
Evaluate Style (
Стиль вычислений)
меню
Symbolics
). На рис. 8.2 приведено диалоговое окно для задания параметров вывода результатов вычислений.
5
Дьяконов В. MathCAD 8/2000: специальный справочник. СПб.: Изд-во «Питер», 2000. С. 261.


Урок 8. Символьные вычисления в MathCAD
101
Рис. 8.1.
Меню
Symbolics (
Символика)
Рис. 8.2. Диалоговое окно для задания параметров вывода результатов вычислений
Символьные операции в командном режиме выполняются над выделенными выражения- ми, над выражениями относительно выделенных в них переменных, над матрицами. Если объект не выделен, соответствующие команды меню будут недоступны.
В таблицах 8.1–8.3 дано описание команд меню
Symbolics (
Символика)
6
, сгруп- пированных по типу объекта, над которым выполняются соответствующие операции.
Примеры их использования приводятся в п. 8.3.
Таблица 8.1. Символьные операции с выделенными выражениями
Команда меню
Назначение
Номер примера
Evaluation, Symbolically
Вычисление, Символически
Выполнить символическое вычисление выра- жения
8.1
Evaluation, Floating Point
Вычисление, Плавающая точка
Выполнить арифметические операции в вы- ражении, результат которого должен быть представлен в форме числа с плавающей точ- кой
8.2 6
В первой колонке таблицы приведены названия пунктов меню и русифицированной версии MaathCAD.
Заметим, что с точки зрения математики перевод названий на русский язык выполнен не всегда корректно.

102
Урок 8. Символьные вычисления в MathCAD
Evaluation, Complex
Вычисление, Комплексно
Выполнить вычисление с представлением ре- зультата в комплексной форме
8.3
Simplify
Упрощение
Упростить выделенное выражение с выпол- нением таких операций, как приведение по- добных слагаемых, приведение дробей к об- щему знаменателю, использование основных тригонометрических тождеств и т. д.
8.4 8.5 8.6 8.7
Expand
Расширить
Разложить выражение по степеням
8.8
Factor
Фактор
Разложить число или выражение на множи- тели
8.9
Collect
Собрать
Собрать слагаемые, подобные выделенному выражению, которое может быть отдельной переменной или функцией со своим аргумен- том (результатом будет выражение, полино- миальное относительно выбранного выраже- ния)
8.10
Polynomial Coefficients
Многономинальные коэф- фициенты
Найти коэффициенты полинома по заданной переменной выражения, в котором эта пере- менная использована
8.11
Таблица 8.2. Символьные операции относительно переменных
Команда меню
Назначение
Пример
Variable, Solve
Переменная, Разрешить
Решить уравнение или неравенство относи- тельно выделенной переменной
8.12
Variable, Substitute
Переменная, Подставить
Заменить указанную переменную содержи- мым буфера, т. е. выполнить подстановку
8.17
Variable, Differentiate
Переменная, Дифференци- ровать
Дифференцировать все выражение, содержа- щее выделенную переменную, относительно этой переменной (остальные переменные рас- сматриваются как константы)
8.13
Variable, Integrate
Переменная, Интегрировать
Интегрировать все выражение относительно выделенной переменной
8.14
Variable, Expand to Series
Переменная, Расширить
Найти несколько членов разложения выраже- ния в ряд Тейлора относительно выделенной переменной
8.15
Variable, Convert to Partial
Fraction
Переменная, Обратить в частичную дробь
Разложить выражение на элементарные дро- би, рассматривая выражение как рациональ- ную дробь относительно выделенной пере- менной
8.16