Новосибирский Государственный Технический Университет
Лабораторная работа № 5
Тема:Функции комплексного переменного и матрицы в VBA
Группа: АП-318 Дата: 3.11.2003
Преподаватель: Веретельникова С.Л.
Студенты: Иванчиков И.В.
Вриант: III
г.Новосибирск 2003г.
Задание 1:
Цель: Научиться вычислять функции комплексного переменного на языке программирования VBA.
Задача: По передаточной функции W(s), заданной по вариантам в табл. 6 и 7, построить амплитудно-частотную характеристику AЧX(w) и ее график.
W(s)=3; K=6; T1=0,3; T2=0,03; T3=0,6; W(s)=
Ход работы:
1. Создаём форму.
2. В General Declaration пишем:
Option Explicit
Dim w As Integer, i As Integer, znamenat1 As Single
Dim rew As Single, imw As Single, absw As Single
3. Создаём кнопку1
Caption=”Начать”
Процедура CommandButton1_Click()
w = 0
For i = 1 To 51
znamenat1 = (0.03 * w * w + 1) ^ 2 + 0.36 * w * w
rew = (-6 * (0.03 * w * w + 1) + 1.08 * w * w) / znamenat1
imw = (1.8 * w * (0.03 * w * w + 1) + 3.6 * w) / znamenat1
absw = Sqr(rew ^ 2 + imw ^ 2)
Cells(i + 1, 1).Value = i
Cells(i + 1, 2).Value = w
Cells(i + 1, 3).Value = rew
Cells(i + 1, 4).Value = imw
Cells(i + 1, 5).Value = znamenat1
Cells(i + 1, 6).Value = absw
w = w + 2
Next
4. Создаём кнопку2
Caption=”Отчистить”
Процедура CommandButton2_Click()
Лист1.Range("A2:M52").Clear
5. Создаём кнопку3
Caption=”Выход”
Процедура CommandButton3_Click()
End
Вывод: Научились вычислять функции комплексного
переменного на языке программирования VBA.
Задание 2:
Цель: Научиться выполнению операций над матрицами и векторами на языке программирования VBA.
Задача: Для матрицы размером n´n найти наибольшую сумму элементов столбца и сложить его с матрицей.
Ход работы:
1. Создаём форму.
2. В General Declaration пишем:
Option Explicit
Dim i As Integer, j As Integer
Dim a() As Integer, sum() As Integer
Dim maxsum As Integer, nomer As Integer, n As Integer
3. Создаём процедуру UserForm_Activate()
Randomize
CommandButton4_Click
n = InputBox("Укажите размер матрицы:", "Размер", 5)
ReDim a(1 To n, 1 To n)
For i = 1 To n
For j = 1 To n
a(i, j) = Rnd * 5
Cells(j + 2, i).Value = a(i, j)
Next
Next
4. Создаём кнопку1
Caption=”Новая матрица”
Процедура CommandButton1_Click()
UserForm_Activate
5. Создаём кнопку2
Caption=”Начать”
Процедура CommandButton2_Click()
maxsum = 0
ReDim sum(1 To n)
For j = 1 To n
sum(j) = 0
For i = 1 To n
sum(j) = sum(j) + a(i, j)
Next
Cells(n + 4, j) = sum(j)
If sum(j) > maxsum Then
maxsum = sum(j)
nomer = j
End If
Next
Cells(n + 4, n + 2) = maxsum
For i = 1 To n
If nomer = i Then
For j = 1 To n
Cells(j + 2, n + 2) = Cells(j + 2, i)
Next
End If
Next
For i = 1 To n
For j = 1 To n
Cells(i + 2, n + 3 + j) = Cells(i + 2, n + 2) + Cells(i + 2, j)
Next
Next
6. Создаём кнопку3
Caption=”Отчистить”
Процедура CommandButton3_Click()
Лист2.Range("a3:z26").Clear
7. Создаём кнопку4
Caption=”Выход”
Процедура CommandButton4_Click()
End
Вывод: Научились выполнению операций над матрицами и векторами на языке программирования VBA.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.