Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MC методичка.DOC
Скачиваний:
14
Добавлен:
15.11.2019
Размер:
1.68 Mб
Скачать

1.7. Ввод и вывод данных

При работе с большими объемами числовых данных в системе MathCAD используются файлы данных. Чтение и запись файлов данных осуществляется в кодах ASCII с помощью функций ввода/вывода:

READ

WRITE

READPRN

WRITEPRN.

При чтении файлов, состоящих из простой последовательности чисел (неструктурированные данные), используется функция READ совместно с интервальной переменной:

i := 0..N-1

vi := READ(file)

Здесь i - интервальная переменная, v - вектор, N - число элементов, file - имя файла в текущей директории без расширения или имя переменной.

Чтобы записать данные на диск в виде простой последовательности чисел, необходимо использовать функцию WRITE совместно с интервальной переменной:

i := 0..N-1

WRITE (file) := vi

При чтении и записи данных с помощью функций READ и WRITE по умолчанию полагается, что файл данных имеет (или будет иметь) расширение dat, находится в текущей директории и числа в нем разделены пробелами или знаком табуляции. Если файл имеет другое расширение и(или) находится в другой директории, то в этом случае необходимо использовать команду File|Associate Filename... При этом аргументами функций READ и WRITE являются переменные, которым посредством диалогового окна назначаются имена файлов.

Для чтения файла данных, состоящего из строк и столбцов (структурированные данные) используется функция READPRN:

A := READPRN(file)

Здесь A - матрица, file - имя файла в текущей директории без расширения или имя переменной.

Для записи файла данных, состоящего из строк и столбцов, используется функция WRITEPRN:

WRITEPRN(file) := A

При чтении и записи данных с помощью функций READPRN и WRITEPRN по умолчанию. полагается, что файл имеет (или будет иметь) расширение prn. Если файл имеет другое расширение и(или) находится в другой директории, то используется команда File|Associate Filename... При этом аргументами функций READPRN и WRITEPRN являются переменные, которым посредством диалогового окна назначаются имена файлов.

Имена функций READ, WRITE, READPRN и WRITEPRN должны быть набраны прописными буквами.

Во всех случаях в файлах данных допускается использование записи чисел в научной нотации, например

16E-2 -12.125E15.

При работе с комплексными данными можно использовать прием, когда вещественная и мнимая части записываются в разные файлы, например, пусть z является комплексной матрицей, тогда

WRITEPRN(z_real) := Re(z)

WRITEPRN(z_imag) := Im(z)

Для чтения данных, записанных таким образом, можно выполнить

z := READPRN(z_real) + 1i*READPRN(z_imag).

1. 8. Решение уравнений

Для решения уравнения с одним неизвестным вида f(x) = 0 можно использовать функцию root(f(x),x), при этом предварительно следует задать начальное приближение для искомого корня, например

x := 0 xr := root(x2 - 4, x) xr = 2.

MathCAD позволяет находить как вещественные, так и комплексные корни. Для поиска комплексного корня следует взять в качестве начального приближения комплексное число.

В общем случае для решения уравнений и систем уравнений используется блок решения уравнений Given ... Find.

Блок имеет следующую структуру:

Начальные приближения переменных.

Given

Уравнения и ограничения.

Выражение, включающее функцию Find.

Функция Find() возвращает значение одной или нескольких переменных, являющихся результатами решения системы уравнений. Если выполняется решение относительно n неизвестных, вычислительный блок должен содержать n уравнений.

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

Для систем уравнений, имеющих более одного решения, возвращаемое решение зависит от начальных приближений.

Решение систем линейных уравнений может быть выполнено с помощью обратной матрицы.

Ниже приводятся примеры решения различных уравнений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]