Сделай Сам Свою Работу на 5

Основы программирования в MathCAD





ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ

РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

 

(Решение прикладных задач электроэнергетики в пакете MathCAD)

 

Методические указания к лабораторной работе № 1 по дисциплине

«Математические модели в электроэнергетике»

 

Г. Краснодар

 

 

Составители: докт. тех. наук проф. Богдан А.В.

 

Печатается по решению кафедры электроснабжения промышленных

предприятий и методической комиссии факультета нефти, газа и энергетики

 

 

Предназначена для студентов очного и заочного факультетов

 

Основы программирования в MathCAD

 

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

Ввод операторов программирования осуществляется с помощью панели инструментов Programming интерфейса MathCAD или, непосредственно, с клавиатуры.



Операторы программы пишутся в специальных полях – программных строках (Program line) по строго определенным правилам.

 

1.1 Простое применение операторов программирования

 

Пример: посчитать значение выражения в точке х=10

Порядок Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Создать поля строк программы ] Add line
Ввести само выражение \2*x3¤¤¤/sin(x/2)  
В поле верхней строки программы внести локальное определение значения переменной х x{10
Вывести результат = =

* символ ¤ будет применяться для обозначения пробела

Оператор ← позволяет определить локальную переменную в программе (за пределами поля программы определение не действительно (!)). Внутри программы недопустимо применение операторов присваивания := и = арифметического равенства.

Этот пример демонстрирует простейшее применение программы.

Пример: Определение пользовательской функции с помощью программы.

Определим программно функцию. Выражение под корнем можно определить равной некоторой локальной переменной.



Порядок Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Ввести имя пользовательской функции, присвоить… Trane(x): :=
Добавить линии программы ] Add line
Щелкнуть по полю первой (верхней) строки программы и определить локальную переменную r r{\sin(x)^2¤-e^sin(x)
Щелкнуть по полю второй строки программы и ввести выражение, аргументом которого является r sin(r)¤/r¤+r  
Ввести напечатанное выражение (нажать «Enter» или щелкнуть в любом месте, ниже или правее активного поля). Затем вычислим значение полученной пользовательской функции в произвольной точке х <Enter> Trane(4)=  

Приведенная выше программа могла быть заменена менее локальным и экономичным определением: .

1.2 Оператор условия if – otherwise

 

Оперативная конструкция if – otherwise применяется для «раздвоения» пути вычисления, в зависимости от текущего значения переменных, изменяющихся программно, либо вводимых пользователем в диалоговом режиме.

[оператор_или_директория_1] if [условие]

Форма оператора:

[оператор_или_директория_2] otherwise

Оператор_или_диретория_1 исполняется в том случае, если условие, следующее после ключевого слова if, принимает истинное значение. В противном случае, выполняется оператор_или_директория_2, следующая за ключевым словом otherwisе.

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



Пример: определим кусочную функцию f(x) такую, чтобы: при значениях аргумента х от (-∞;-5) функции , , в интервале , .

 

Поря-док Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Определение пользовательской функции программно f(х): ] := Add Line
Щелкнуть по маркеру первой строки программы. Ввести выражение функции, оператор условия, затем условие, при выполнении которого следует выполнять введенное выражение х/10 }x<-5 / < if
Щелкнуть по маркеру второй строки программы. Ввести второе выражение, оператор условия if, затем условие, при выполнении f(x) должно вычисляться по второму выражению. Добавить программную строку sin(1.35*x) }-5<Ctrl>+9 x<0] sin if ≤ < Add Line
Щелкнуть по маркеру третьей программной строки и набрать выражение, которое должно выполняться, в случае невыполнения двух предыдущих условий, оператор условия if, затем условие, при выполнении которого f(х) должно вычисляться по третьей программной строке. Добавить 4-ю программную строку. e^-x/0.6¤¤-1 }0<Ctrl>+ 9x<5] if ≤ < Add Line
Щелкнуть по маркеру 4-ой программной строки, ввести выражение, которое выполняется в том случае, если значение всех ранних условий ложно. cos(1.5*x+2) <Ctrl>+} cos otherwise

 

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

 

 

1.3 Оператор цикла For

 

Цикл For – алгоритмическая конструкция, которая позволяет повторять определенное число раз некоторую последовательность операторов или директорий с изменяющимися параметрами.

Формат циклической конструкции:

for[параметр_цикла]ϵ[первое_значение_параметра],

[второе_значение]..[последнее_значение] [ТЕЛО_ЦИКЛА]

Перед оператором цикла, как правило, следует определить параметр цикла, как локальную переменную, установив в нее значение 0. Задавая цикл, можно узнать второе_значение, которое на значение шага отличается от первого_значения_параметра цикла. Изменяющийся параметр (счетчик) цикла задается в виде ряда (последовательности) натуральных чисел.

Пример. Определим программно функцию Summ(x), считающую сумму натуральных чисел от 0 до (х-1). Для этого нужно организовать суммирование в цикле с параметром цикла i, изменяющимся от 0 до х.

 

Поря-док Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Определить программно пользовательскую функцию Summ(x), в первой строке определить локальную переменную, равной 0. Summ(x) : ] s{0 := Add Line
Во второй строке организовать цикл. <Ctrl>+” for
Задать параметр цикла (щелкнув мышью в левом верхнем поле структуры for)и диапазон его изменения (в правом верхнем поле) I 0 ; x m…n  
В нижнем поле конструкции for (в теле цикла) сформировать переменную s, образуемую значением предыдущего s, увеличенного на 1. Нажав <Enter>, подтвердить ввод программы. s { s +1  
Проверка работы программы с циклом. Summ(3)=  

 

 

1.4 Оператор цикла While

 

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

Формат циклической конструкции:

while[переменная_1]<, или другой оператор Булевой логики [переменная_2] ТЕЛО_ЦИКЛА

После ключевого слова while следует условие в виде Булева соотношения между [переменной_1] и [переменной_2]. В поле, расположенном ниже и несколько правее, размещается оператор или их последовательность (если добавить программную строку), образую ТЕЛО_ЦИКЛА, которое будет выполняться пока условие-параметр цикла будет принимать значение ИСТИНА. Одним из главных условий корректной работы цикла while будет внесение изменений в переменные [переменная_1] или (и) [переменная_2] в процессе исполнения ТЕЛА_ЦИКЛА. Если этого не сделать, цикл может «зациклиться» (т.е. продолжать исполняться неограниченное число раз без перспективы самостоятельного выхода из цикла).

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

Функция (iteration of divisions – итерации делений) имеет три аргумента: а – координата точки А – начала отрезка, b – координата точки В – конца отрезка, eps – конечное значение длины отрезка, до которого производится деление. Все три аргумента будут переданы в программу. Выполнение программы начинается с описания локальной переменной iter, которая будет счетчиком итераций и установкой в нее значения начального 0. Во второй строке программы организован цикл while, тело которого будет исполняться до тех пор, пока выражение-параметр цикла будет принимать значение ИСТИНА. В качестве параметрического выражения введено сравнение половины длины отрезка с минимальной его длиной. В теле цикла производится смещение координаты а по оси х до точки А на длину половины отрезка АВ по направлению к точке В (первая строка тела цикла), а также увеличение значения переменой iter на единицу. Затем при исполнении программы, происходит проверка выполнения условия-параметра цикла уже с новым значением переменой а. При значении ИСТИНА повротяется исполнение тела цикла, в противном случае - управление передается на строку, следующую за оператором while, где переменная iter передается как значение функции .

 

Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Вставка оператора цикла while <Ctrl>+” while

 

Правильность работы полученной программы не трудно проверить, вызвав значение функции для аргументов а=0, b=100, eps=2. Результатом должно быть . Значит, что потребуется 5 делений отрезка (0;100) пополам, чтобы получить отрезок меньше, чем 2 (eps).

Пример 2. Создать вектор из 11 элементов, каждый из которых имеет значение номера строки, В которой он расположен.

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

1.5 Программное прерывание цикла оператором Break…

 

Оператор Break… применяется для программного прерывания выполняющегося цикла при выполнении определенного условия. Причем значение всех переменных сохраняется на момент возникновения состояния «break».

Формат: break [условие]

При значении [условия]=ЛОЖЬ, оператор break игнорируется программой.

Оператор break часто применяют для защиты программы от ошибок и зацикливания.

Пример. Вычисление факториала, используя оператор break.

Описание действия Способ вызова Результат
Клавиатура Кнопка панели
Программное прерывание цикла <Ctrl>+{ break

 

 

1.6 Оператор return

 

Оператор return применяется для вывода из любого места программы значений переменных.

Формат: return [переменная]

Пример.

Пользовательская функция F(n) вычисляет факториал числа n, в то время как функция F_ret(n), при введении в код функции F(n), оператор return n, возвращает значение n.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.