Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Excel_new.doc
Скачиваний:
97
Добавлен:
22.02.2015
Размер:
5.05 Mб
Скачать

Самостоятельная работа

  • Добавить к представленной модели еще два- три агрегата и получить решение задачи.

  • Построить графики ОП агрегатов.

      1. Функции комплексных чисел

При работе в среде электронной таблицы при подключении пакета анализа становится доступным ряд функций комплексных чисел (разд. 3.6). Однако в среде Visual Basic эти функции не всегда доступны. Кроме того, для электрика желательно иметь набор функций операций с матрицами в среде комплексных чисел. С целью обучения составим пакет некоторых функций комплексных чисел.

Функция Compl, получения комплексного числа

В Excel комплексное число записывается в виде текстовой строки, скомпонованной из действительной и мнимой составляющих . В приведенной ниже программе следует обратить внимание на организацию индекса, который можно задавать или не задавать (по умолчанию индекс равен "i"). В списке параметров используется ключевое слово Optional, после которого параметр index имеет тип Variant, а не String. Проверка наличия параметра осуществляется функцией IsMissing(index).

Поскольку в процессе расчетов могут быть получены числа в экспоненциальной форме, а в представлении комплексного числа не желательны дополнительные буквенные символы (Е), в программе применяется функция Format, преобразующая числа к виду "целая - дробная части", при этом назначается число знаков после запятой. Рекомендуем обратить внимание на данную функцию - ее использование бывает часто полезным.

Для преобразования действительного числа в строку используется функция Str$():

Rem Получение комплексного числа

Public Function compl(Re As Single, Jm As Single, Optional index) As String

Re = Format(Re, "#.000000"): Jm = Format(Jm, "#.000000")

If IsMissing(index) Then index = "i" 'проверка: задан ли index?

If Jm < 0 Then s$ = "" Else s$ = "+" s$ - это строковая переменная

compl = str$(Re) & s$ & str$(Jm) & index

End Function

Действительная составляющая комплексного числа (функция ReCompl)

Разделителем действительной и мнимой частей комплексного числа, записанного в виде текстовой строки, является знак "+" или "-". Отсюда следует определить местоположение этого символа и левую часть строки рассматривать как строковое представление действительной части. В приведенном ниже модуле используются функции Mid$(strl, k, l) - выделения l символов строки str, начиная с позиции k, и Val(str) - преобразования строки в число. Обратите внимание на конструкцию цикла Do UntilLoop.

Rem Действительная часть комплексного числа

Public Function Recompl(compl As String) As Single

k = 2

Do Until Mid$(compl, k, 1) = "+" Or Mid$(compl, k, 1) = "-" Or k > Len(compl)

k = k + 1

Loop

Recompl = Val(Mid$(compl, 1, k - 1))

End Function

Самостоятельная работа

  • Выполните отладку предложенных функций.

  • Разработайте и выполните отладку функций, указанных в табл.4.10.

Таблица 4.42

Название

Назначение

Примечание

Jmcompl()

Получение мнимой части комплексного числа

На базе Recompl()

Addcompl()

Сумма двух комплексных чисел

Используются: compl(), Recompl(), Jmcompl(),

Subcompl()

Разность комплексных чисел

Аналог Addcompl()

Conjcompl()

Сопряженное комплексное число

Abscompl()

Модуль комплексного числа

Sqr()-квадратный корень

Mulcompl()

Произведение комплексных чисел

Devcompl()

Деление комплексных чисел

Умножить числитель и знаменатель на сопряженный знаменатель

Ugolcompl()

Угол комплексного числа

Atn() -арктангенс угла

compl_polar()

Формирование комплексного числа по модулю и углу

На базе compl()

Sumcompl()

Сумма блока комплексных чисел

Используя цикл For Each

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

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