logo
mathcad

Определение и использование дискретного аргумента

Чтобы определять дискретный аргумент, напечатайте имя переменной, сопровождаемое двоеточием и диапазоном значений. Например, вот как определить переменную j, принимающую значения от 0 до 15:

Это определение указывает, что j принимает значения 0,1,2...15. Чтобы определять дискретный аргумент, который изменяется с шагом, отличным от 1, см. подраздел “Типы диапазонов” ниже в этой главе.

Если только дискретный аргумент определён, он принимает полный диапазон значений каждый раз, когда он используется. Если дискретный аргумент используется, например, в выражении, Mathcad должен вычислить это выражение для каждого значения дискретного аргумента.

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

Обратите внимание, что нельзя определять простую переменную через дискретный аргумент. Например, если, определив j, как показано, теперь записать , то Mathcad истолкует это как попытку приравнять скалярную переменную дискретному аргументу, и отметит уравнение сообщением “нескалярная величина”.

Дискретный аргумент может применяться для присвоения значений элементам вектора или матрицы. Можно определять элементы вектора, используя дискретный аргумент как нижний индекс. Например, чтобы определить для каждого значения j:

Рисунок 1 показывает вектор значений, вычисленных по этой формуле. Поскольку j — дискретный аргумент, вычисления по формуле делаются для каждого значения j. Это определяет для каждого значения j от 0 до 15. Результат точно такой же, как если бы напечатать

x0 := 02 + 1

x1 := 12 + 1

.

.

.

x15 :=152 + 1

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

Если дискретный аргумент используется в выражении, Mathcad вычисляет выражение один раз для каждого значения дискретного аргумента.

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

Рисунок 1: Использование дискретного аргумента для определения элементов вектора x.

Если в формуле используются два или более дискретных аргумента, Mathcad вычисляет формулу один раз для каждого значения каждого дискретного аргумента. Это обсуждается подробнее в разделе “Итерационные вычисления” ниже в этой главе.

Mathcad требует больше времени для вычисления формул, содержащих дискретный аргумент, поскольку приходится выполнять многократные вычисления. Форма курсора изменяется во время вычислений. Чтобы прервать вычисления, нажмите [Esc]. Чтобы возобновить вычисления, щёлкните мышью на формуле и нажмите [F9].

Типы диапазонов

Определение j в предыдущем разделе является самым простым типом определения диапазона. Mathcad допускает дискретные аргументы со значениями, расположенными от любого значения до любого другого значения и меняющимися с произвольным шагом.

Вот как выглядит определение произвольного дискретного аргумента. Напечатайте:

k:1,1.1;2

Это будет выглядеть как:

k := 1,1.1..2

В этом определении диапазона:

Можно использовать произвольные скалярные выражения вместо 1, 1.1 и 2. Однако эти значения должны всегда быть вещественными числами. Комплексные числа не имеют смысла в определениях дискретного аргумента, потому что имеется бесконечное число путей, соединяющих два данных комплексных числа. Рисунок 2 показывает результаты различных определений дискретного аргумента.

Рисунок 2: Некоторые допустимые определения дискретного аргумента.

Обратите внимание, что, если для дискретного аргумента используется дробное приращение, нельзя использовать этот дискретный аргумент как нижний индекс, поскольку нижние индексы должны быть целыми числами.

Всякий раз при вводе = после выражения, включающего дискретные аргументы, Mathcad показывает вычисленные значения в таблице вывода. Рисунок 2 показывает значения нескольких дискретных аргументов, отображаемых как таблицы вывода.

Рисунок 3 показывает таблицы вывода для немного более сложных выражений, включающих дискретные аргументы.

Рисунок 3: Печать знака = после выражения с дискретными переменными создает таблицу вывода.

Чтобы создать три таблицы из Рисунка 3, сначала определите дискретный аргумент. Затем напечатайте следующие формулы:

i= x[i= i*10=

Всякий раз при вводе выражения, сопровождаемого = , Mathcad отобразит:

Поскольку команды x= и x[i= отображают одни и те же числа, можно рассматривать таблицы как способ просмотра содержимого вектора. Таблицы особенно удобны для просмотра отдельных частей вектора. Например, если определён вектор v, можно просматривать каждый его элемент,  печатая:

i := 0,2 ..lfst(v) vi =

Некоторые сведения о таблицах вывода в Mathcad:

Рисунок 4: Размерность в таблице.

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

Если таблица ввода создана, можно делать следующее:

Некоторые замечания относительно таблиц ввода:

Рисунок 5 показывает примеры таблиц ввода. Обратите внимание, что печать x=  и  y= отображает элементы x и y в векторной форме. Mathcad игнорирует последнее число в таблице ввода для y, так как этот элемент имел бы индекс 5, а дискретный аргумент i останавливается на 4.

Рисунок 5: Таблицы ввода.

Заметьте, что первый элемент обоих векторов является нулем. Это потому, что массивы Mathcad по умолчанию нумеруются с нуля. Поскольку дискретный аргумент начинается с 1, нулевой элемент оказывается явно не определенным, и Mathcad присваивает ему значение 0.

Этот раздел показывает, как использовать дискретные аргументы для выполнения многократных вычислений.