Реферат: Методические указания на русском языке к выполнению расчетных и исследовательских работ в компьютерном классе по курсу тоэ часть 1


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Запорожский национальный технический университет


МЕТОДИЧЕСКИЕ УКАЗАНИЯ
на русском языке к выполнению расчетных и исследовательских работ в компьютерном классе по курсу ТОЭ

Часть 1

“Расчет электрических цепей в среде MathCAD”

Для иностранных студентов электро- и радиотехнических специальностей всех форм обучения



2002


Методические указания на русском языке к выполнению расчетных и исследовательских работ в компьютерном классе по курсу ТОЭ ^ / Авт.: С.М. Тиховод – Запорожье: ЗНТУ, 2002.- 48 с.


Составитель: С.М. Тиховод, доцент, к.т.н.




Рецензент: О.В. Старицин, доцент каф. ТОЭ и ОЭ


Утверждено на заседанни

кафедри ТОЭ и ОЭ

Протокол № 8 от07.06.01

^ ОБЩИЕ ПОЛОЖЕНИЯ
Данные методические указания ставят своей целью научить студентов выполнять расчеты электрических цепей с помощью компьютера, а также глубже изучить теоретические основы электротехники. Основной системой, помогающей выполнять необходимые математические вычисления и преобразования, взята система MathCAD, как самая удобная для широкого круга пользователей-непрограммистов. Методические указания не предполагают у студентов необходимых навыков работы в системе MathCAD. Поэтому с самого начала даются необходимые элементарные сведения о работе в MathCADе. Эти сведения закрепляются при рассмотрении конкретных примеров расчета электрических цепей и изучении различных разделов ТОЭ. По мере необходимости сведения о работе в MathCADе излагаются во всем материале.

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

Рассмотренные в данных методических указаниях примеры помогут студентам выполнить необходимые расчеты и исследования при выполнении расчетно-графических и курсовых работ, положенных в курсе ТОЭ.


^ 1 ОСНОВНЫЕ ОСОБЕННОСТИ ВХОДНОГО ЯЗЫКА СИСТЕМЫ MathCAD


Постановка и решение задач в Mathcad осуществляется в виде так называемых документов. Документ объединяет описание математического алгоритма решения задачи с текстовыми комментариями и результатов вычислений в виде чисел, символов, таблиц или графиков. Уникальное свойство Mathcad- возможность описания математических алгоритмов в естественной математической форме с применением общепринятой символики для математических знаков, таких, например, как квадратный корень, знак деления в виде горизонтальной черты, знак интеграла и т.д. Это делает документ, видимый на экране, похожим на текст из научно-технических статей.

^ Простейшие приемы работы


Система Mathcad содержит в себе три редактора: формульный, текстовый и графический.

Формульный редактор предназначен для набора формул и операторов, по которым производятся вычисления.

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

Чтобы провести вычисления по какой-либо формуле необходимо вначале присвоить числовые значения всем аргументам и константам, участвующим в формуле. Присвоение осуществляется с помощью нажатия на клавишу «:» (двоеточие), а на экране знак присваивания будет отображен как « := «. Например, необходимо переменной x присвоить значение 1.85. Установим визир формульного блока в левой части экрана и набираем:

x : 1.85

На экране это будет отображено как

x := 1.85|

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

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



при заданных значениях a=1.1; b=2.2; c=3; d=0.1.

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

:= 1.1

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

в : = 2.2 с : = 3 d : = 0.1

Чтобы набрать основную формулы, поставим визир ниже, в центре экрана. Сначала набираем на клавиатуре

x : = a+b|

Чтобы последующее деление относилось не к последнему символу, а ко всему выражению в числителе, нажимаем пробел. На экране появится

x : = a+b|

Теперь нажимаем знак «/» и набираем c + d. На экране увидим:



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

х =

Здесь знак «=» используется как знак вывода результата. На экране получим:

х = 1.0165

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

Для построения математических выражений используются операторы. Арифметические операторы MathCAD аналогичны арифметическим операторам математики:

+ - прибавить

- вычесть

* - умножить (при вводе автоматически меняется на точку)

/ - разделить (косая черта автоматически превращается в горизонтальную черту)

^ n - возведение в степень n, где n – любое число, (символ « ^ « представляется, как порядок n в виде надстрочного элемента)

\ x - корень квадратный из x (на экране выглядит как ).

Наряду с арифметическими операторами в системе MathCAD используются такие специальные математические операторы, записываемые как символы вычисления сумм, произведений, производной, интеграла и т.д.

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


Функции


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



Тригонометрические функции


sin (z) - синус cos (z) - косинус

tan (z) - тангенс sec (z) - секанс

csc (z) - косеканс cot (z) - котангенс


Гиперболические функции


sinh (z) - гиперболический синус

cosh(z) - гиперболический косинус

tanh(z) - гиперболический тангенс

sech(z) - гиперболический секанс

csch(z) - гиперболический косеканс

coth(z) - гиперболический котангенс


Обратные тригонометрические функции


asin (z) - арксинус

acos(z) - арккосинус

atan(z) - арктангенс

^ 1.2.4 Обратные гиперболические функции

asinh (z) - обратный гиперболический синус

acosh(z) - обратный гиперболический косинус

atanh(z) - обратный гиперболический тангенс


Показательные и логарифмические функции


exp (z) - экспоненциальная функция

ln (z) - натуральный логарифм

log (z) - десятичный логарифм


1.2.6 Функции с условиями сравнения


ceil (x) - наименьшее целое, большее или равное х

floor(x) – наибольшее целое, меньшее или равное х

mod(x,y) – остаток отделения х/у со знаком х

angle(x,y) – положительный угол с осью х для точки с координатами (х,у)


Пример: 1.1. Требуется вычислить значение y=sin(x) при x=π/6. Ставим курсор в левой части экрана и набираем

x:=π/6 y:=sin(x) x=0.5

Греческие буквы следует набирать с помощью специальной панели инструментов.

Функция if


Функция if предназначена для создания условных выражений:

if (условие, выражение _1, выражение _2)

Если в этой функции условие выполняется, то будет вычисляться выражение _1, в противном случае – выражение _2.

Условие – это оператор для сравнения двух величин, которые называются оператором отношения или логическим оператором. Ниже приводится перечень логических операторов и правила набора их на клавиатуре:

Таблица 1.1

Оператор

Клавиши

Наименование операции

x>y

x>y

х больше у

x
x
х меньше у

x >y

x ctrl0 y

х больше или равно у

x <y

x ctrl9 y

х меньше или равно у

x # y

x ctrl3 y

х неравно у

x = y

x ctrl=y

х равно у


Не следует путать оператор сравнения (знак равенства) с похожим знаком вывода значений переменных. В системе MathCAD знак равенства как оператор отношения имеет больший размер и более жирное написание.

Выражения с логическими операторами возвращают логическое значение, соответствующее выполнению или невыполнению условия, заданного оператором. Если условие выполнено, возвращается единица, если не выполнено – нуль (0).

Пример 1.2: Требуется рассчитать мгновенное значение тока, полученного в результате однополупериодного выпрямления синусоидального тока i = 50 sin(314 t) в различные моменты времени.



i := if(i>0, 50*sin(314*t), 0)

i = 25.


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

Функции пользователя


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

<Имя_функции> (<Список_параметров>) := <Выражение>,

где <Имя_функции> – любой идентификатор;

<Список_параметров> – перечень используемых в выражении переменных,

разделённых запятыми;

<Выражение> – любое математическое выражение, содержащее доступные системе

операторы и функции с операндами и аргументами, указанными в

списке параметров.

Пример 1.3. Использование функции двух переменных:



a:=1 b:=2 m:=md(a,b) m=2.236



Работа с комплексными числами


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

z:= a+bi,

где a – реальная часть комплексного числа z,

b – мнимая часть,

i – мнимая единица (система допускает записывать так же j).

Между числовым значением мнимой части мнимой части и символом i никакого знака не ставится. Если мнимая часть б задана не числом, а идентификатором, то мнимую часть нужно писать как умноженную на 1i.

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


Операторы

Набор на клавиатуре

Назначение оператора

|z|

|z

Выражение модуля

комплексного z

Z”

Вычисление комплексно сопряжённого с z числа


Встроенные функции комплексного аргумента:

Re (z) - выделение действительной части z

Im (z) - выделение мнимой части z

arg(z) - вычисление аргумента комплексного числа z.


Пример 1.4: Вычислить эквивалентное сопротивление параллельного включения сопротивлений z1=2+3i и z2=5+10 i.





Рисунок 1.1- Параллельное соединение комплексных сопротивлений


П
ример 1.5. Расчет электрических цепей методом эквивалентных преобразований


Цель: изучить правила упрощений электрических цепей с помощью эквивалентных преобразований, а также усвоить простейшие приемы работы с вещественными и комплексными числами системы MathCAD.

Пусть задана электрическая цепь, изображённая на рис. 1.2.





Рисунок 1.2 - Исходная схема электрической цепи.

Требуется методом эквивалентных преобразований найти токи в ветвях при заданных значениях комплексных сопротивлений и ЭДС:

z1=2+3i; z2=4+5i; z3=;

z4=10i; z5=-8.1i; E=25.2.

Вначале все комплексные величины, заданные в показательной форме, переведём в алгебраическую форму, в которой MathCAD производит все вычисления (версии MathCAD-2000 и выше эту операцию производят автоматически).




Зададим все остальные исходные данные


Преобразуем треугольник z2, z3, z4 в эквивалентную звезду, после чего схема приобретает более простой вид (см. рис. 1.3):





Рисунок 1.3 – Схема электрической цепи после преобразования треугольника в звезду.

Сопротивления лучей звезды вычисляются по формулам:





z5 и z24 соединены последовательно и эквивалентны сопротивления равно их сумме:





z1 и z23 так же соединены последовательно:





После этих преобразований схема упрощается.




^ Рисунок 1.4 – Схема после упрощения
Теперь из схемы на рис. видно, что z123 и z245 соединены параллельно, следовательно, их эквивалентное сопротивление равно





Эквивалентное сопротивление относительно узлов a, b равно сумме сопротивлений z1_5 и z34:





Ток в ветви с источником найдём по закону Ома:





Напряжение между узлами a, o найдём по закону Ома





Напряжение Uob также находится по закону Ома





Токи I1 и I5 схемы рис. 1.4 найдём по закону Ома





Напряжения Udo и Uco также найдём по закону Ома:





Напряжение между узлами c и d найдём как разность напряжений Uco и Udo





Напряжения между узлами c и b , а так же d и b, ищем как суммы





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





Выполним проверку по законам Кирхгофа.

Найдём погрешность по токам




^ Найдём погрешность по напряжениям


Комплексная мощность источника это произведение ЭДС на комплексно-сопряженный ток. Если направление ЭДС и тока совпадают, то результат берется со знаком «плюс», а если не совпадают – то со знаком «минус».





Вывод: расчёт верен, т.к. погрешности по токам и напряжениям допустимы.
^ 2. ВЕКТОРЫ, МАТРИЦЫ И ОПЕРАЦИИ С НИМИ


2.1 Векторы и матрицы

В системе MathCAD используются массивы двух типов: одномерные - векторы и двумерные - матрицы. Массив состоит из элементов массива, которые могут быть как числа, переменные и выражения. Порядковый номер элемента называется индексом. Нижняя граница индексации устанавливается с нуля (может быть переустановлена с единицы системной переменной ORIGIN). Массиву ставится в соответствие имя, которое задаётся как идентификатор.

Векторы могут быть двух типов: вектор-строка и вектор-столбец.

Например:

[10 20 30]-вектор-строка

- вектор-столбец.

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

Матрица может рассматриваться как совокупность ряда векторов одинаковой длины, например:

.

Элементы матриц являются индексированными переменными, имена которых совпадают с именами матриц. Но в этом случае для каждой индексируемой переменной указывают два индекса, первый, для номера строки, второй - для номера столбца.

Например, для приведенной выше матрицы М

.

Для задания векторов и матриц необходимо в основном меню выбрать позицию Insert (Вставка). Откроется подменю, в котором следует выбрать позицию Matrics…(Матрица). Это вызывает появление диалогового окна, в котором надо указать размерность матрицы, то есть количество строк и столбцов. Для векторов один из этих параметров равен единицы. При m=1 получим вектор - столбец, а при n=1 - вектор - строку. Матрица является двумерным массивом с числом элементов m*n. Элементы векторов и матриц помещаются между большими скобками.

Матрица на экране появляется в виде шаблона, в котором в местах элементов стоят чёрные квадратики. Визир ставится на любой квадратик и вводится значение элемента матрицы. Таким образом, заполняются все элементы матрицы.

Задать вектор или матрицу можно и другим способом. В основном меню выбрать позицию View. В открывшемся подменю выбрать Math Palette на экране появится палитра на которой следует выбрать пиктограмму с изображением шаблона матрицы.





Далее нужно действовать, как и в первом методе.

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

Ввод Изображение на экране



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

Ввод Изображение на экране



Индексы могут иметь только целочисленные значения.

Таким способом и переопределять значение элементов матрицы.
^ 2.2 Операторы и функции для работы с векторами и матрицами

Для работы с векторами и матрицами MathCAD содержит ряд операторов и функций. Введём обозначения: V - вектор; M - матрица; Z - скалярные величины. Ниже приведены операторы для работы с векторами и матрицами.

Оператор

Набор на клавиатуре

Назначение

V1+V2

V1+V2

Сложение векторов V1и V2

-V

-V

Смена знака у всех элементов вектора

-M

-M

Смена знака у всех элементов матрицы

V+Z

V+Z

Сложение вектора V со скаляром Z

Z*V,V*Z

Z*V,V*Z

Умножение вектора V на скаляр Z

Z*M,M*Z

Z*M,M*Z

Умножение Матрицы М на скаляр Z

V1*V2

V1*V2

Умножение двух векторов

M*V

M*V

Умножение матрицы М на вектор V

M1*M2

M1*M2

Умножение двух матриц М1 и М2



V/Z

Деление вектора V на скаляр Z



M/Z

Д Деление матрицы М на скаляр Z



M^-1

Обратная матрица М



M^n

Возведение матрицы М в степень n



\V

Вычисление квадратного корня из V



|M

Вычисление определителя матрицы



V Ctrl!

Транспонирование вектора V



M Ctrl!

Транспонирование матрицы М

V1*V2

V1 Ctrl*V2

Скал-умножение векторов V1и V2





Получение комплексно скалярного вектора






Получение комплексно скалярной матрицы



Alt $ V

Вычисление суммы элементов вектора V



V Ctrl -

Векторизация вектора V



M Ctrl -

Векторизация матрицы М



M Ctrl ^ n

Выделение n-го столбца матрицы М



V[n

Выделение n-го элемента вектора V



M[(m,n)

Выделение элементов (m,n) матрицы М




Под необычным понятием «векторизация» понимается получение проведения математических операций в их скалярном значении над всеми элементами вектора ил матрицы. Векторизация может менять смысл математических выражений и даже превратить недоступное выражение во вполне допустимое. Например, если V-вектор, то выражение cos(V) недопустимо, т.к. аргументом функции cos может быть только скалярная величина однако со знаком векторизации функция cos(V) возвращает вектор, каждый элемент которого есть косинус значения элемента соответствующего исходного вектора V.

Если А и В- векторы, то А*В даёт скалярное произведение этих векторов. Но то же произведение со знаком векторизации создаёт новый вектор, имеющий j-й элемент которого есть произведение j-x элементов векторов А и В.

Существует ряд векторных и матричных функций.

Приведём некоторые из них.
^ Max(v)- возвращает максимальный элемент
Min(v)- возвращает минимальный элемент

Re(v) -возвращает вектор реальных частей вектора с комплексными переменными

Im(v)-то же для мнимых частей


Приведенные примеры расчёта электрических цепей матричными методами помогут изучить методы расчёта электрических цепей, сводящееся к составлению уравнений Кирхгофа в матричной форме и решение этих уравнений в системе MathCAD. Пример 2.1. Рассмотрим цепь, изображенную на рис 1.2, параметры элементов цепи возьмём как в примере 1.5. Требуется рассчитать токи во всех ветвях различными методами.
Р
ассчитаем токи во всех ветвях с помощью уравнений Кирхгофа. Зададим данные:


где mE, aE - модуль и аргумент (в радианах) значения ЭДС, заданной в показательной форме;

mZ3, aZ3 - модуль и аргумент сопротивления Z3.

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




Далее составим систему уравнений по законам Кирхгофа. Предварительно запишем систему уравнений в системе MathCAD не для вычисления, а как комментарий:





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

- щелкнуть мышью на данном формульном блоке, чтобы он активизировался;

- щелкнуть на кнопке меню Format;

- в этом меню щелкнуть на кнопке Properties;

- в открывшемся меню щелкнуть Calculation;

- в открывшемся меню поставить «птичку» в Disable Evaluation;

- OK.

После этого в правом верхнем углу активизированного выражения появится чёрный квадратик, указывающий на то, что выражение является не вычисляемым, а используется как комментарий. Знак равенства в таких выражениях следует брать как знак «=» операции отношения из палитры Boolean, открывается при нажатии на соответствующую кнопку на палитре Math.

Систему уравнений (2.1) запишем в матричной форме.






где





Зададим в системе MathCAD матрицы А и В.

Сначала запишем

А:= .

Затем зададим шаблон матрицы размером 6х6 и получим





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





Аналогично создадим вектор - столбец правой части.




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

Результат вычисления токов вы ведем на экран:


Т
еперь выполним тот же самый расчёт методом контурных токов.

Примем обход всех независимых контуров по часовой стрелке и обозначим контурные токи I11, I22, I33. Тогда система контурных уравнений примет вид:




^ В матричной форме эта система запишется




где - матрица сопротивлений системы контурных уравнений ;

- вектор - столбец контурных токов;


- вектор столбец контурных ЭДС.

Запишем и в системе MathCAD.





Тогда исходные контурные токи можно получить:





Получим токи ветвей.

Н
аконец выполним тот же расчёт методом узловых потенциалов. Непосредственно для исходной цепи, изображенной на рис 1.2, метод узловых потенциалов применять нельзя, т.к. проводимость ветви содержащей источник ЭДС, равно бесконечности. Поэтому сделаем эквивалентное преобразование цепи путём переноса источника в смежные ветви ad и ac. После этого узлы а и b объединятся в один узел аb После такого преобразования цепь примет вид, показанный на рис.2.1





Рисунок 2.1 - Схема электрической цепи на рис 1.2 после переноса ЭДС.


Преобразованная цепь имеет три узла ab, c, d. Положим потенциал одного из узлов, например ab, равным нулю: , тогда для узлов с, d система потенциальных уравнений имеет вид:





Или в матричной форме:






В системе MathCAD запишем выражения для вычисления элементов матрицы Y и I.

Напомним, что в матрице Y только диагональные элементы имеют знак плюс, а остальные – знак минус. Диагональные элементы имеют следующий смысл: Ycc есть сумма проводимостей ветвей, сходящихся к узлу «с», Ydd – сумма проводимостей ветвей, сходящихся к узлу «d».


















Определим токи в ветвях.










Вывод: Все методы расчёта дали один и тот же результат, следовательно, расчёты верны. Наиболее простым для данной цепи является метод контурных токов.
^ 3 ПРОГРАММЫ-ФУНКЦИИ 3.1. Описание программы - функции и локальной оператор присваивания
Программы-функции предназначены для того, чтобы можно было многократно выполнять некоторые фрагменты программы без повторения их записи. Особенно ценным может быть использование программ-функций, если они используются в многократно повторяющемся цикле.

П
еред тем как использовать программу-функцию нужно ее задать, т.е. выполнить описания. Описание программы-функции размещается в рабочем документе перед вызовом программы-функции и включает в себя имя программы-функции, список формальных параметров (который может отсутствовать) и тело программы-функции. Рассмотрим эти понятия. Каждая программа-функция MathCAD имеет оригинальное имя, используя которое осуществляется обращение к этой программе-функции. Через это же имя (и только через это имя) “возвращается” в рабочий документ результат выполнения программы-функции. После имени программы-функции идет список формальных параметров, заключенный в круглые скобки. Через формальные параметры «внутрь» программы-функции “передаются” данные необходимые для выполнения вычислений внутри программы. В качестве формальных параметров могут использоваться имена простых переменных, массивов и функций. Формальные параметры отделяются друг от друга запятой. Программа-функция может не иметь формальных параметров, и тогда данные передаются через имена переменных, определенных выше описания программы-функции.

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

^ Порядок описания программы-функции Mathcad. Для ввода в рабочий документ описания программы-функции необходимо выполнить следующие действия:

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

2. Ввести символ “:” - на экране отображается как “: =”;

3. Открыть наборную панель Программирования и щелкнуть кнопкой “Add line” . На экране появится вертикальная черта и вертикальный столбец с двумя полями ввода для ввода операторов, образующих тело программы-функции ( см. рис. 3.1);






Рисунок 3.1- Структура программы-функции


4. Перейти в поле 1 ( щелкнув на нем мышью или нажав клавишу [Tab] ) и ввести первый оператор тела программы-функции. Так как самое нижнее поле всегда предназначено для определения возвращаемого программой значения, то поля ввода для дополнительных операторов открываются с помощью щелчка на кнопке “Add line” панели программирования. При этом поле ввода добавляется внизу выделенного к этому моменту оператора. Для удаления того или иного оператора или поля ввода из тела программы-функции, нужно заключить его в выделяющую рамку и нажать клавишу [Delete] ( см. рис. 3.2);






Рисунок 3.2- Добавление операторов в тело программы-функции


5. Заполнить самое нижнее поле ввода ( поле 2 ), введя туда выражение, определяющее возвращаемое через имя программы-функции значение ( см. рис. 3.2 ).

В приведенном примере формальным параметром является простая переменная x , тело программы включает два локальных оператора присваивания (см. следующий пункт) и значение переменной z определяет возвращаемый через имя функции результат выполнения программы-функции.

Р
исунок 3.3- Окончательный вид программы-функции.


^ Локальный оператор присваивания. Для задания внутри программы значения какой-либо переменной используется так называемый локальный оператор присваивания, имеющий вид:

< имя - переменной > ← < выражение >

Внимание ! Использование «обычного» оператора присваивания (обозначается : = ) в теле программы-функции приводит к синтаксической ошибке.

^ 3.2. Обращение к программе-функции MathCAD

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

< имя - программы > ( список фактических параметров ) .

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

- если формальным параметром является простая переменная, то в качестве фактического параметра может использоваться константа, переменная, арифметическое выражение;

- если формальным параметром является вектор или матрица, то фактическим должен быть вектор или матрица;

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

Обращение к программе-функции должно находиться после описания программы-функции и к моменту обращения фактические параметры должны быть определены.

Пример 3.1. Обращение к программе f(x), приведенной на рис. 2.4 может иметь следующий вид:

x := 2 f(x)=1.587 f(-3.23) = 0.556 + 0.928i


z := f(x + 4.5 ) z = 2.041


Заметим, что переменная z никак не связана с “локальной” переменной z, используемой внутри тела программы-функции. Передать данные внутрь программы-функции можно, используя внутри программы переменные, определенные до описания программы-функции.






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


^ 3.3. Программирование в программе-функции

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

Пример 3.2. Составить программу-функцию вычисления комплексного сопротивления двухполюсника, показнного на рис. 2.5.


Р
исунок 3.4 - Двухполюсник.






Z
(314)=30.936-21.145i .


^ 3.4. Программирование в программе-функции разветвляющихся алгоритмов


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

Пусть требуется задать функцию, задающую временную зависимость напряжения , заданного на рис. 2.6.




U


t1 t2 t


Рисунок 3.5- Временная зависимость напряжения





Видно, что алгоритм вычислений содержит три ветви и выбор зависит от значения переменной t.

Для программирования разветвляющихся алгоритмов в MathCAD имеется условная функция if и условный оператор. Используя эти конструкции можно «изменить» последовательное выполнение операторов. В этих конструкциях могут использоваться следующие новые понятия.

^ Выражения отношений. Эти выражения используются для сравнения двух арифметических выражений между собой. Выражение отношений записываются в виде :

< выр. А > < знак отношения > < выр. В> ,

где в качестве знака отношения выступают символы, приведенные в таблице 1.1. Если заданное отношение выполняется, то выражение отношений принимает значение равное 1 ( «истина» ), в противном случае - 0 ( «ложь»).

^ Логические операции. Определены две логических операции, которые ставятся между выражениями отношений.

Логическая операция ИЛИ. Обозначается знаком + и записывается в виде

< логич.выр.1 > + < логич.выр. 2>

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

Логическая операция И. Вводится знаком * ( в тексте это точка ) и записывается в виде

< логич.выр.1 > . < логич.выр. 2>

Результат равен 1, если оба логических выражения равны 1 и равен 0 для всех остальных значений логических выражений ( сравните с логическим оператором ИЛИ ).

^ Логическое выражение. Логическим выражением называется конструкция, составленная из выражений отношений, знаков логических операций и круглых скобок. Значение логического выражения вычисляется слева направо с учетом известного правила о приоритете операций. Список приоритетов ( по их убыванию ):

- круглые скобки ;

- логическая операция И;

- логическая операция ИЛИ.

^ Условная функция if. Эта функция записывается в виде ( символы if вводятся с клавиатуры) :

if ( < логич. выраж. > , < ариф.выраж.1> , < ариф.выраж.2 > )

Правило вычисления условной функции if : если логическое выражение равно 1, то функция принимает значение равное значению арифметического выражения 1 ; если логическое выражение равно 0, то функция принимает значение равное значению арифметического выражения 2. Условная функция используется в арифметических выражениях, стоящих в правой части локального оператора присваивания.

^ Условный оператор. Этот оператор используется только в теле программы-функции и для его ввода необходимо щелкнуть на кнопке if панели программирования или клавиши [ } ]. На экране появляется конструкция с двумя полями ввода, изображенная на рисунке 3.6.

Рисунок 3.6- Поля ввода условного оператора



В поле 2 вводится логическое выражение ( в простейшем случае это выражение отношений ). В поле 1 вводится выражение ( как правило, арифметическое), значение которого используется, если проверяемое логическое выражение принимает значение 1. Условный оператор может находиться только внутри тела программы функции. Например

Р
исунок 3.7- Условный оператор внутри тела подпрограммы

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

заключить это поле в выделяющую рамку;

щелкнуть на кнопке “otherwise” панели программирования;

в оставшемся поле введите соответствующее выражение.

Пример 3.3. Составим MathCAD- программу, реализующую вычисление функции, заданной на рис. 2.6:

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


^ 3.5. Программирование в программе-функции циклических алгоритмов


Напомним, что циклические алгоритмы (или проще циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной. Такая переменная называется параметром цикла, а сами повторяющиеся вычисления составляют тело цикла.

^ Программирование цикла типа арифметической прогрессии. Для программирования таких цикл
еще рефераты
Еще работы по разное