Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабораторныйПрактикум1.pdf
Скачиваний:
397
Добавлен:
02.02.2015
Размер:
4.76 Mб
Скачать

Спомощью функций min( ) и max( ) найдите значения минимального

имаксимального элементов матрицы M, имя которой используйте в качестве аргумента. Сохраните документ под именем MC2.xmcdz. Дополнительные функции для работы с матрицами и векторами можно найти в справке и литературе. Ниже приведён пример использования векторов, введите третий пример в новый документ, сохраните документ под именем MC3.xmcdz.

Для ввода больших массивов данных удобно использовать компонент Таблица (Вставка/ Данные/ Таблица).

11.1.5. Файлы данных

Периодически возникает необходимость сохранения результатов расчёта в файл. Также возникает необходимость загрузки данных из файла для обработки или построения графиков. Установите курсор ниже введённого примера, вызовите команду Вставка/ Данные/ Вывод в файл, параметры: Форматированный текст, имя файла D1.DAT, отключён

255

Запятая как десятичный разделитель и установлен Использовать относительный путь к файлу. Появится изображение дискеты с именем файла, в маркер ввода введите X. Содержимое вектора X будет сохранено в файл D1.DAT в папку рядом с документом Mathcad. Также для

сохранения данных используется функция WRITEPRN.

Введите

«WRITEPRN("D2.DAT") := X».

При

необходимости

дописать

существующий

файл

аналогично

используется

функция

APPNDPRN(имя_файла). По умолчанию вывод производится до четырёх знаков точности колонками шириной восемь знаков, но эти параметры можно изменить, задав системным переменных PRNPRECISION и PRNCOLWIDTH новые значения. Для сохранения сразу двух векторов в два столбца используйте функцию augment(), объединяющую матрицы одинаковой высоты в длину.

Введите: PRNPRECISION := 7 PRNCOLWIDTH := 11

WRITEPRN("D3.DAT") := augment(X,Y) K0,0 := 2.1 K0,1 := 5.1253 APPENDPRN("D3.DAT") := K READPRN("D3.DAT") =

Сохраните документ (Ctrl+S). В этом примере файл дописывается созданной матрицей из двух столбцов, считывается и выводится на экран. Найдите сохранённые файлы D1.DAT, D2.DAT и D3.DAT с помощью файлового менеджера и просмотрите содержимое. Удалите эти файлы.

К сведению, объединить матрицы A1 и A2 с одинаковым количеством столбцов (добавлением сверху к A1 матрицы A2) можно функцией stack(A1,A2), stack (стек, англ.) переводится как «стог», т.е. куча, на которую объекты помещаются сверху. Для извлечения части матрицы используется функция submatrix().

При больших документах с вычислениями или при общем наборе данных и функций пользователя для разных документов, используется передача данных посредством ссылки на файл. Создайте новый

документ,

поместите в него

два математических блока «x := 5» и

«с := a + b»

второе выражение высвечивает ошибку, т.к. значения

переменных a и b не заданы.

Сохраните документ как MC4.xmcdz и

 

 

256

закройте его. Создайте новый документ, введите в него выражения «a := 1», «b := 2», сохраните документ как MC5.xmcdz. Командой Вставка/ Ссылка вставьте ссылку на файл MC4.xmcdz, используйте для ссылки относительный путь. Ниже ссылки введите выражение «c · x =», будет выведен результат, значения х и формула вычисления с будут импортированы по ссылке.

Ниже введите текстовый блок: «Гиперссылка на внешний файл», выделите введённый текст, выполните команду Вставка/ Гиперссылка (Ctrl+K), в поле ссылки укажите имя MC4.xmcdz, установите параметр

Использовать относительный путь и отмените Показывать как всплывающий документ, в качестве сообщения строки состояния введи-

те «Двойным щелчком откройте документ». При наведении курсора на ссылку, в статусной строке будет отображаться сообщение, двойным щелчком по ссылке откройте документ MC4.xmcdz. Закройте документ

MC4 (Ctrl+W).

11.1.6. Функции

Ещё одной важной особенностью системы является возможность задания функций пользователя. Mathcad содержит большое количество встроенных функций, но на практике часто пользователь определяет свои функции, упрощающие написание математического документа. У функции может быть несколько параметров. Функция пользователя может быть получена присвоением новому идентификатору с перечнем параметров объединённых операторами и символьными преобразованиями библиотечных функций и программ. Наиболее правильной записью функции является вид, когда все переменные, используемые в выражении, передаются как параметры. Т.е. запись «y(x,a):=2x+a» является более предпочтительной, чем «a:=n y(x):=2x+a», т.к. в первом случае переменные явно передаются при вызове функции и не будут утеряны при перемещении функции в другой документ. В документе MC5 выполните следующие вычисления:

f(x) := sin(x)2

φ := –1, –0.9 .. 1 f(φ) =

257

Откройте панель Вычисление, на которой собраны операторы присвоения, вывода результатов и представления функций. Команды этой панели позволяют менять запись вызова функций по умолчанию на классический математический стиль. Введите «x := 45·deg» (т.е. значение задано не в радианах, а в градусах – 45°), вычислите выражения «sin(x) =», ниже выполните вызов функции в виде префиксного оператора – нажмите кнопку Префиксный оператор (f x), в первый из двух маркеров введите «sin», вот второй «x», нажмите =. При разной записи результат совпадает. Т.к. подчёркивание допустимо в качестве идентификатора, зададим функцию, увеличивающую значение аргумента на единицу, введите «_(x) := x+1», ниже установите отображение аргумента спереди вызова функции кнопкой Постфиксный оператор (Ctrl+Shift+X), введите в маркеры «b _ =». Вы записали вызов функции увеличения на единицу аналогично записи факториала.

В редких случаях возникает необходимость записи идентификаторов, содержащих символы, являющиеся командами или не входящими в список допустимых, и даже пробелы, точки и запятые. Для этой цели используются клавиши Ctrl+Shift+K, включающие режим литерального ввода, при этом курсор ввода выделяется красным цветом. Повторное нажатие сочетания выключает режим литерального ввода. В этом режиме допустимы идентификаторы, как US$, a:$%, b^, c*, мм рт ст, °C, кг/ч и др. Т.к. в данном режиме пробел допустим, а идентификатор не может начинаться с цифры, то его можно начать с пробела, и такая курьёзная запись будет верной: « 1 := 2». « 1» на самом деле идентификатор, начинающийся с символа пробел. Ранее мы вызывали функцию max() для нахождения максимального элемента, довольно часто встречается использование постфиксного вида Vmax. Для оформления в таком виде можно ввести свою функцию « max(x) := max(x)», имя функции « max(x)»

записывается как «Ctrl+Shift+K ПРОБЕЛ Ctrl+Shift+K .max (x)», а затем используется в выражении в качестве постфиксного оператора, что даёт вид выражения «M max =». Инфиксный оператор позволяет вписать имя функции между двумя параметрами (как арифметические операторы), вместо записи f(x,y) получится x f y. Древовидный оператор xfy обычно используют для записи обучающих документов, показывающих структуру вычисления. Сохраните документ (Ctrl+S).

258