Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Vba_расчеты

.pdf
Скачиваний:
33
Добавлен:
17.05.2015
Размер:
1.73 Mб
Скачать

Программный код для расчета указанных характеристик имеет вид:

Mx = 0: My = 0

' Вычисление координат центра масс:

For j = 1 To K

 

Mx = Mx + (Xs(i- 1) - Xs(i)) * (Ys(i - 1) ^ 2 + Ys(i - 1) * Ys(i) + Ys(i) ^ 2) / 6 My = My + (Ys(i - 1) - Ys(i)) * (Xs(i - 1) ^ 2 + Xs(i - 1) * Xs(i) + Xs(i) ^ 2) / 6

Next i

 

 

Ycm= Mx / S: Cells(2, 12) = Ycm

'

запись Ycm в ячейку K2

Xcm = -My / S: Cells(2, 11) = Xcm

'

запись Ycm в ячейку L2

Jx = 0: Jy = 0

' Вычисление главных моментов инерции:

For i = 1 To K

 

 

Jx = Jx + Abs((Ys(j) ^ 2 + Ys(i - 1) ^ 2) * (Ys(i) + Ys(i - 1)) * (Xs(i) - Xs(i - 1))) /12 Jy = Jy + Abs((Xs(j) ^ 2 + Xs(j - 1) ^ 2) * (Xs(j) + Xs(j - 1)) * (Ys(j) - Ys(j - 1))) /12

Next i

 

 

Jсx = Jx - S * Xzt ^ 2: Cells(2, 13) = Jсx

'

запись Jcx в ячейку M2

Jсy = Jy - S * Yzt ^ 2: Cells(2, 14) = Jсy

'

запись Jcy в ячейку N2

End Sub

 

 

После получения в ячейках J2:N2 параметров сечения (см. рис. 3.8)

 

J

K

L

M

N

 

 

 

 

 

 

1

S=

Xcm=

Ycm=

Jcx=

Jcy=

 

 

 

 

 

 

2

229,4382

8,873324

8,873324

18637,51

18637,51

 

 

 

 

 

 

Рис. 3.8.

можно показать на диаграмме точку-центр масс. Для этого следует, выделив через контекстное меню легенду, выбрать данные, добавить имя (Ycm, Xcm) и адреса ячеек K2, L2 с координатами и нажать OK, а затем, выделив только имя легенды (Ycm, Xcm), изменить тип диаграммы на точечная с маркерами – на диаграмме должна отобразиться в виде маркера точка – центр «масс».

51

Пример 3.5. Профиль храповика (см. рис. 3.9) задан координатами (см. далее) опорных точек. Построить по ним профиль, приняв tg 0.1 1; вычислить площадь контура храповика и координаты центра тяжести сечения.

Для решения

данного примера разместим ис-

 

ходные данные

так, чтобы точки, по которым

 

строится плавная сплайн-кривая, находились на

 

краю области данных, например, начинали дан-

Рис. 3.9

ные, как показано на рис. 3.10. В ячейках D2:E2 запишем составляющие вектора касательной, показывающего направление кривой в еѐ начальной точке. В концевой точке профиля (в ячейках D6:E6) зададим вектор касательной как при построении четверти окружности. А коэф-

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

ках A2:B6 и этим векторам - для чего необходимо задать в программе

Kod=−11. В остальном, операторы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вычисления координат профиля не

 

 

 

 

A

 

B

 

 

C

 

 

D

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

x

 

y

 

 

t

 

 

px

 

py

отличаются от записанных в про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цедуре предыдущего примера.

 

2

 

0

 

 

9

 

 

 

-1

-0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xs, Ys – координаты точек сплайна

 

3

 

-4

 

 

4

 

 

 

 

 

 

 

также размещаются в ячейках диа-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

0

 

 

0

 

 

 

 

 

 

 

пазона G2:H32 (над ними в G1:H1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

4

 

 

4

 

 

 

 

 

 

 

можно указать имена массивов Xs,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

0

 

 

8

 

 

 

-1,172

0

Ys). Но кривая профиля не замкну-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

та. Чтобы еѐ замкнуть, введѐм

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

0

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вслед за последней строкой рас-

 

 

 

 

 

 

Рис. 3.10.

 

 

считанных точек строку со значе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ниями 0 и 9 – координатами начальной точки (вместо этого можно было, жертвуя именами массивов, записать 0 и 8 в ячейки G1:H1). Теперь, с учѐтом последней точки, можно представить контур на точечной диаграмме, соединив его точки прямыми линиями, и вычислить площадь внутри полученного замкнутого многоугольника (контура) по формуле S 0.5 iK1 xi 1 yi xi yi 1 , где K – номер конечной точки, совпадаю-

52

щей с начальной (i=0 – нулевой) точкой. Для данного случая K=M+1, и площадь вычисляется как в предыдущем примере:

S = 0

' Вычисление площади круга:

For i = 1 To M

 

 

S = S + Xs(i - 1) * Ys(i) - Xs(i) * Ys(i - 1)

 

Next i

 

 

S = 0.5 * Abs(S):

Cells(2, 10) = S

' Запись значение площади а ячейку J2

Расчѐт проводился при M=30. VBA-код и результаты расчѐта см. в файле Пример_3_5.xlsm папки Examples, упомянутой в приложении.

3.5.Задачи

1.Профиль штампованной детали («стаканчика») показан на рис. 3.11. Изобразить профиль на диаграмме и

записать

вычисленную

Рис. 3.11.

величину

объѐма

 

«стаканчика» в ячейку листа Excel.

2.

Размеры L, H, R, d профиля, изображѐнного

 

на рис. 3.12, заданны в ячейках диапазона A2:D2.

 

Изобразить на диаграмме профиль заданных раз-

 

меров и записать в ячейку E2 величину площади

 

профиля.

 

3.

Размеры L, H, R, d профиля, изображѐнного

 

на рис. 3.13, заданны в ячейках диапазона A2:D2.

Рис. 3.12.

Изобразить на диаграмме профиль заданных раз-

 

меров и записать в ячейку E2 величину площади

 

профиля.

 

4.

Размеры L, H, R, d сечения зуба рейки, изо-

 

бражѐнного на рис. 3.14, заданны в ячейках диапа-

 

зона A2:D2. Изобразить на диаграмме сечение зуба

 

53

Рис. 3.13.

 

Рис. 3.17.

заданных размеров и записать в ячейку E2 величину площади сечения зуба рейки.

Рис. 3.14

Рис. 3.15.

Рис. 3.16.

5.Размеры h и b профиля, изображѐнного на рис. 3.15, заданны в ячейках диапазона A2:B2. Изобразить на диаграмме профиль заданных размеров и записать в ячейку E2 величину площади профиля.

6.Размеры r, R и h профиля сечения кулачка, изображѐнного на рис. 3.16, заданны в ячейках диапазона A2:C2. Изобразить на диаграмме сечение профиля заданных размеров, вычислить и записать в ячейку D2 величину площади сечения профиля кулачка.

7.Цилиндрическая часть матрицы

штампа (см. рис. 3.17) имеет высоту H и диаметр D. Координаты криволинейной части профиля матрицы заданы в таблице 3.1. Изобразить на точечной диаграмме контур мат-

рицы, вычислить объѐм матрицы, а также площадь поверхности, задан-

ной криволинейной частью профиля.

 

 

Таблица 3.1

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

-200

-183

-127

-48

0

 

48

127

183

200

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

0

63

110

132

133

 

132

110

63

0

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

 

Цилиндрическая часть пуансона (см.

 

 

 

 

рис. 3.18) имеет высоту H. координаты

 

профиля нецилиндрической части заданы

 

в таблице 3.1. Представить на точечной

 

диаграмме контур пуансона и вычислить

 

его объѐм, а также площадь поверхности

 

нецилиндрической части.

Рис. 3.18.

 

54

 

9. Изобразить на точечной диаграмме контур детали, показанной на рис. 3.19; вычислить площадь фигуры, ограниченной контуром, и координаты центра тяжести фигуры. Указание. Представить контур сплайн-кривой, разбив сплайн-кривую на большое число отрезков.

R 50

150

60°

R 50 100

R 50

R 50

10. Контур сечения лопатки турбины (см. рис. 3.20) задан координатами точек (см. таблицу 3.2). Приблизить кривую контура параметрическим сплайном. Изобразить контур на диаграмме и записать вычисленную величину площади сечения и координаты центра тяжести сечения в ячейки листа Excel.

Рис. 3.20.

Рис. 3.19.

 

Таблица 3.2

 

 

 

x

 

y

 

 

 

236

 

27

 

 

 

157

 

54

 

 

 

90

 

95

 

 

 

56

 

142

 

 

 

50

 

196

 

 

 

69

 

233

 

 

 

90

 

245

 

 

 

105

 

228

 

 

 

109

 

194

 

 

 

121

 

149

 

 

 

149

 

106

 

 

 

190

 

66

 

 

 

241

 

37

 

 

 

55

4. Приложение. Состав вспомогательных программных средств.

Вспомогательные программные средства, из числа описанных выше, могут непосредственно использоваться при решении в Excel задач. Для этого их надо предварительно поместить, например, в папку C:\Program Files\VBA_Excel (как это сделано в лабораториях университета) и затем подключать при решении задач.

Состав программных средств:

1.IOmas.bas – модуль с процедурами ввод-вывод массивов, описанными в разделе 1.1.

2.GaussMethod.bas – модуль с макросами для изучения метода Гаусса, разобранными в разделе 1.2.

3.Math.bas – модуль с декларациями библиотечных процедур (метода Гаусса и сплайн-интерполяции) и функцией xCdGauss, определѐнной пользователем для решения СЛАУ (описанной в разделе 1.3).

4.Math32.dll – dll-библиотека с кодами процедур метода Гаусса и сплайн-интерполяции).

5.Maxmin.bas – модуль с функциями Max, Min, Fmt (формат, в которой положительные числа выводятся с пробелом в позиции знака).

6.Examples – папка с примерами, приведѐнными в пособии.

Модули подключаются для использования командами реактора VBA:

File, Import File… .

Процедуры библиотеки Math32.dll подключаются по ссылкам в модуле Math.bas на папку с названной библиотекой.

56

Рекомендуемая литература

1.Слепцова Л. Д. Программирование на VBA в Microsoft Office 2010

– М.: Диалектика, 2010, -431с.

2.Лобанов А.С., Туманова М.Б. Решение задач на языке Visual Basic for Applications: учебное пособие. –М.; МГТУ «МАМИ», 2009., -

90с.

3.Антомони В.И., Архипов В.Н., Любин А.Н., Тихомиров В.Н. Программирование на VBA а Microsoft Office: сборник лабораторных работ. –М.; МГТУ «МАМИ», 2011., -152с.

4.Калядин В.И., Макаров А.И. Основы работы на персональном компьютере. Использование программных средств при проектировании автомобильных конструкций. –М.; МГТУ «МАМИ»,

2010., -85с.

57

СОДЕРЖАНИЕ

 

Введение .....................................................................................................

3

1. Действия с массивами в Excel и в VBA.........................................

3

1.1. Процедуры ввода-вывода массивов ..............................................

3

1.2. Изучение в Excel метода Гаусса ....................................................

9

1.3. Применение в Excel процедуры метода Гаусса .........................

16

1.4. Задачи .............................................................................................

22

1.5. Решение переопределѐнной системы n линейных уравнений

с m неизвестными (n > m)...........................................................

25

1.6. Задачи ..............................................................................................

28

2. Решение в Excel нелинейного уравнения ....................................

31

2.1. Встроенные и дополнительные средства решения ...................

31

2.2. Задачи ..............................................................................................

33

3. Представление данных в виде графиков и диаграмм ..............

36

3.1. Построение графиков ...................................................................

36

3.2. Изображение плоских параметрических кривых ......................

37

3.3. Задачи .............................................................................................

39

3.4. Использование сплайн-функций и сплайн-кривых...................

42

3.5. Задачи .............................................................................................

53

4. Приложение. Состав вспомогательных программных средств .....

56

Рекомендуемая литература .................................................................

57

58

Учебное издание

Калядин Вячеслав Иванович

Решение задач в Excel на VBA.

Применение программных средств в проектировании автомобильных конструкций.

Под редакцией авторов

Оригинал-макет подготовлен редакционно-издательским отделом МГТУ «МАМИ»

По тематическому плану внутривузовских изданий учебной литературы на 2011 г.

Подписано в печать 21.12.11 Формат 90x60 1/16 Бумага 80 г/м2 Гарнитура «Таймс». Ризография. Уч. печ. л. 3,5 .

Тираж 100 экз. Заказ № 233-11

МГТУ «МАМИ» 107023, г. Москва, Б.Семѐновская ул. 38

59

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