Министерство образования РФ
НГТУ
Кафедра автоматики
Лабораторная № 5
По курсу информатики
Функции комплексного переменного и матрицы в VBA
Группа: АА-86
Студент: Земцов Н.С.
Преподаватель: Саблина Г.В.
Дата: 03.11.08
Новосибирск
2008
Задание №1
Научиться вычислять функции комплексного переменного.
Задача: По придаточной функции W(s), построить амплитудно-частотную характеристику АЧХ(ω) и ее график.
Исходные данные:
K=9, T1=0,6, T2=0,06, T3=0,3;
Код программы:
Option Explicit
Sub l5z1()
Dim K!, T1!, T2!, T3!, w!, i%, ReW!, ImW!, ACH!, w0!, dw%
Call Read1("B4", K): Call Read1("C4", T1): Call Read1("D4", T2): Call Read1("E4", T3): Call Read1("F4", w0): Call Read1("G4", dw)
For i = 1 To 51
Call Out1("B" & (20 + i), i): w = w0 + dw * (i - 1): Call Out1("C" & (20 + i), w)
ReW = K * (T1 * T3 * w * w + T1 * T2 * w * w + 1 - T2 * T3 * w * w) / (T2 * T2 * T3 * T3 * (w ^ 4) + T3 * T3 * w * w + T2 * T2 * w * w + 1)
Call Out1("D" & (20 + i), ReW)
ImW = K * (T1 * w - T1 * T2 * T3 * w * w * w - T3 * w - T2 * w) / (T2 * T2 * T3 * T3 * (w ^ 4) + T3 * T3 * w * w + T2 * T2 * w * w + 1)
Call Out1("E" & (20 + i), ImW)
ACH = (ReW ^ 2 + ImW ^ 2) ^ (1 / 2)
Call Out1("F" & (20 + i), ACH)
Next i
End Sub
Тестовый пример:
W |
АЧХ |
24 |
10,7775774 |
Вывод:
В ходе работы я научился вычислять функции комплексного переменного на языке программирования VBA.
Задание №2
Научиться выполнению операций над матрицами и векторами.
Задача:
Для матрицы размером 5х5 найти наибольшую сумму элементов строки и сложить ее с матрицей.
Исходные данные:
2 |
3 |
5 |
6 |
7 |
4 |
6 |
5 |
1 |
2 |
5 |
4 |
0 |
4 |
1 |
3 |
8 |
2 |
2 |
2 |
8 |
6 |
1 |
5 |
8 |
Код программы:
Option Explicit
Sub l5z2()
Dim i%, j%, n%, m%, max%
Call Read2("A1", n): Call Read2("B1", m)
ReDim a(1 To n, 1 To m) As Integer, s(1 To n) As Integer
For i = 1 To n
For j = 1 To m
Call ReadCells(i + 1, j + 1, a(i, j))
Next j
Next i
For i = 1 To n
s(i) = 0
For j = 1 To n
s(i) = s(i) + a(i, j)
Next
Next
For i = 1 To n
max = s(1)
If s(i) > max Then max = s(i)
Next
For i = 1 To n
For j = 1 To m
a(i, j) = a(i, j) + max: Call OutCells(i + 8, j + 1, a(i, j))
Next
Next
End Sub
Тестовый пример:
2 |
3 |
5 |
6 |
7 |
30 |
31 |
33 |
34 |
35 |
4 |
6 |
5 |
1 |
2 |
32 |
34 |
33 |
29 |
30 |
5 |
4 |
0 |
4 |
1 |
33 |
32 |
28 |
32 |
29 |
3 |
8 |
2 |
2 |
2 |
31 |
36 |
30 |
30 |
30 |
8 |
6 |
1 |
5 |
8 |
36 |
34 |
29 |
33 |
36 |
Вывод:
В ходе работы я научился выполнять операции над матрицами и векторами на языке программирования VBA.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.