Чем отличается глобальное и локальное определение переменных в mathcad
Перейти к содержимому

Чем отличается глобальное и локальное определение переменных в mathcad

  • автор:

50. Mathcad. Что такое локальные и глобальные переменные. Какие операторы используют для их определения?

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

51. Mathcad. Особенности определения (построения) и использования функций.

Mathсad имеет множество встроенных элементарных, специальных и статистических функций. Элементарные могут вводиться прямо их обозначениями (sin, acos). Для облегчения ввода математических ф-ий служит кнопка f(x), которая выводит окно с полным перечнем ф-ий, разбитым на тематические разделы.

Ф-ии имеют параметры (аргументы), которые записываются в круглых скобках после имени ф-ии. Ф-ии могут иметь 1 параметр, 2 параметра или даже несколько параметров. Параметры могут иметь численное значение, быть константой, определенной ранее переменной или математическим выражением, возвращающим численное значение.Ф-ии имеют св-во возвращать результат, поэтому их можно использовать в сложных математических выражениях.

52. Mathcad. Что такое дискретный интервал (аргумент), где и как он используется.

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

53. Mathcad. Укажите пять способов создания вектора или матрицы.

  1. использование палитры
  2. слияние нескольких объектов в 1
  3. использование дискретного диапазона
  4. поэлементный программный ввод
  5. ввод с носителя (с файла).

54. Mathcad. Как извлечь столбец матрицы? Строку матрицы?

Столбец: вызвать командой Ctrl+6 спец. функцию.

Строку: при помощи транспонирования

55. Mathcad. Как узнать размеры матрицы и извлечь элементы из матрицы?

cols(M) – число столбцов матрицы М;

rows(M) – число строк матрицы М;

Указать номер строки и столбца в виде индексов

56. Mathcad. Перечислите арифметические операции над матрицами, их особенности.

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

57. Mathcad. Решение систем линейных и нелинейных уравнений.

введена встроенная функция lsolve (A,B), которая возвращает вектор X для системы линейных уравнений A*X=B при заданной матрице коэффициентов A и векторе свободных членов B. Если уравнений n, размер вектора B должен быть n, а матрицы A – n*n.

Ф-ии для решения систем нелинейных уравнений:

find (v1, v2…vn) – возвращает значение одной или ряда переменных для точного решения;

minerr (v1, v2…vn) — возвращает значение одной или ряда переменных для приближенного решения.

58. Mathcad. Три основных этапа построения графиков, подробнее.

подготовка данных (информацию для построения графиков необходимо готовить: создавать векторы, а лучше матрицы – модели наших графических объектов)

заполнение графической области

форматирование (можно подписывать графики, оси)

5.7. Определение переменных и пользовательских функций

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

5.8. Локальные и глобальные переменные

Как и в других языках программирования в MathCAD различают локальные и глобальные переменные. Присваивание локальным переменным своего значения в системе MathCAD реализуют с помощью знака «:=». Для этого достаточно ввести знак двоеточие. Если ввести «X:5» то на экране появится «X:=5» (т.е. переменной X присваивается значение 5).

sin(X) = 0.841

Глобальная переменная вводится следующим образом: “переменная~выражение”. Вид, который принимает в документе введенное таким образом присваивание: “переменнаявыражение”. Отличие глобальных переменных от локальных переменных в том, что глобальные переменные могут использоваться в любом месте документа (в том числе, слева от их определения и над ним).

Пример введение глобальной переменной.

5.9. Определение и использование пользовательских функций

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

Чтобы воспользоваться собственной функцией, нужно:

  1. Описать функцию.
  2. Вызвать описанную функцию для выполнения.

Очевидно, что описание/определение функции должно быть расположено выше, чем ее использование. Для определения функции используются идентификаторы: имя функции и имена формальных параметров функции. Формальный параметр – это идентификатор, конкретное значение которого определяется путем замены его на соответствующее ему значение фактического параметра при обращении к функции. Функции однозначно ставят в соответствие значениям аргументов (формальным параметрам) значения фактических параметров функции. Формат определения функции: Имя_функции(список формальных параметров) := выражение Вызов пользовательской функции производится подобно тому, как и в случае вызова любой стандартной функции. Можно поместить результат в отдельную переменную: Имя_переменной_результата:=Имя_функции(список_фактических параметров) Или напечатать: Имя_функции(список_фактических параметров)=Пример 1. Требуется определить функцию Dist, которая будет возвращать расстояние заданной точки от начала координат. Использовать эту функцию для вычисления расстояний от точек А(1.96; –3.8) и В(6; 42.5) до начала координат. Решение. Из курса линейной алгебры известно, что расстояние от начала координат до некоторой точки A(x, y) определяется по формуле . Здесь (x, y) – координаты заданной точки. Эта формула и будет составлять основу функцию Dist. При описании функции следует предусмотреть два формальных параметра — координаты точки. На место этих параметров должны будут вписаны фактические координаты заданных точек. В соответствии с формулой определения расстояния от точки на плоскости до начала координат функция Dist может быть записана в виде: . А обращение к функцииDist для вычислений расстояний от заданных точек может быть представлено в виде: Во втором случае результат помещается во вспомогательную переменную. Пример 2. Дана функция вида: . Требуется найти ее максимальное и минимальные значения. Решение. Для решения поставленной задачи целесообразно воспользоваться функцией поиска максимального значения maximize(f,var1,var2, . ), которая имеется в библиотеке стандартных функций системы MathCAD. Первым параметром у этой функции должно быть имя пользовательской функции, максимальные значения которой требуется найти. Следующие параметры задают имена переменных, в которых будут помещены искомые значения. В нашем случае это будет одна переменная х. Чтобы воспользоваться этой функцией, необходимо поставить перед ней блок решения с ключевым словом Given (Дано). Кроме этого итерационный алгоритм, обеспечивающий решение поставленной перед функцией maximize задачи, требует задания начальных значений искомого аргумента. Установку начальных значений следует произвести до блока решения. Аналогичное описание у функции minimize которая предназначена для поиска минимального значения определенной функции. Фрагмент с решением задачи представлен на рис. 5.7. Рис. 5.7. Поиск максимального и минимального значений заданной функции

Чем отличается глобальное и локальное определение переменных в mathcad

Вычисляет численное значение y и назначает его x . Переменные и функции определяются этим оператором локально, только внутри программы.

• x — любое допустимое имя переменной или функции.
• y — любое допустимое выражение.
Дополнительные сведения

• Локальные переменные и функции, определенные с этим оператором, могут содержать значения, заданные в документе. Например, можно задать в документе a := 2 , а затем определить локальную переменную b ← a внутри программы.

• При локальном определении функции нет необходимости включать в определение список аргументов. Например, можно определить функцию как f(x) ← g(x) , f ← g , f(x) ← h(x, 2) или f ← F , где F — массив имен функций.

• Если для локальной переменной выбрано такое же имя, как и для уже определенной в документе переменной или функции, используемой для ее инициализации, программа обращается к значению документа только в первом случае назначения переменной. При всех последующих обращениях к этому имени используется локальное значение, а не глобальное, определенное в документе. Например, если в документе определена функция g(x) := x + 1 , и определяется переменная g ← g(2) , то все последующие обращения программы к имени g будут использовать локальное определение переменной — число 3, а как имя функции g уже не будет распознаваться.

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

• Глобальную переменную-диапазон можно использовать в определении функции вследствие следующего ограничения: если переменная-диапазон появляется справа от знака присвоения (:=), она должна появиться и слева.

Чем отличается глобальное и локальное определение переменных в mathcad

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

При расчете документа PTC Mathcad два раза проходит весь документ.

• В первом проходе обрабатываются только глобальные определения и игнорируются все локальные определения.

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

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

Определение глобальной переменной через локальную переменную
1. Используйте оператор локального определения, чтобы назначить постоянное значение переменной u .

Щелкните для копирования этого выражения

2. Используйте оператор глобального определения, чтобы назначить выражение, которое содержит переменную u , функции f1 .

Щелкните для копирования этого выражения

При первом проходе локальные определения игнорируются. Назначение f1 выполнить не удастся, поскольку значение u не будет известно к моменту вычисления f1 .

3. Вычислите переменные u и f1 .

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

Определение глобальной переменной через другую глобальную переменную
1. Используйте оператор глобального определения, чтобы назначить постоянное значение переменной v .

Щелкните для копирования этого выражения

2. Используйте оператор глобального определения, чтобы назначить выражение, которое содержит переменную v , функции f2 .

Щелкните для копирования этого выражения

Назначение f2 будет выполнено, поскольку значение v будет известно к моменту вычисления f2 при первом проходе.

3. Вычислите переменные v и f2 .

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

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

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

Поскольку глобальные назначения выполняются сверху вниз, слева направо, назначение f3 выполнить не удастся, т. к. значение w не будет известно к моменту вычисления f3 при первом проходе.

5. Вычислите переменные w и f3 .

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *