__Страница_001
__Страница_002 (2)
__Страница_002
__Страница_003 (2)
__Страница_003
__Страница_004 (2)
__Страница_004
__Страница_005 (2)
__Страница_005
__Страница_006 (2)
__Страница_006
__Страница_007 (2)
__Страница_007
__Страница_008 (2)
__Страница_008
__Страница_009 (2)
__Страница_009
__Страница_010 (2)
__Страница_010
__Страница_011 (2)
__Страница_011
__Страница_012 (2)
__Страница_012
__Страница_013 (2)
__Страница_013
__Страница_014 (2)
__Страница_014
__Страница_015 (2)
__Страница_015
__Страница_016 (2)
__Страница_016
__Страница_017 (2)
__Страница_017
__Страница_018 (2)
__Страница_018
__Страница_019 (2)
__Страница_019
__Страница_020 (2)
__Страница_020
__Страница_021 (2)
__Страница_021
__Страница_022 (2)
__Страница_022
__Страница_023 (2)
__Страница_023
__Страница_024 (2)
__Страница_024
__Страница_025 (2)
__Страница_025
__Страница_026 (2)
__Страница_026
__Страница_027 (2)
__Страница_027
__Страница_028 (2)
__Страница_028
__Страница_029 (2)
__Страница_029
__Страница_030 (2)
__Страница_030
__Страница_031 (2)
__Страница_031
__Страница_032 (2)
__Страница_032
__Страница_033 (2)
__Страница_033
__Страница_034 (2)
__Страница_034
__Страница_035 (2)
__Страница_035
__Страница_036 (2)
__Страница_036
__Страница_037 (2)
__Страница_037
__Страница_038 (2)
__Страница_038
__Страница_039 (2)
__Страница_039
__Страница_040 (2)
__Страница_040
__Страница_041 (2)
__Страница_041
__Страница_042 (2)
__Страница_042
__Страница_043 (2)
__Страница_043
__Страница_044 (2)
__Страница_044
__Страница_045 (2)
__Страница_045
__Страница_046 (2)
__Страница_046
__Страница_047 (2)
__Страница_047
__Страница_048 (2)
__Страница_048
__Страница_049 (2)
__Страница_049
__Страница_050 (2)
__Страница_050
__Страница_051 (2)
__Страница_051
__Страница_052 (2)
__Страница_052
__Страница_053 (2)
__Страница_053
__Страница_054 (2)
__Страница_054
__Страница_055 (2)
__Страница_055
__Страница_056 (2)
__Страница_056
__Страница_057 (2)
__Страница_057
__Страница_058 (2)
__Страница_058
__Страница_059 (2)
__Страница_059
__Страница_060 (2)
__Страница_060
__Страница_061 (2)
__Страница_061
__Страница_062 (2)
__Страница_062
__Страница_063 (2)
__Страница_063
__Страница_064 (2)
__Страница_064
__Страница_065 (2)
__Страница_065
__Страница_066 (2)
__Страница_066
__Страница_067 (2)
__Страница_067
__Страница_068 (2)
__Страница_068
__Страница_069 (2)
__Страница_069
__Страница_070 (2)
__Страница_070
__Страница_071 (2)
__Страница_071
__Страница_072 (2)
__Страница_072
__Страница_073 (2)
__Страница_073
__Страница_074 (2)
__Страница_074
__Страница_075 (2)
__Страница_075
__Страница_076 (2)
__Страница_076
__Страница_077 (2)
__Страница_077
__Страница_078 (2)
__Страница_078
__Страница_079 (2)
__Страница_079
__Страница_080 (2)
__Страница_080
__Страница_081 (2)
__Страница_081
__Страница_082 (2)
__Страница_082
__Страница_083 (2)
__Страница_083
__Страница_084 (2)
__Страница_084
__Страница_085 (2)
__Страница_085
__Страница_086 (2)
__Страница_086
__Страница_087 (2)
__Страница_087
__Страница_088 (2)
__Страница_088
__Страница_089 (2)
__Страница_089
__Страница_090 (2)
__Страница_090
__Страница_091 (2)
__Страница_091
__Страница_092 (2)
__Страница_092
__Страница_093 (2)
__Страница_093
__Страница_094 (2)
__Страница_094
__Страница_095 (2)
__Страница_095
__Страница_096 (2)
__Страница_096
__Страница_097 (2)
__Страница_097
__Страница_098 (2)
__Страница_098
__Страница_099 (2)
__Страница_099
__Страница_100 (2)
__Страница_100
__Страница_101 (2)
__Страница_101
__Страница_102 (2)
__Страница_102
__Страница_103 (2)
__Страница_103
__Страница_104 (2)
__Страница_104
__Страница_105 (2)
__Страница_105
__Страница_106 (2)
__Страница_106
__Страница_107 (2)
__Страница_107
__Страница_108 (2)
__Страница_108
__Страница_109 (2)
__Страница_109
__Страница_110 (2)
__Страница_110
__Страница_111 (2)
__Страница_111
__Страница_112 (2)
__Страница_112
__Страница_113 (2)
__Страница_113
__Страница_114 (2)
__Страница_114
__Страница_115 (2)
__Страница_115
__Страница_116 (2)
__Страница_116
__Страница_117 (2)
__Страница_117
__Страница_118 (2)
__Страница_118
__Страница_119 (2)
__Страница_119
__Страница_120 (2)
__Страница_120
__Страница_121 (2)
__Страница_121
__Страница_122 (2)
__Страница_122
__Страница_123 (2)
__Страница_123
__Страница_124 (2)
__Страница_124
__Страница_125 (2)
__Страница_125
__Страница_126 (2)
__Страница_126
__Страница_127 (2)
__Страница_127
__Страница_128 (2)
__Страница_128
__Страница_129 (2)
__Страница_129
__Страница_130 (2)
__Страница_130
__Страница_131 (2)
__Страница_131
__Страница_132 (2)
__Страница_132
__Страница_133 (2)
__Страница_133
__Страница_134 (2)
__Страница_134
__Страница_135 (2)
__Страница_135
__Страница_136 (2)
__Страница_136
__Страница_137 (2)
__Страница_137
__Страница_138 (2)
__Страница_138
__Страница_139 (2)
__Страница_139
__Страница_140 (2)
__Страница_140
__Страница_141 (2)
__Страница_141
__Страница_142 (2)
__Страница_142
__Страница_143 (2)
__Страница_143
__Страница_144 (2)
__Страница_144
__Страница_145 (2)
__Страница_145
__Страница_146 (2)
__Страница_146
__Страница_147 (2)
__Страница_147
__Страница_148 (2)
__Страница_148
__Страница_149 (2)
__Страница_149
__Страница_150 (2)
__Страница_150
__Страница_151 (2)
__Страница_151
__Страница_152 (2)
__Страница_152
__Страница_153 (2)
__Страница_153
__Страница_154 (2)
__Страница_154
__Страница_155 (2)
__Страница_155
__Страница_156 (2)
__Страница_156
__Страница_157 (2)
__Страница_157
__Страница_158 (2)
__Страница_158
__Страница_159 (2)
__Страница_159
__Страница_160 (2)
__Страница_160
__Страница_161 (2)
__Страница_161
__Страница_162 (2)
__Страница_162
__Страница_163 (2)
__Страница_163
__Страница_164 (2)
__Страница_164
__Страница_165 (2)
__Страница_165
__Страница_166 (2)
__Страница_166
__Страница_167 (2)
__Страница_167
__Страница_168 (2)
__Страница_168
__Страница_169 (2)
__Страница_169
__Страница_170 (2)
__Страница_170
__Страница_171 (2)
__Страница_171
__Страница_172 (2)
__Страница_172
__Страница_173 (2)
__Страница_173
__Страница_174 (2)
__Страница_174
__Страница_175 (2)
__Страница_175
__Страница_176 (2)
__Страница_176
__Страница_177 (2)
__Страница_177
__Страница_178 (2)
__Страница_178
__Страница_179 (2)
__Страница_179
__Страница_180 (2)
__Страница_180
__Страница_181 (2)
__Страница_181
__Страница_182 (2)
__Страница_182
__Страница_183 (2)
__Страница_183
__Страница_184 (2)
__Страница_184
__Страница_185 (2)
__Страница_185
__Страница_186 (2)
__Страница_186
__Страница_187 (2)
__Страница_187
__Страница_188 (2)
__Страница_188
__Страница_189 (2)
__Страница_189
__Страница_190 (2)
__Страница_190
__Страница_191 (2)
__Страница_191
__Страница_192 (2)
__Страница_192
__Страница_193 (2)
__Страница_193
__Страница_194 (2)
__Страница_194
__Страница_195 (2)
__Страница_195
__Страница_196 (2)
__Страница_196
__Страница_197 (2)
__Страница_197
__Страница_198 (2)
__Страница_198
__Страница_199 (2)
__Страница_199
__Страница_200 (2)
__Страница_200
__Страница_201 (2)
__Страница_201
__Страница_202 (2)
__Страница_202
__Страница_203 (2)
__Страница_203
__Страница_204 (2)
__Страница_204
__Страница_205 (2)
__Страница_205
__Страница_206 (2)
__Страница_206
__Страница_207 (2)
__Страница_207
__Страница_208 (2)
__Страница_208
__Страница_209 (2)
__Страница_209
__Страница_210 (2)
__Страница_210
__Страница_211 (2)
__Страница_211
__Страница_212 (2)
__Страница_212
__Страница_213 (2)
__Страница_213
__Страница_214 (2)
__Страница_214
__Страница_215 (2)
__Страница_215
__Страница_216 (2)
__Страница_216
__Страница_217 (2)
__Страница_217
__Страница_218 (2)
__Страница_218
__Страница_219 (2)
__Страница_219
__Страница_220 (2)
__Страница_220
__Страница_221 (2)
__Страница_221
__Страница_222 (2)
__Страница_222
__Страница_223 (2)
__Страница_223
__Страница_224 (2)
__Страница_224
__Страница_225 (2)
__Страница_225
__Страница_226 (2)
__Страница_226
__Страница_227 (2)
__Страница_227
__Страница_228 (2)
__Страница_228
__Страница_229 (2)
__Страница_229
__Страница_230 (2)
__Страница_230
__Страница_231 (2)
__Страница_231
__Страница_232 (2)
__Страница_232
__Страница_233 (2)
__Страница_233
__Страница_234 (2)
__Страница_234
__Страница_235 (2)
__Страница_235
__Страница_236 (2)
__Страница_236
__Страница_237 (2)
__Страница_237
__Страница_238 (2)
__Страница_238
__Страница_239 (2)
__Страница_239
__Страница_240 (2)
__Страница_240
__Страница_241 (2)
__Страница_241
__Страница_242 (2)
__Страница_242
__Страница_243 (2)
__Страница_243
__Страница_244 (2)
__Страница_244
__Страница_245 (2)
__Страница_245
__Страница_246 (2)
__Страница_246
__Страница_247 (2)
__Страница_247
__Страница_248 (2)
__Страница_248
__Страница_249 (2)
__Страница_249
__Страница_250 (2)
__Страница_250
__Страница_251 (2)
__Страница_251
__Страница_252 (2)
__Страница_252
__Страница_253 (2)
__Страница_253
__Страница_254 (2)
__Страница_254
__Страница_255 (2)
__Страница_255
__Страница_256 (2)
__Страница_256
__Страница_257 (2)
__Страница_257
__Страница_258 (2)
__Страница_258
__Страница_259 (2)
__Страница_259
__Страница_260 (2)
__Страница_260
__Страница_261 (2)
__Страница_261
__Страница_262 (2)
__Страница_262
__Страница_263 (2)
__Страница_263
__Страница_264 (2)
__Страница_264
__Страница_265
__Страница_266
Text
                    
EXCEL FOR SCIENTISTS AND ENGINEERS William J. Orvis San Francisco • Paris • Diisseldorf • Soest
Вильям Орвис EXCEL для ученых, инженеров и студентов . ~ ,.• :с Киев "ЮНИОР" 1999
ББК 32.973-01 0-63 УДК 681.3.06 Вильям Орвис 0-63 EXCEL для ученых, инженеррв и 1999. - 528 с. , ил. студентов: Пер. с англ. - К.: Юниор, - ISBN 966-7323-09-9 Данная книга предстааляет популярную программу электрон­ ных таблиц Excel с несколько неожиданной точки зрения - как мощиое средство инженерных л научных расчетов. Для решения сложных задач, таких как численное дифференцирование или ин­ тегрирование, всегда использовались специализированные пакеты нриклациых программ. образом и - программа менеджерам, Сегодня ситуация изменилась кореНJtым Excel 97, может, хорошо известная всем бухгалтерам оказывается, стать незаменимым инстру­ ментом ученых и инженеров. С помощью этой книги можно уз­ нать, как использовать Excel и VBA для аппроксимации, суммиро­ вания рядов, интегрирования и дифференцирования, а также ре­ шения сисrем линейных и дифференциальных уравнений. Книга рассчитана на инженерно-технический состав КБ и проекгных организаций, научных работников, занимающихся мо­ делированием и численным анализом, а также студентов и препо­ давателей инженерных факультетов и факультетов прикладной ма­ тематики высших и средних учебных заведений. ББК 32.973-01 ISBN 966-7323-09-9 (YQ.) Authorized translation f rom tbe English Language Edition @ 1996 SУВЕХ Jnc. ISBN 0-7821-1761-9 © перевод на русский язык и (авrл.) оформление издательство "Юниор'', 1999
For Pat and Wib. Your dedication, perseverance, and honesty show in the character of your children. 1know,1 married one.
Предисловие Несколько лет назад мною была написана книrа 1-2-3 for Scientists and в которой я расхваливал удобство применения программы электронных таблиц Lotus 1-2-3 для проведения численного анализа. Я посвятил свою книгу Lotus 1-2-3 по причине тоrо, что именно к ней Engineers, имели в то время доступ болъшинсt:Во научных и инженерных рабоrnи­ ков. Однако читатели были, вероятно, несколько удивлены, когда узна­ ли, что многие из примеров, приведенных в ходе изложения, были раз­ работаны на Macintosh с применением новой программы электронных таблиц Excel, созданной Microsoft. С того времени Excel претерпела зна­ чительные изменения, превратившись в мощнейшую среду для проведе­ ния численного анализа, способную функционировать как на платформе так и на Macintosh. Спустя несколько лет я написал книгу, представляющую собой вер­ сию упомянуrоrо выше издания, в переработке для Excel. С того момента Windows, программа таюке очень сильно изменилась, и наиболее значимым изме­ нением было добавление к ней Visual Basic for Applications в качестве ос­ новного махроязыка. Для ученых и инженеров очень важным является то, что за последнее время к комплекту инструментов Excel прибавлен целый ряд научных и инженерных функций. Новая версия Ехсе/ for Sci- entists and Engineers объединяет в себе все новые инструменты и методы, сщданные при разработке предыдущих версий программы до Excel 7 включительно (см. следующий раздел "Предисловие к русскому и.зданию" .прим. ред.) Так, например, пользуясь данной кииrой, не будут иметь про­ блем ни пользователи Excel 5 (версии 6 этой программы не существует), ни пользователи Macintosh. Надеюсь, что, наблюдая в процессе приме­ нения в рабочих листах методов численного анмиза за тем, как эти ка­ завшиеся чем-то таинственным методы становятся вполне понятными, вы получите истинное удовольствие от этой книги. Численный анализ, как правило, проводится с применением традици­ онных языков программирования, таких как Fortпm или С. Вы вводите в программу входные данные, а она применяет к иим некое численное волшебство и выдает результат. Пользуясь такой программой, вы видите только начало и итог вычислений, но пропускаете промежуrочные дейст­ вия. Применяя метод численного анализа в рабочих листах, можно уви­ деть весь ход решения задачи. Произоодя итерационное реuiение диффе­ ренциальных уравнений, вы имеете возможность отсле:живmъ значения на каждом этапе решения задачи и сравнивать их соответствие (или не­ соответствие) имеющемуся ответу. Это делает данный метод значительно более nоняnrым, что в свою очередь способствует ето дальнейшей разра­ ботке и более широкому применению. Решение создать пересмотренный и исправленный вариант предыду­ щего издания, добавив к нему ряд примеров и задач, зрело во мне долго и напряженно, и я бы хотел выразить искреннюю блаrодариость Р»чардУ
_______ Предuсловuе ......;._:..;.. - • Миллзу (Richard Mills) за то, что он в конечном итоге позволил мне -это сделать. Мне также хочется поблагодарить Чарльза Финна (Charles Finn) из Северо-восточного университета за то, что он "подrолкнул" нас с Ри­ чардом к этой работе; Джулию Келли (Julia Kelly) и Курта Хэмла (Kurt Натре) за вычитку текста и обнар}'жение всех моих ошибок; а также всех других сотрудников издательства SуЬех, внесших свой вклад в появ­ ление эrого издания. И, наконец, я хотел бы выразить особую благодар­ ность Би-Джею, Скаю, Сиерре и Шэйн за то, что они оставили меня в по.кое и дали возм~жность выполнить згу работу, а также Джулии - за то, что она не подпускала их ко мне. Надеюсь, вы получите удовольствие от этой книги - мне она понра­ вилась. Предисловие к русскому изданию С любезного разрешения издательства Sybex\ по лицензии которого Excel for Scientists and Engi- публикуется русскоязычный перевод книги neers, все примеры в книге Е:хсе/ для ученых, инженеров и ст}!дентов пре­ работы в Excel 97 (пользуясь случаем, издательство "Юниор" выражает блаrодарноСТh к.ф.-м.н. Бродовому В.Л., к.т.н. Кус­ суль Н.Н., Медведь О.И" МУРашкину С.В., к.ф.-м.н. Ракитянскому Д.Г.. и Полонской ЕЛ. за помощь, оказанную при подготовке книги к изда­ нию). Самым значительным изменениям подверпiась глава 4, посвящен­ ная использованию Visual Basic f or Applications, в связи с изменением са­ мой концепции этого языка в Excel 97. Кроме тоrо, было добавлено еще образованы для ор.но приложение, содержашее аналоги команд русскоязычных и англоя­ зычных версий Excel. Пользователи англоязычной версии Excel 7 могут получить рассмот­ ренные в книге примеры для эrой версии Excel на отдельно распростра­ няемой дискете, а таюке с WеЬ-узла издательства "Юниор" по адресу http://www.junior.ukrnet.net или ло электронной почте, прислав со­ общение по адресу junior-mail@writeme.com. &:Ли вы заметите недостатки в переводе и оформлении Книги, захо­ тите высказать свое мнение о книге либо предложить свое сотрудничест­ во в качестве переводчика, научного, литературного, техническоrо или художественного редактора либо распространителя наших книг, лишите нам по адресу: Украина, r. 252142 Киев-142. ул.Стуса, 35-37,оф.111. издательство ··~ониор" Кроме того, в конце книги имеется регистрационная карточка, запол­ нив й прислав которую, вы можете стать нашим зареmстрированн:Ым чи­ тателем. ждем ваших писем!
Введение Вычисления. выполняемые учеными и инженерами, могут быть как совсем простые, так и очень сложные. С несложными задачами расчета значений функций они сталЮtваются практичесЮI ежедневно, в то время как дnя решения сложных задач, например, для численного интегриро­ вания дифференциального уравнения, зачастую могут потребоваться це­ лы~ недели напряженного труда. Таким образом, любой инструмент, способный упростить численные расчеты, значительно повышает произ­ водительность научного работника или инженера. И одним из таких ин­ струментов является программа Excel, обеспечивающая средства для вы­ полнения вычислений, построения графиков и диаграмм, а также воз­ можности для программирования в едином пакете, пользоваться кото­ рым просто и удобно. В прошлом основным инструменrом для численных расчетов была логарифмическая линейка, а для наглядного отображения данных, как правило, пользовались мИJUJиметровкой. С изобретением карманного калькулятора логарифмическая линейка очень быстро была отправлена на заслуженный отдЫХ (худа-нибудь в дальний ящик письмеююго стола), но миллиметровая бумага применяется и поныне. Пользователи, имевшие доступ к универсальным компьютерам, могли для ВЪiчисленнй и отображения данных применять эти машины. обла­ давшие огромной вычислительной мощиосrью. Многие такие компыоте­ рЬl. были также оборудованы: приборами для создания графических ре­ зультатов расчетов. Однако, как правило, ·для разработки необходимых программ и создания сложных графических выкладок, нам приходилось нанимать квалифицированноrо специалиста-компьютерщика (или сrу­ дента университета). либо самим изучать.- языки программирования, на- пример, FORТRAN или ALGOL. , Изобретение микрокомпьютеров привело к тому, что мощные вычис­ лительные средства стали доступны практически любому ученому или инженеру, а компьютерный язык BASIC, поставлявшийся в комплекте стаиnартноrо программного обеспечения большинства таких маwнн, обеспечил Эффективную среду для многих видов числовых расчетов. Многие микрокомпьютеры оборудованы также графопостроителями и, затратив незначительные усилия, пользователь может с их помощью по­ лучить высококачественный графический материал. Одиако для того, чтобы разрабатывать н создавать графики и диаграммы на основе чис­ ленных данных, в этих компьютерах тоже должны быть установлены со­ ответствующие программы. Даже nри наличии персональных компьютеров многие научные и ин­ женерные работники производили вычисления с применением инженер­ ной расчеmой таблицы. Она представляет с~й разл.инованн.ый лист бумаги, похожий на альбомный, разграфлеННьtЙ также по вертикали ли- _,.
Введеиuе киями, расположенными на расстоянии около трех санmметров друr от друга. В ОТД_ельные столбцы вводятся этапы. ·вычиспения, а в последнем столбце содержится итоr. Так:, например, если вы хотигс вычислить фунхцию у = 2х2 + 3х для ряда значений х, то введете значения х в пер­ вый столбец, вычиспите значения 2х2 во втором столбце, значения Зх - в 'IреТЬСМ, а сумма данных из столбцов 2 и 3 - то есть итоговый результат будет указана в столбце 4. Интересно, что такие инженерные расчетные таблицы были очень по­ хожи на те, которыми пользовались студенты бизнес-факультетов в те времена, когда я еще учился в университете (должно быть, они стащили эту идею у инженеров). Время от времеци мы пропускали кружку-дРуrую пивка в компании этих студентов, но никогда особо не интересовались их дисциминамн, поэтому это сходство между нами не дало никаких значительных результатов. Наиболее веской причиной нашего безразли­ чия к предметам, которые изучали студенты бизнес-специальностей, бы­ ло, вероятно, то, что мы оперировали понятиями синусов, косинусов и показаЮлей степеней, а они - всего лишь действиями сложения, вычи­ тания, умножения, деления и вычисления процентного сооmошения (и в этом они действительно преуспели - вспомните только о процентных штрафах, процентных гонорарах и процентных интересах). Мноrо лет назад таблицы для целей бизнеса были 'автоматизированы с помощью микрокомпьютерной программы VisiCalc. Некоторые нз спе­ циалистов, работающих в сфере научных и инженерных разработок, сра­ зу осознали потенциальную возможность приме}{ения этой программы в качестве иистр'умента для своих разработок, особенно с тоrо момента, как она "научилась" вычислять математические фунхции, такие как си­ нусы, косинусы и показатели степеней. С этого времени программы электронных таблиц стали намного мощиее и разносrороннее. Одной нз наиболее мощных программ электронных таблиц на сего­ дняшний день является Microsoft Excel, которая может работать как: на РС под управлением Windows 3.х, 9х или NT, так и на Macintosh. Excel очень хорошо nодходит для научных н инженерных расчетов, поскольку она объединяет в себе мощные электронные таблицы , графW~еские средства, возможность nроrраммирования с применением языка BASIC н возмож­ ности доступа к базам данных. Добавьте ко всему этому послеmие раз­ работки эффективнейших рабочих станций - и в вашем распоряжен_ии окажутся внушительные вычислительные мощиости . О чем рассказывается в этой книге Прочтя мою книгу. вы узнаете о наиболее эффективном использова­ нии методов, предлагаемых Excel, для решения ваших научных и инже­ нерных задач. Вы научитесь не только вычислять и составлять графики простых уравнений, но и производить аппроксимацию кривых; вычис­ лять статнстичесюtе данные, цифровые произволные и интегралы; полу-
Еисеl дnя ученыи, uнженеров u студентов чать доступ к внешним базам данных; решать системы уравнений, а так­ же одно- и двухразмерные дифференциальные уравнен ия. В этой книге вы также. найдете объяс нение того, как создаются nиаrраммы и графики и как следует пользоваться языком программирования Visual Basic for Ap- plications с целью расширения возможt~остей рабочих листов Excel. Версии Excel для Windows и Macintosh Данное издание может применяться как при работе с версией Excel для Wiпdows, так и для Maci11tosl1. Файлы рабочих л истов беспрепятст­ венно переносятся из одной этой версии в другую. Разница в нх исполь­ зовании минимальна. Поскольку все графические изображения, вклю­ ченные в эту книгу, иллюстрируют Ехсе] 97, пользователи Maci11tosh .за­ метят некоторую разницу между этими рисунками и тем, что они увидят на своих дисмеях, однако соDержимое окон будет оnним и тем же. Реа­ лизация и методы работы с рабочими ли стам и (т. е. расположение и со­ держимое ячеек) в вереи.их E:xcel для Wiпdows и для Muci11tosJ1 также не отличаются. Пользов атели Excel, как мя платформы Wiпdows, так и для Maciлtos h, не должны иметь никаких пробл е м при применении этих ме­ тодов. Разница между версиями Excel дЛЯ Wiпdows и Maciпtosh будет упоми­ наться в тексте непосредственно при описании самого процесса. Основ­ ная разнищ1 заключается в том. что в этих версиях ШIЯ выпо.1Jнения не­ которых функuий программы применяются разные клави ши . Так, на ­ nример, на клавиатуре Maciпtosh имеется клавиша <Cmd> (Command), которой нет в РС. Таким образом, те функции программы, которые вы­ пол няются в Maciпtosh нажатием этой клавиши , в РС акmвизируются с ПО!\!ОЩЬЮ кл::шиш <Ctrl>, <Alt> и <Shift>_ Наr1ример, преобразование фор­ мулы в массив выполняется в Maci11tosl1 с помощью комбинации клавиш <Cmd+Enter>, а на РС - <Ctrl+Shift+Enter>; вычисление - <Cmd+Enter> и <Ctrl+=> соответственн о. Более ранние версии Excel Данное издание книrи Ехсе/ для ученых, инженеров и студентов созда­ но на основе версии Excel 97. работающей пол Wiпdows 95. Однако при работе с этой книrой читатель может пользоваться и Ехсе] 7. а также Excel 5 С точ:ки зрения большинства пользовате:1 ей , возможности этих вер­ сий практически иден тичны. Читатели этой книги, являющиеся· пользо­ вателями более ранних верt:ий Excel, при рассмотрении большинства примеров не должны сто;ткнутьс.и с какими-либо проблемами. Самая су­ 97 н 7.0, а также более ранними ExceJ , заключается в замене прежн~rо ~Jыка программирован ия щественная разница между uерсиями версиями t1d 'l~rj:)uai Бd~'"-" fu1 A1-1v~j(,(ii; \н1.5~ ;.;з;\'iC·i'i\:..:i-i:i-itl .,:,GJiii~t и unv,iia. .d<ii-il-i'DiЛ. /1. таr.:.жс в том, что более новые версии предлагают пользователю ряд сложных функций. Однако методы. описываемые в этой книге, 1шшь в незначи-
111 Введенuе тельной степени основаны на таких функциях, в их основе в большинст­ ве случаев лежат методы рабоrы с рабочими листами, которые примени­ мы в большинстве версий Excel, а также в друrих сложных программах электронных таблиц. Практические примеры Данная книга написана ученым-инженером, занимающимся практи­ ческими исследованиями, мя друrих ученых и инженеров, работающих в этой же области. Она основывается на реальном использовании элек­ тронных таблиц в качестве инженерного инструмента. Многие задачи, вошедщие в эту книгу, решались мною в ходе практической рабоТhl, ли­ бо являются адаптированными- вариантами задач, решенных с примене­ нием каких-либо иных методов, то есть еще до того, как я в полной мере осознал потенциальные возможности электронных таблиц. Во многих случаях вместо того, чтобы иметь дело с упрощенными учебными зада­ чами, вы будете решать практические задачи. Некоторые из них намного объемнее, чем задачи, которые читатель привык встречать в учебниках, поэтому ШIЯ того, чтобы все же проиллюстрировать соответствующие ме­ тоды, я включил в книгу сокращенные варианты таких задач. Поскольку в основе данной книги лежит моя практическая работа в области научных и инженерных разработок, многие задачи связаны с электроникой и проблемами физики твердого rела . Кроме того, ради развлечения я добавил немного астрономической тематики. Приношу свои извинения практикам, занимающимся разработками в других отрас­ лях науки и техники, за то, что не включил задачи, связанные с их 'рабо­ той, но ведЬ задачи в этой книге используются лишь мя того, чтобы проиллюстрировать вычислительные методЬ1. Важны именно эти методы, которые можно примениrь к любым отраслям, а вовсе не сами задачи. Книга не обогатит ваших знаний в области науки и инженерии, но научит практическому применению численных методов к задачам, кото­ рые приходится решать в этих сферах. Я не слишком 'Много внимания уделяю обсуждению теоретических основ и математическому обоснова­ нию большинства численных методов, описанных в данном издании, но стараюсь сконuентрироваться на способах их применения при работе с электронной таблиuей . Если вас заинтересовали какие-либо материалы более конкретного характера, то на тему численных методов написано немало хороших книг, способных уrолить ваше любопытство. При при­ менении большинства численных методов я главным образом основы­ вался на книгах Кертиса Ф. Джералда (Cшtis F). Gerald) Applied Numerical Analysis и Уильяма Х. Пресса (William Н. Press) Numerical Recipes. По­ скольку FORTRAN не сильно отличается от BASIC, что позволяет сде­ лать проuесс преобразования математического алгоритма в язык Dasic Visual срав:ю1тс;;ыю прастым , о !!рактич:е~кnм смысле 9чень удобна вер­ сия этого языка программирования, описанная во нrорой упомянутой
lfi Ексеl дм ученык, uнисенеров u студентов мною выше книге. Перечень других книг и ссылок на источники, свя­ занные с приведенными мною примерами, приводится в конце каждой главы. Примеры на дискете Если вы не хотите сами вводить все данные примеров в таблицы, но все :же хотели бы поработать с ними, вам может понадобиться отдельно распросrраняемая дискета. содержашая практические примеры для каж­ дой главы, а таюке решения Обзорных задач, которые предлагаются ва- _ шему вниманию в конце глав. Обратите внимание, что решений для уп­ ражнений дискета не предлагает. Все примеры заархивированы в форма­ те русскоязычной версии Excel 97, а таюке в формате англоязычной вер­ сии Excel 7, эквивалентном Excel 5. Дискета имеет формат Windows, по­ этому пользователям Macintosh придется воспользоваться Apple File Exchange, РС Exchange или каким-либо иным инструментом и скопировать файлы на дискету для Macintosh. Более подробно об этом рассказывается в Приложении Б. Кроме того, все файлы с примерами и решениями обзорных задач можно получить как в формате русскоязычной версии Excel 97, так и в формате англоязычной версии Excel 7, через WеЬ-узел издательства "Юниор'', обраmвшись по адресу http:/fwww.junior.ukrnet.net. Подготовка пользователя Для того чтобы пользоваться этой книгой, необходимо обладать спе­ циальной научной mtбo технической подготовкQй, или иметь матемаm­ ческое образование. Хотя она рассчитана на практических работников этих областей, студенты соответствующих факультетов не должны им.етъ каких-либо сложностей в ходе обсУЖдеНИЯ задач и их решений, и cмoiyr с пользой применять эm знания для повышения эффективности процес­ са обучения. В сущности, электронные версии численных методов в этой книге носят намного более интуитивно понятный характер, чем такие же методы, примен.Яемые в Fortran или С, что превращает электронные таб­ лиuы в отличное средство обучения. Необходимо таюке знать компьютер и основы Excel. Если вам не из­ вестно, как включается машина, отложите 'Л"/ книгу, найдите хороший учебник и какое-то время поупражняйтесь в работе на компьютере. Ко­ гда почувствуете, что он вам более или менее понятен (например, вы можете удалить файл, не замирая при этом от страха), вернитесь к этой книге. Если же вы не знаете, как приступить к работе с Excel, для начала рассмотрите рабочий лист, введите любые данные в некоторые ячейки, с,охраните файл, загрузите один иэ старых файлов, почитайте учебники и справочные материалы, распространяемые вмесrе с программным обес-
111 Введенuе печением . Чтобы узнать о типах фуюсций, дOC'J)'JIНblX в Excel, следует также просмотреть справочные материалы по электронным функциям. После всего этого, постигнув основы, вы сможете продолжать рассмат­ ривать задачи, описанные в этой книге. Способ изложения материала в данной книге позволяет сначала осво­ иться с Excel, поэтому чиТатсли, знакомые с ЭТОЙ программой, мoryr пропустить первый, наиболее простой пример, и начать сразу со второго. С этого момента рабочие листы начинают быстро усложняться, но, как я надеюсь, остаются вполне понятными. Требования к аппаратным средствам Если ваш компьютер не оборудован необходимыми аппаратными средствами , Excel либо вообще не запусmтся, либо вы не будете иметь возможности пользоваться некоторыми ее функциями. Для версии Excel для Windows необходимо иметь машину, на которой может быть установ­ лена Windows 3.0, т.е., как минимум, компьютер IВМ класса АТ (процес­ сор 80286) с 2 Мбайт системной памяти и монитором EGA (или лучше). Конечно, при большем объеме памяти и более мощном процессоре (80386, 804&6 или Peпtium) скорость работы Excel будет выше, а функ­ циональные возможности программы Excel - намного шире. может работать на любом компьютере Macintosh с System 6.02 или более поздними версиями, включая 128 Кбайт, если вы увеличите память машины до 1 Мбайт или более. В данном случае, опять же, рабо­ та в программе будет намного эффективнее при большем объеме памяти и при наличии более мощного процессора. Примеры )J.ЛЯ этой книги .изначально были разработаны на компьюте­ ре Today, 386SX-20, имевшем оперативную память (ОЗУ) 4 Мбайт и ме­ сто на жестком диске, которого никогда не бывает достаточно. В системе бши установлены DOS 5.0 и Windows 3.1 . Эти же примеры были протес­ тированы на компьютере Macintosh SE с 4 Мбайт ОЗУ и с еще большей нехваткой свободиого места на жестком диске. Для настоящего издания все примеры были пересмотрены на Today 486DX2-80 с ОЗУ 16 Мбайт (места на диске-все рав110 недостаточно), и на новом оборудовании рабо­ тают намного быстрее. Если же вы намерены пользоваться Excel 97, то для эффективного соответствия компьютера этому программному обес­ печению нужна как минимум система класса Pentium. Условные обозначения, используемые в этой книге На многих иллюстраuиях данного издания рабочий лист будет изо­ бражаться не цсликuм, Ш.J~Колы..-у некоторые задачи зоош..·ш бы несколько страниц. В большинстве таких случаев я размещаю наиболее важные ·
Енсеl дш1 ученын, uнженеров u студентов итоги в верхнем левом углу рабочего листа, и на рисунке отображается только этот фрагмент. Ехсе] не реагирует на. изме нение регистра, поэтому функuии , имена переменных и формулы можно вводить как строчными , так и прописны­ ми буквами . В описаниях задач функции электронных таблиц печатаются прописными буквами , поскольку именно в таком виде они появляются в электрон ной таблице ; переменные показатели и назначенные имена да­ ются в том регистре, в котором они были определены. Для элементов в вода можно пользоваться и строчными , и прописными буквами, так как Excel сама и зменит их надлежащим образом. В описании примеров все то, что предлагается вводить пользователю , выделено полужирным шрифтом, а символы , вводимые самой програм­ мой , напеч атаны обычным шрифтом . ~ На полях книги часто будет встречаться изображение кнопок панелей инструментов (как это показано здесь). Эти кнопки l!:!.I соответствует тем , которые описываются в абзаце , рядом с которым на­ ходится рисунок. Например, с помощью изображенной слева от данного абзаца кнопки запускается Мастер диаграмм. Если же на полях находится рядом две кнопки , они будут расположены в порядке , в котором оп исы­ Rаются в абзаце. В этой книге вы также увидите отдельные разделы, - примечания , - которые будут выделены на фоне основного текста главы . В них содержится информация, не предупрежден ия , экспресс - методы и врезки имеющая непосредственного отношения к данной главе, но помогающая объяснить или расширить описываемые в этом месте текста понятия . \ Путь к пониманию Теперь , когда все предварительные вопросы и счерпаны, настало вре­ мя открыть рабочий лист и приступить к решению задач. Прочтя не­ сколько последующих глав , вы увидите , как " оживают" численные мето­ ды в электронных таблицах , а также начнете понимать то , что раньше никогда до конца не понимали . Я желаю вам удачи и приятного путеше­ ствия в страну числ енного анализа в рабочих листах Excel.

Г11ава Исnо11ьзование 1 Excel в научных и июкенерных nрипmкенивх Вэтойтове... ./ Точност1t nредставпени• чисеп и чисnенный диапа~н в Excel ./ Са.шки на баэовую •чейку и на диаnаэон ./ Оnераторы Excel ./ Математические функции Excel ./ Научные и инженерные функции Excel Программа Microsoft Excel создавалась в хачесrве конкурента уже имеющимся на рынке программного обеспечения коммерческим про­ граммам для различных целей бизнеса, поэтому у читателя вполне зако­ номерно может возникнуть вопрос: подходит ли такая программа для вычислений в области науки и техники? Может ли программа, разрабо­ танная для применения в сфере бизнеса, выполнять сложнейшие расче­ ты, связанные с научными н инженерными исследованиями? Соо~­ вует ли точность и диапазон обрабатываемых чисел потребностям вычис­ лений технического характера? Имеются ли в программе все стандартные математические функции? Можно ли в ней реализовать достаточно слож­ ные алгорuтмы? Как вы убедитесь, Excel не толъко предлагает точность, вполне срав­ нимую с обеспечиваемой крупными компьютерными системами, но так­ же включает в себя значительно больше математических средств и функ­ ций, чем многие' языки программирования высокого уровня. Кроме того, в Excel возможно программирование с применением языка высокого уровня. Точность представления чисел и численный диапазон в Excel По всей вероятности, наиболее важным для пользователей-ученых яв­ ляется вопрос, достаточны ли точность представления чисел н числен­ ный диапазон, которые обеспечив~ Excel, для научных и инженерных расчетов. При простых вычислениях точность представления чисел, как правило, не имеет большого значения. Многие научные и июiс.енерные задачи могут быть решены с помощью простой лоrарифмической линей­ ки, которая, в лучшем случае, имеет всего три разряда точности. С дРУ- " \ '
~Olaнue Ea:el 1 наgчнwи u uнисенерныи npunOICВНWIК 111 гой стороны, многие численные алгоритмы довольно сильно реагируют на точность представления чисел. Любой алгоритм, использующий ите­ рацию, вернее всего будет весьма чувствителен к точности представле­ ния, поскольку поrрешности вычислений будут расти с каждой итераци­ ей и могуr исказить результат, если числа, использованные для расчетов, были недостаточно точны . Особенно важна точность представле1D1Я чи­ сел при примене~ии алгоритмов для решеЮIЯ задач в области динамики нелинейных систе". поскольку решения таких задач смзаны с итераци­ ей, а используемые формулы имеют сильно нелинейный характер. Для вычислений, связанных с механикой небесных тел, также необ­ ходимо большое количество разрядов точности. В дамной области иссле­ дований объеКТhl зачастую привязаны ко многим тысячам орбит, распо­ ложенных вокруr основной IUiанеты или солнца, и в случае недостаточ­ ной точности чисел суммарная ошибка окруrления может сместить обь­ екr совсем в друrое место относительно основной IUiанеты. В табл. 1.1 указаны пределы точности предстамения чисел и числен­ ного диапазона в Excel. Таб.nица 1.1. Точносm nредстаuени1 чисел и чмспеннwl диаnазон • Ехсе1 --·· 1-' ·---Э'6 ·ЕМ~ с:==15знаков =1 ,798х1О+~ 111 1 1 Точность представпения чисеп Точность представления чисел в ет rочносrъ представления Excel во многих соответствует и даже превыша­ широко применяемых средствах для выполнеlDIЯ научно-технических расчетов. Эта программа обеспечи­ вает внутреюоою (т.е. не выводимую на дисплей) точность числа до 15 знаков . Для сравне1D1Я скажу, что обычный калькулятор для науqных расчетов отображает 10 знаков и способен с целью уменьшения погреш­ ности окруrления сохранить еще один-два знака, не вьщодя их на дис­ IUiей ; мини-компьютер VAX обеспечивает только 7 знаков для чисел с нормальной точностью и IUiавающей заnятой, и 15 - для чисел сдвой­ ной точностью; а супер:комnьютер CRAY 1 имеет 15 разрядов точности при нормальной точности "чисел с IUiавающей запятой. При выполнении вычислений Excel обеспечивает точность до 15 зна­ ков, но при выводе их на экран окруrляет числа в соответствии с форма­ том ячейки, в ,котором это число отображается. Однако вы можеrе со­ хранmъ числа именно в том виде, в каком вцците их на экране, а не все 15 знаков. Для этого выберите команду Сервис >- Пnрвwетры, iцелхните на вкладке Вычиспения и установите флажок Точность ~к нв экране. Уменьшение точности чисел может быть удобно при работе с денежными единицами, ее.пи вы не хотите получить дробные поКазатели копеек, од­ нако при выполнении вычислений, связанных с научными и. инженер­ ными исследованиями, понижать степень точности, как правило, неже-
11:1 Гnава 1 лате.льно. В приведенных в этой кинге ·примерах мы не будем использо­ вать этот режим. Кроме того, прн уменьшении точности чисел фактиче­ ски несколько замедляется скорость пересчета. Численный диапазон Численный диапазон в общем определяет чувствигельность электрон­ ной таблицы к избыточным илн недостаточным погр~шностям. Excel со­ храняет числа от -1 ,798х 1о+308 до 1, 798х 1о+308' чем обеспечивается чис­ ленный диапазон ± 1О+308. Для сравнения: обычный карманный кальку­ лятор способен рабслать с диапазоном 10~99; мини-компьютер VAX нме­ ет диапазон 10±38 при нормальной точности н 10±308 - при двойной; диапазон суперкомпьютера CRAY 1 достигает 10±2500_ Хотя самое боль­ шое число, сохраняемое Excel, равно 1,798х 10+308, наибольшее чисзю, которое можно ввести, составляет 9,999xJ0+307. Прн вводе большего зна­ чения Excel будет трактовать его как строку. Большинство нтоrов научных н технических вычислений представля­ ют собой разумно ограниченные числа, чаше всего не выходящие за пре­ делы от J0-40 до 10+40 (я нмею в виду, что они представляются разумны­ ми ученым н инженерам). Но при использовании таких чнсел в уравне­ ниях промежуточные результшы мo.ryr оказаться довольно большими. Если промежуточНый результат превышает диапазон компьютера, вычис­ ление "захлебывается " н возвращает ошнбку. Рассмотрите, например, это простое выражение нз квантовой механики: ~ 2т h2 ' где h - постоянная Планка, деленная на 2я (l ,0546xI0-34), а т - масса покоя электрона (9,l l xI0-31 кг.). В результате этого расчета мы получим число l ,64xl О+38, которое является разумно ограниченным. Однако про-­ межуточный итог, полученный в результате возведения в квадрат н об­ ращения константы Планка, составил 8,99xJ0+67, что на 29 разрядов пре­ вышает конечный итог. Возведение в куб единицы, деленной на r.~осто­ янную Планка, является слишком объемным действием для любого кар­ манного калькулятора н далекq выходит за пределы возможностей обра­ ботки чисел с нормальной точностью на компьютере VАХ. Избыточные размеры чисел зачастую свидетельС'I'Вуют об ошибке в самой постановке задачн. В противном случае избыточный показатель промежуточного значения легко можно исправить, перестроив формулу или разделив ее на две отдельные части, что позволит ограничить размер промежуточного значения. Так, например, в случае с приведенным выше уравнением, вы можете настроить операции таким образом, чтобы сна­ чала масt..а электрона делилась на постоянную Планка, а затем получен­ ный результат - еще раз на постоянную Планка. Полученный результат будет таким ж:е, но промежуточное значение - намного меньше.
Испоnьзованuе Енсеl в научн1.1н Имея диапазон JO±ЗOS, u uнженерн1.1н npunoиceнWIИ Excel вряд лн будет иметь проблемы с нзбы­ точнымн показателями. Еслн же вам действигельно удалось получить та­ кое число, программа сохраняет ошнбочное значенне #ЧИСЛО!, с помо­ щью которого помечает данную ячейку, а также все связанные с нею ячейки, как некорректные. Еслн же число оказывается слишком малень­ ким (т.е. меньше 2,225xJ0-308), Excel сохраняет это значение как нулевое. Еслн такое чнсло оказывается в делителе дроби, то программа возвраша­ ет ошибочное значение #ДEJVO!, в результате чего любая ячейка, содержи­ мое которой завнсит от данного значения, помечается как некорректная. Ошибочные числа Кроме стандартных действительных чисел в Excel существует семь ошибочных значений, трактуемых ею как числа: #Дtл/О! #ИМЯ? деление на О; - не определено нмя переменной в формуле; - #Н/Д! - нет доступных значений; #ПУСТО! - итога не суmествует, либо используется пересечение диа­ пазонов, которые на самом деле не пересекаются ; #ЧИСЛО! нзбыточное числ9 , либо неверное нспользование числа, - например, КОРЕНЬ(-1); #ССЫЛКА! - неверная ссылка; JJЧейки, на которую она сделана, в ра­ бочем лнсте не суmествует; #ЗНАЧ! - неправильный тип аргумента; например, использование текста там, rде необходимо число. Еслн в формуле нсполъзовано одио нз этих ошибочных значений , ре­ зультат формулы также будет ошибочным. Ошибочные значения распро­ страняются по всему рабочему лнсту, помечая все значения, зависящие от ннх, как некорректные. Эrо позволяет гарантировать, что пользователь не будет ПРН!оfеНЯТЬ числа, полученные на основе некоррекТных данных. :V Совет Если вы хотите восnользоваться ошибочными значенt'IЯМИ для проверки формул, обрабатывающих ошибки в рабочих листах, можете ввести эти значения ПDямо в ячейкv Dабочеrо листв. Основные сведения о ячейках и ссыпках Ячейки в Excel могуr содержать текст, числа, указание даты и време­ ни и формулы . Программа следит за тем, что вы вводите, н преобразует содержанне ячеек надлежащим образом. Если в ячейке содержится чис­ ло, Excel сохраняет ero как числовое значение, н вы сможете воспользо­ ~аться им д,'Iя своих вы•шс..'Iеннй. Ес..'IИ ячейха вх.лючам- к::нс rекст , так и числа, Excel сохраняет ее ках текст; а если содержание ячейки начинает­ ся со знака равенства {=), оно сохраняется Как формула. Если содержа-
Гnава 1 ние ячейки выглядит похожим на один из форматов, применяемых в Excel для указания даты и времени, оно сохраняется программой как по­ 1.1.1990 (или 1.1.1904, если на рядковый номер даты с точкой отсчета вкладке Вычисления диалогового окна Параметры, которая выводится на экран командой Сервис>-- Параметры, установлен соответствующий фла­ жок), а время указывается в виде доли дня. С каждой ячейкой значение. Содержание значение Excel связано две ее характеристики: содержа.чие - это то, что вводится пользователем в ячейку, и а то, что видно на экране . Форматирование ячейки не изменя­ - ет ее значения, но изменяет вид, в котором оно выводится на монитор. Для текста и чисел содержание и значение ячейки одинаковы. Что же касается вами, а формул, содержание представляет собой формулу, значение введенную итог вычислений, произведенных с применением данной формулы. Ссылки на ячейки Тип диапазона или ячейки Пример Строка Стодбец Число Буква Оrносительная ссылка 85 $8$5 $85 8$5 'D:\STATS\CARS.XLS'!85 85:87 Абсолютная ссьшка Смешанная ссылка Внешняя ссылка Ссылка на диапазон Значение какой-либо другой ячейки вводится в формулу с помощью ссыл1ш на ячейку. Эта ссылка состоит из комбинации буквы и цифры, где буква соответствует определенному столбцу, ячейка, на которую делается ссылка, а число ячейку. Так, например, в - котором расположена строке, содержащей эту· ссылка С5 будет соответствовать значению ячейке, которая располагается на пересечении столбца С и строюt 5, в как это изображено на левом рисунке ниже. Этот тип ссьшки на ячейку из­ вестен как стиль А 1. Ссылка на ячейку также может иметь вид пары ука­ зателя строки и столбца, например, R5СЗ, как показано на рисунке спра­ ва. Ссылка в данном случае сделана на ту же ячейку , что в первом при­ мере, но в стиле ссылки R1C1 . ----- ·····i'-·----- ..~Coll_C5 ,.; .•..•1 В стиле А1 столбцы помечены буквами. 8 стиле R1C1 столбцы пронумерованы . '-iтобы назначить или изменить стиль ссылки с А1 на R1C1, выберите команду Сервис Параметры, щелкните на корешке вкладки Общие и >--
Испоnьзованuе Еисеl в научныи установите флажок Стиль ссылок u uнженернын прunоженuян R1C1. Если вы создали рабочий лист, применяя для этого один стиль, а затем изменили его, все ссылки будут автоматически преобразованы в другой стиль. Внешние ссылки на ячейки Ссылаясь на ячейку, расположенную в другом рабочем листе (т.е. не в том рабочем листе, в который вводится формула), вы должны включить в ссылку имя рабочего листа, чтобы Excel знала, где ей искать нужную ячейку. Такая ссылка известна под названием внешней. Чтобы получить доступ к содержанию одной из ячеек какого-либо рабочего листа, содер­ жащего внешнюю ссьшку, его не надо открывать. Для создания внешней ссылки введите имя рабочего листа, затем восклиuательный знак, а за­ - ссылку на ячейку. Если рабочий лист расположен в каталоге, от­ тем личном от каталога по умолчанию, вк..r1ючите в ссылку также путь к нему. Например, если вам надо сделать ссьшку на ячейку Н7, расположен­ ную в рабоче~ листе CARS.XLS, который находится в каталоге по умол­ чанию, введите следующую ссылку: CARS.XLS!H7 Чтобы сослаться на эту же ячейку в таком же рабочем листе, но нахо­ дящемся в каталоге D:\STATS, который не является каталогом по умол­ чанию, используйте такую форму: 'D:\STATS\CARS.XLS'!H7 l~ Совет Самый надежный способ обеспечения правильного указания адреса ячейки, особенно если она находится в другом листе, заключается в том, чтобы заставить саму программу создать ссылку. Откройте рабочий лист, содержащий ячейку, на которую вы собираетесь сослаться, перейдите на исходный рабочий лист и начните вводить формулу. Достигнув места, в которое вы бы хотели поместить ссылку на ячейку, перейдите снова на лист, в котором находится нужная вам ячейка, и щелкните на ней мышью, в результате чего Excel впишет в g,ормулу правильную ссылку. Для ссылки, которая не является значимым именем Excel, как, на­ пример, имя, включающее в себя путь к каталогу, требуются одинарные кавычки . Ссылки на диапазон Можно также делать ссьшки и на группы ячеек, т. е. на диапазон. Диа­ пазон ячеек представляет собой прямоугольную зону в рабочем листе. Все ячейки, входяЩие в этот прямоугольник, включаются в данный диа­ пазон (без каких-либо пропусков). Ссылка на диапазон представляет со­ бой ссыл'ку на ячейку, расположенную в левом верхнем углу прямоуголь-
f }J Гnава 1 ника, и на ячейку, находящуюся в правом нижнем углу прямоугольной зоны, отделенные друг от друга двоеточием. указывает на все ячейки , Например, ссылка расположенные в прямоугольнике , верхнем углу которого находится ячейка Н4, а в правом нижнем ка J6 (т. е. ячейки Н4 , Н5, Н6 , 14, 15, 16, J4, JS и J6). H4:J6 в левом - ячей­ Ссылка может быть сделана и на очень маленький диапазон, состоящий, например , всего из одной ячейки (Н2:Н2); а также на диапазон , включающий одну строку (J2:M2) или один столбец (L2:L17). .н - ' '1 t , ,__ _ о \ ./ ~ Экспресс-метод Ссылки на диапазон быстро создаются с помощью мыши . Достигнув мес­ та в формуле, в которое вь1 намерены вставить ссылку, щелкните на ячейке , расположенной в одном углу ссылки, которую надо выделить, и протяните по диагонали в противоположный угол диапазона. В результа- · те этого в вашу формулу будет вставлена ссылка на диапазон . Данны й способ таюке годится для большинства диалоговых окон , в которых тре­ буется делать ссылки на ячейки или на диапазоны ячеек. -Разделив диапазоны запятыми, можно также объединить несколько диапазонов в одной ссылке. Например, ссылка на четыре выдел енных диапазона ячеек, изображенных на рисунке выше, может быть представ­ лена следующим образом: H2:H2,H4:J6,J2:M2,L4:L7. В эту ссьmку входят все ячейки, составляющие выделенные зоны (Н2 , Н4, Н5 , Н6 , 14, 15, 16, J4, J5, J6, J2, 1<2, L2, М2 , L4, LS, L6 и L7). Если п ри отделении двух диапазонов друг от друга воспользоваться вместо запятой пробелом, то ссьmка будет относиться не к объединению этих диапазонов, а к _зоне их пересечения . Например, изображенная на рисунке сс ылка на два диапазона ВЗ : D4 на ячейки DЗ и 04, D2:E6 является ссылкой только поскольку именно эти две ячейки содержатся в обеих выделенных прямоfrол ьных зонах . F' r -
Исnоnьзованuе Еисеl в научным u, uнженерныи nрunоженuяи vf Совет Чтобы выделить с помощью мыши зоны с несколькими диапазонами, вы­ делите первую зону, нажмите <Ctrl> (для Macintosh - <Cmd>) и, удержи­ вая Э!J.. клавишу в нажатом состоянии, выделите остальные диапазоны. относительные и абсолютные ссылки Ссылки на ячейки бывают относительными, абсолютными или с.ме­ июнными. Относительная ссылка на ячейки указывает на ячейки, связан­ ные с той, в которую введена данная ссылка. Абсолютная ссылка всегда указывает на конкретную ячейку. Смешанная ссьmка объединяет абсо­ лютную ссылку на столбец и относительную ссылку на строку, либо на­ оборот, абсолютную ссылку на строку и относительную ссылку на столбец. Относительные ссылки на ячейки Все ссьmки, упоминаемые нами до сих пор, были относительными. Они определяются относительно ячейки, в которой содержится введен- , ная пользователем ссылка. Представим, например, что формула, находящаяся в ячейке GS, со­ держит ссьmку на ячейку ЕЗ. ЕЗ фактически не ссылается на содержание . ячейки, расположенной в столбце Е строки З, она просто указывает на ячейку, находящуюся на два столбца левее и на две строки выше от GS, ячейки очевидным GS ячейки которая в данном <;лучае и есть ЕЗ . Это различие становится при копировании ячеек. в ячейку 18, Если вы скопируете содержание ссьmка на ячейку изменится на G6, которая 18. нахо­ дится на два столбца левее и н~ две строки выше ячейки F . G. ' ---L-·-·----·-·--! - ___; =ЕЗ - ·i· -~ору .__ ! .1 ---- .• ------- ~ ! =G6 ---·--- ;- ...._;i При стиле ссылок R1C1 номер строки и столбца заключается в квад­ ратные скобки, что делает их начальными номерами строк и столбцов. В этой системе ссылок исходным является верхний левый угол рабочего листа, поэтому положительным считается направление вниз и вправо. Например, R[-2]C[2] представляет собой относительную ссьmку на ячей­ ку, расположенную на две строки выше и на два столбца · правее ячейки, содержащей данную ссылку. Относительные ссьр~ки на яч~йки очень удобны, если вы хотите при­ менить формулу к списку значений. Вместо того чтобы вводить формулу для каждого значения, входящего в этот список, вы набираете ее с ис­ пользованием относительных ссьmок и копируете по всему перечню. На
141 Гnава 1 пример, если вам понадобилось вычислить формулу для 50 значений в одном столбце рабочего листа, введение ее 50 раз ()удст довольно уrоми­ телъной и скучной работой. Вместо этого можно ввести формулу только один раз в столбец, смежный с содержащим данные, а после этОго ско­ пировать ее в 49 ячеек, располож.еЮiых под первой ячейкой. Excel откор­ ректирует все опюсителъные ссылки с ~м. чтобы каждая ссылка указы­ вала на соответствующее ей значение данных. Вы лучше поймете, как это получается , поупражнявшись с рабочими листами, как описывается в следующих главах. Абсолютные ссылки нв ячейки Аб~ая ссылха при копировании формулы остается неизменной . Такая ссылка всегда указывает на конкретную ячейку независимо от то­ го, в каком месте рабочего листа она расположена. Чтобы СJ(елать ccwiкy абсолJ01Ной, следует перед координатами строки и столбца поставить знак доллара. Например, $G$5 представляет собой абсолютную ссъmку на ячейку G5. При использовании сmля R1 С1 ссылка будет абсолJ01Ной, если вы не воспользуетесь квадратными скобками, в обратном случае ссылка счита­ ется относительной. Например, R5C7 указывает на КОНКРетную ячейку, расположенную на пересечении строки 5 и столбца 7. Абсолютные ссылки удобны для указания констант в формулах, кото­ рые вы собираетесь копировать в большое количество ячеек. Очень эф­ фективный подход к написанию формул заключается в ухазании незави­ симых перемеЮIЫХ в формулах с применением для этого относительных ссылок на соседние ячейки, оформляя при этом постоянные элементы формул как абсолютные ссылки. При копировании тахой формулы ниже, в другие ячейки столбца, относительные ячейки изменяются и становят­ ся ссЬIЛКаМи на соседние ячейки, но абсолютные ссылки всегда указы­ вают на константы и не корректируются. В этом случае ЩtМ достаточно будет иметь в рабочем листе только один коммект констант. Вы сможете изменить значен:йе одной из констант, чтобы увидеть, 'ПО произойдет в этом случае, и во всех местах, куда скопирована формула, будет отобра­ жен результат этого изменения. Смешанные ссылки не ячейки Смешанные ссылки содержат абсолютную ссылку либо на столбец, либо на строку, и абсолютную - на вторую хоординату. Для создания такой ccliilЛКИ поместите перед координатой, которую вы намерены сде­ лать абсоЛJ01Ной сс:ылкой, знак доллара. Например, ссылка $G5 фиксирует конкретный столбец, но координа­ та строки является относительной и изменится, если ячейка, на которую де.лается ссылка, будет скопирована в другую строку. В ссылке G$5, - оборот, абсолюnюй является коор~ната строки, а относительной ордината столбца. на­ ко­
Ис:поnьзованuе Eнtel в научньlИ В стиле R1C1 ссылка R1C[4] u uнменернын ~unщненwас явпяется абсолютной ссылкой на сrроку и относительной ссылкой на столбец, находящийся на четыре столбца правее от столбца, содержащего данную ссылку. 1 Имена диапазонов И ссыпок Вместо тоrо чтобы пользоваiься в формулах и командах ссылками на ячейку, можно присвоить имя ячейке или диапазону и использовать его с этой целью: Чтобы назначить имя отдельной ячейке или диапазону яче­ ек, выделите ячейку или диапазон, а затем в меню Вставка выберите ко­ манду Имя Присsоить . Введите в оохры.вшемся диалоговом окне имя ячейки или диапазона и щелкните на кнопке ОК. Теперь ячейка или диапазон имеет имя, которое можно использовать в формуле. Чтобы присвоить имя списку ячеек в строке (или столбце), введите >-- имена в соседнюю с ней (ним) строку (столбец), затем выделите ячейки, для которых собираетесь назначить имя, а также ячейки, содержащие эти имена. В меню Вставка выберите команду Имя Создать, установите флажок для указания места расположения имен и щелкните на кнопке ОК. Все ячейки будуr поименованы с применением имен, введенных в соседние с ними ячейки. >-- "1"Экспресс-метод Чтобы присвоить имя отдельной ячейке или дивпвзону ячеек, выделкте эту ячейку или дивпвзон, введите имя в поле имен, рвсположенное спевв от строки формул, и нажмите <Enter>. Не звбыввйте нажим.ать <Enter>, посколькv в противном сnvчве имя ячейке не будет присеоено. При нахождении численного значения формулы, в которую включены имена, каждое имя заменяется Excel его определением, ·и затем вычисля­ ется итог. Именованные диапазоны являются абсоmооными ссылками, поэтому, когда. вы копируете ячейки, содержащие их, они остаются не­ изменными. Использование имен является эффекmвным методом, если делается многократная ссылка на одну и ту же ячейку или диапазон. Кроме того, имена делают ваши формулы более понятными. Например, если в ячейке С5 содержится значение массы, ее можно назвать Мвсса. Формулы, ссы­ лающиеся на эту ячейку, будуr содержать слово Мвсса, которое, несомненно, носит намного более описательный характер, чем С5. ' При вводе имени диапЗЭ._Она в формулу, для которой требуется только одно значение, Excel испольЗует одну ячейку из этого диапазона. Выбор ячейки зависит от относительного места расположения ячейки, содер­ жащей ссылку, и диапазона , на который делается ссылка. Если ссылка сделана на столбец ячеек справа или слева от ячейки, в котnрой находит­ ся ссылка, то используется· ячейка, расположенная в той же самой сrро­ ке, в которой содержится ячейка со ссылкой. Точно так же при ссылке .
111 Гnава 1 на строку, находящуюся под или над содержащей ссьшку ячейкой, берет­ ся одна из ячеек, расположенная в том же столбце, в котором находится ячейка со ссылкой. Если у _вас имеется не одна (один), а большее коли­ чество строк (столбцов) в ссылке в той же строке (столбце), в которой содержится ячейка со ссылкой, значение #ЗНАЧ! программа возвратит . вам ощибочное . Такой же результат будет и в том случае, если ни одна ячейка в ссылке не располагается в той же самой строке или столбце, в которой находится ячейка со ссылкой. ' Предуп~еждение Если вы используете имя диапазона в функции , способной принимать множественные аргументы (например, функция И( ) ). в ней будет задей­ ствован весь именованный диапазон, а не отдельное значение, содержа­ щееся в той же самой строке или столбце , где находится формула . Будьте внимательны, иначе можно пол~ить самые неожиданные результаты. Фактически, существует возможность присвоить имя практически лю­ бому значению, включая числа или текст, не содержащиеся ни в одной из ячеек, с помощь_ю команды Вставка>- Имя трактовать список >- Присвоить. При этом следует именованных диапазонов и значений как простую таблицу подстановок , в которой значение имени вставляется в формулу перед тем, как вычисляется ее значение. Эта же команда также применя­ ется для редактирования или удаления имен и ссылок. Выделите любую ячейку и выберите команду Вставка >- Имя >- Присвоить. После этого в появившемся диалоговом окне Присвоение имени выберите одно из гото­ вых имен в списке Имя и просмотрите значение этого имени, которое появится в поле Формула . П рмсвоеttие ммеttи П Копирование и перемещение ссылок на ячейки Как я уже объяснял выше, при копировании формулы из одной ячейки в другую абсолютные ссылки остаются неизменными, а относительные изменяются в зависимости от того , куда кnпигуетс~ данчм формула . На приведенном рисунке формула была введеtщ в ячейку ВЗ, а затем скопи­ рована в ячейки В4 : В6. Обратите внимание на то, что в каждой фор!-fуле
Исnоnьзованuе Енсеl в научным u uнженернын nрunоженuян изменились только относительные ссылки на ячейки, содержащиеся в столбце А, а абсолютная ссылка на ячейку А 62 осталась без изменений. с в =SBS2"A4 =S8S2"A5 =$852""6 • Экспре~с-метод Для копирова1:1ия формул в Другие ячейки таюке можно воспользоваться командами Копировать и Вставить. Если ячейка, которую вы собирае­ тесь вставлять ; расположена рядом с ячейкой, из которой она копируется, выделите обе эти ячейки. выберите команду Правка>- Заполнить и вы­ берите из подменю направление заполнения (Вверх, Вниз, Влево, Вправо) . Еще более быстрым способом является применение маркера заполнения (он представляет собой маленький черный квадрат в нижнем правом углу выделенной ячейки или диапазона). Выделите ячейку, кото­ рую хотите скопировать , щелкните на этом квадратике и перетащите ука­ затель в конец диапазона , который намерены заполнить. При этом со­ держание первой ячейки будет скопировано в весь .выделенный диапазон . При пере.мещении содержания яЧейки Excel предполагает, что вы хоти­ те изменить только макет своего, рабочего листа, но не математическую логику. В этом аспекте ссылки в перемещенных ячейках, указывающие на ячейки за пределами этих ячеек, остаются неизменными: после пере­ мещения они указывают на те же ячейки . Любые ячейки, ссылающиеся на перемещенные, корректируются таким образом, чтобы они указывали на новые ячейки, которые имеют такое же содержание, какое имели те ячейки , на которые они ссылались первоначально. Перемещение не должно повлечь за собой каких-либо изменений итогов формул, если только вы не удалите данные в ячейках, поместив в них новые данные. Если ячейку 63, изображенную на рисунке, переместить в ячейку С7, то получится результат, отображенный на иллюстрации. Как видите, в фор­ муле ничего не изменилось. А в . с ,3 -·;;,msтм =S852"A5 4°852""6 =S8$2'АЗ
14:1 • ffla8a 1 Эксп есс-мет >-- Ячейки можно перемещать с помощью команд Правка Копировать и Правка Вставить. Существует и еще один сnособ перемещения: выделите ячей , елкните на ее нице и пе тяните а новое место. >- Использование операторов в вычислениях Операторы являются базовыми структурными элементами математи­ ческих формул. Их действие определяет, каким образом объединяются числа (или строки текста) для получения численного итога. лагает три вида операторов: математические, Текстовый оператор существует только один Excel пред­ текстовые и логические. - конкатенация (&). Он служит для объединения даух строк текста в одну. В · табл. 1.2 вашему вниманию прtдлаrается перечень всех операторов, Имеющихся в Excet . Математические операторы Математические операторы включают стандартный комплект, кото­ рый можно найти в любом компьюrерном язЪ1Ке высокого уровня или инженерном калькуляторе. Процент и отрицание являются унарными (одноместными) операто­ рами. Оператор процента делит число, расположенное слева от него, на 100 (/100). Если число с операrором процента является единствеИНЬIМ зна­ чением в ячейке, формаr этой ячейки также изменяется на проценr. По­ ложительного унарного операrора в Excel не существует; положительное значеtD1е принимается по умолчанию при отсутствии какого-либо унар­ ного оператора. На прахmке, если поставить перед значением или ФОрму­ лой "+",то Excel удалит этот знак (за исJОIЮчением случаев, когда он яв­ ляется показателем степени числа в экспоненциальном предсгавлении). Группа математичесхих операторов включает сло:жение, вычитание, умно:жение, деление и возведение в степень. Все OtDI работают как обЬIЧНо. Логические операторы Логические операторы (в учебниках их называют операторами срав­ нения) применяются для сравнения дВух численных. значений или строк. Результатом действия этих операций является либо значеtDlе Истина, ли­ бо значение Ложь. При использовании логических результатов в матема­ тических формулах Исrина имеет значеtDlе 1, а Ложь - значение О. Когда Excel сравнивает с применением логических операторов стро­ ки. регистр символов (прописные или строчныеj программой иrnориру­ ется. Однако с помощью функции Excel строки текста с учетом регистра символов. СОВПАД вы мо:жете сравнить
Иt~анuе Енсеl в научным u uнженерн1.1н npuflOlcettWIИ iu Приоритет операторов Приоритетом операторов определяется порядок, в котором выполня­ ется вычисление численного значенИJI формулы. В табл. 1.2 справа от каждого оператора указано его место в этом порядке. При любых вычис­ лениях действия операторов, имеющие приоритет 1, будуг выполняться в первую очередь, после этого будуr выполняп.ся действия операторов с приоритетом 2 и т.д. При наличии в формуле 11JJYX операторов с одинако­ вым приоритетом вычисления будуг выполняться справа налево. Если вы не уверены, в каком порядке будет вычисляться формула, можно дополнительно указать правильный порядок вычислений , вос­ пользовавшись 1Сруrлыми скобками, которые всегда имеют преимущество по сравнению с приоритетом, указанным в табл. 1.2. Табмtца Опера- 1.2. Onepaтopw Ехсе1 и nр11Ор1П'еТ п Описание "°".._. ... Порядок при тор вычислениях Унарные операторw % Оrрицание (относится к значению справа от него) П~20цент {относ~тся к значению слева от него} 1 2 Математи"есКJtе операторw * / + Возведение в степень Умножение Деление Сложение Вычитание з 4 4 5 5 Текстовwе оперtпоры & Конкатенация = < Равно 6 ЛOl'lf'lecКJte операторw > <= ><> 7 7 7 7 7 7 Меньwе Больwе Меньwе или раено Больwе или равно Не 2авно 4'п " ение Порядок выполнения операторов в формуле рабочего листа несколько отличается от того, который применяется• Visual 8asic for Applications (он описан а rлаве 4). В рабочем листе отрицание выполняется перед возве­ дением а степень , а • V1Suвl Bвsic for Applications - наоборот. Например, формула а рабочем листе -1А2 возвратит значение 1, а в Vlsuaf Basic for Applications - значение -1. Поэтому, чтобы получить :желаемый результат, о м н о записать а ел ем аиде: -1 А2.
11~1 Гnава 1 Использование функций рабочего листа Весьма JШЖНЫМ фактором при планировании использования Excel для научных и инженерных вычислений является то, что в программе дос­ тупны все наиболее часто применяемые математические функции. Без этих функций даже оrnосительно простые вычисления могуr стать до­ вольно утомительным процессом. Например, пробовали ли вы когда­ нибудъ рассчитать синус угла с помощью калькулятора, самым сложным действием которого является извлечение квадратного корня? Задача, ко­ нечно, выполнимая, но занимает много времени и при этом довольно легко в итоге получить ошибочный результат. Excel обеспечивает 10 разных видов функций: математиче­ ские/тригонометрические, инженерные, логические, текстовые, стати­ стические, функции категории дата/время, функции для работы с базами данных/списками, финансовые, информационные функции и функции категории ссылки/массивы. Кроме того, вы сможете пользоваться боль­ шим количеством надстроечных функций, которые применяются для создания компьютерных программ в Excel (принципы программирования на Visual Basic for Applications описаны в главе 4). Если же для ваших це­ лей окажется недостаточно внутренних и надстроечных функций и про­ rрамм Visual Bзsic for Applications, можно создать свои собственные в компилируемом языке, например, в С или в FORTRAN, и потом вызы­ вать их в Excel (подробная информация об объявлении и использовании внешних модулей предлагается в приложении Г). В этой главе вы найдете описание функций, представляющий особый интерес для ученых и инженеров. Полное описание всех этих функций и оператороJJ, справке а также их синтаксиса, можно получить в электронной 1 Excel. Ввод функций Функции Excel применяются в основном так же, как функции в большинстве компьютерных программ . Чтобы использовать в формуле функцию, введите ее имя, поставьте левую круглую скобку, затем напе­ чатайте аргументы, отделенные друг от друга запятыми, и закройте круг­ лую скобку. Аргументами в данном случае могуr быть числа, строки, ссылки на ячейки или друrие~функции (до семи уровней). Если аргумент функции выходит за пределы аргументов, принимаемых этой функцней, то она возвращает ошибочное значение #ЧИСЛО!. Если mп аргумента не соответствует данной функции, ею возврашаетс~ ошибочное значение #ЗНАЧ!. В этой книге все имена функций даются прописными буквами, но вы можете вводить их в любом регистре - Excel на изменение регистра не реагирует.
Испоnьзованuе Ею:еl в научнык u uнженернык прunоженuяк V Совет Дпя того чтобы вставить функцию непосредственно в формулу, пользуйтесь Мастером функций. Начните вводить формулу и, достигнув точки, в которую вы хотели бы вставить функцию, щелкните на кнопке Вставка функций, расположенной на панели инструментов, в результате чего на экране появится диалоговое окно Мастер функций. В нем вы увидите перечень функций. Выберите в нем нужную вам функцию, щелк­ ните на кнопке Готово, и функция с ее аргументами будет вставлена в - формулу. Либо, щелкнув на кнопке Далее, откройте второе диалоговое окно, кото ое поможет вам ввести а менты. Функции массива Обычная функция возвращает одно значение, однако, некоторые из функций Excel возвращают массив значений. Например, функция МОБР (матрица) вычисляет обратную матрицу и возвращает матрицу значений такого же порядка (по высоте и ширине), как матрица аргумента. Функцию массива необходимо вводить в диапазоН ячеек, который должен быть достаточно велик для того, чтобы в нем поместились все элементы данного массива. Например, если вы пользуетесь функцией мОБР для обращения массива ЗхЗ, то в итоге получите также массив ЗхЗ, поэтому эту функцию надо вставлять в диапазон ячеек ЗхЗ. Чтобы вставить функцию массива в диапазон ячеек, вьшелите эти ячейки и nведите фунщию массира и ее аргументы в верхнюю левую ячейку этого _диапазона. После этого нажмите комбинацию клавиш и, удерживая их в нажатом состоянии, нажмите <Enter> (в <Ctrl+Shift> Macintosh - <Cmd+Enter>) либо щелкните на кнопке ввода (эта кнопка с изображением зеленой галочки появится в строке формулы сразу после того, как вы начнете набирать формулу). В результате этого в каждой ячейке диапазона появится функция массива, заключенная в фигурные скобки (О). Вам не придется вводить эти скобки - Excel вставит их сама, чтобы пометить введенные данные как функцию массива. · Таким образом к массиву значений можно применить любую форму­ лу. Например, приведенная ниже формула nычисляет сумму квадратов набора значений и возвращает одно значение: =СУММ((А7:А15-$8$1)"2) Если вы формулу и, удерживая нажатыми клавиши (или щелкните на кнопке ввода), Excel сначала вычтет значение В 1 из всех значений в ячейках с А 7 по А 15, возве­ дет показатели разностей в квадраты, а затем сложит их. Если же ввести <Ctrl+Shift>, введете нажмете эту <Enter> эту формулу, не нажимая при этом клавиши <Ctrl+Shift>, Excel использу- ·
ifi Гnава 1 ет только одно из значений в диапазоне А 7:А 15 (то, которое находится в той же самой строке, в которой расположена ячейка с формулой). Функции массивов моrут быть очень полезны и эффективны, ведь с их помощью можно выполнять сложнейшие расчеты в одной ячейке . Однако с ними следует быть очень внимательным, поскольку иногда бы­ вает трудно проверить их правильность и отладить их работу. Например, приведенная ниже формула, введенная как функция массива, рассчитает стандарrnое отклонение содержания ячеек А 1:А1 О: =КОРЕНЬ((СУММ((А 1:А10-СРЗНАЧ(А 1:А10))"2))/(СЧЕТ(А 1:А 10)-1)) Математические функции Математические функции используют числовые данные как аргумен­ ты, каким-либо способом трансформируют их и выдают результат в виде численного значения. Мэ:rематические функции делятся на четыре общих типа : основные математические , логарифмические, тригонометрические и маrричнъ1е. В табл. 1.3 перечислены математические функции ТабJ1ица 1.3. Excel. Математичес1СИе функции Excel Функция Возвращает ABS() Абсолютное значение числа ОКРВВЕРХ() Число, округленное до ближайшего целого или до ближай­ Основные математические функции шего кратного указанного знfiчения ЧИСЛКОМБ() COUNTBLAN К( СЧЕТЕСЛИ() ЧЕТН( ) Количество комбинаций для Защiнного числа объектов ) Количество пустых ячеек в диапазоне Количество ячеек, удовлетворяющих заданному критерию Число, округленное с- избытком до ближайшего четного це ­ лого Факториал числа Число, округленное до ближайшего меньшего по модулю ФАКТР() ОКРВНИЗ() целого НОД( )* НОК( )* ЦЕЛОЕ() ОСТАТ() ОКРУГЛТ( Наибольший общий делитель списка чисел Наименьшее общее кратное списка чисел Число, округлежюе до ближайшего меньшего целого Модуль (остаток двух чисел). - Число, округленное до числа , кратного заданному )' МУЛЫИНОМ() НЕЧЕТ() Мультиномиал списка чисел Число, округленное с избытком до ближайшего нечетного целого СТЕПЕНЬ( ) ПРОИЗВЕД() Результат возведения в степень Произведение аргументов чисел в списке ЧАСТНОЕ() СЛЧИС() Частное от деления нацело Случайное число между О и СЛУЧМЕЖДУ( РИМСКОЕ() ОКРУГЛ()* )* 1 Случайное число между двумя заданными числами Число, преобразованное из арабского в римское Число , округленное дР указанного количества разрядов
Испоnьзованuе Ексеl в научнын u uнженерныи npunoжeнWIИ Функция Возврвщает ОКРУГЛВНИЗ( ) Число, округленное от О с недостатком до следующего це­ лого ОКРУГЛВВЕРХ() РЯД.СУММ() ЗНАК() КОРЕНЬ() КОРЕНЬПИ( )* ПРОМЕЖУТОЧ­ НЫЕ.ИТОГИ( СУММА() Число, округленное от О с избытком до следующего целого Сумму степенного ряда Значение 1 со знаком числа Квадратный корень из числа Квадратный корень из числа, умноженного на л Промежуточные итоги по списку или базе данных ) СУММЕСЛИ() Сумму чисел в списке Сумму значений в ячейках, соответствующих заданному критерию СУММПРОИЗВ( ) СУММКВ( ) СУММРАЗНКВ( ) СУММСУММКВ( ) СУММКВРАЗН( ) Сумму Сумму Сумму Сумму Сумму произведений элементов матрицы квадратов чисел в списке разностей квадратов элементов в двух массивах сумм квадратов элементов в двух массивах квадратов разностей значений в двух массивах ОТБР( ) Число, усеченное до указанного количества знаков ЕХР() Число е, возведенное в степень (показатель степени числа е) Логарифмические функции ЕХР1() Значение е LN() LOG() LOG10() Натуральный логарифм числа (основание е) Логарифм числа по заданному основанию Общий логарифм числа (основание 10) COS() SIN() TAN( ) Косинус числа Синус числа Тангенс числа (2,7182818284590) Триrонометри'lеские функции Обратные триrонометри'lеские функции ACOS() ASIN() ATAN( ) ATAN2() Арккосинус числа COSH() SINH() TANH() Гиперболический косинус числа Арксинус числа Арктангенс числа (от -л/2 до л/2) Арктангенс двух чисел (от -л доп) Гиперболи'lеские функции Гиперболический синус числа Гиперболический тангенс числа Обратные rиперболи'fеСкие функции ACOSH() ASINH() ATANH() Ги[lерболический арккосинус числа ПИ() Значение :rt (З, 1415926535898) ГРАДУСЫ() РАДИАНЫ() Показатель величины угла в градусах Показатель величины угла в радианах Гиперболический арксинус числа Гиперболический арктангенс числа Функции преобразования угла
ijl Гnава Функция 1 Возвращает Матричные функции МОПРЕД( ) Определитель матрицы МОБР( ) матрицу, обратную заданной МУМНОЖ( ) Произведение двух матриц См. также ТРАНСП( ) в табл. 1.14 * Функции, помеченные звездочкой, входят в надстройку пакет анаnиэа. Основные математические функции С помощью основных математических функций выполняются общие вычисления. Например, функция ABS(x) возвращает абсолютное значе­ ние числах. Функции ОКРВВЕРХ(х,знач), ЧЕТН(х), ОКРВНИЗ(х,знач), ЦЕЛОЕ(х), ОКРУГЛТ(х,знач), ОКРУГЛ(х,з1-1ач), ОКРУГЛВВЕРХ(х,знач), ОКРУГЛВНИЗ (х,знач), НЕЧЕТ(х) и ОТБР(х,знач) преобразуют х в uелое, используя для этого различные логические основания. Аргумент знач представляет со­ бой значимость разряда, которая является значением, кратное которого вы хотите округлить. В табл. 1.4 показаны результаты применения неко­ торых из этих функций. Таблица 1.4. ОКРУГЛ- ОКРУГЛ- ОКРВВЕРХ х n (x.n) Окруrление чисеп ЧЕТН (х) 1,5263 о о 2 о о -2 -1,5263 о 2.48554 о 4 4 2.61756 о о -2,48554 о о -4 -2,61765 о о -4 1,5263 2 2 2 -1,5263 -2 -2 -2 132,4855 134 134 2 644 644 642,6176 2 -132,486 -2 -134 -134 -642,618 -2 -644 -644 1.5263 0,01 1,53 1,53 -1,5263 -0,01 -1,53 ·1,53 2,48554 0,01 2,49 2.49 2,61756 0,01 2,62 2.62 ·2,48554 -0,01 ·2,49 ·2,49 -2.61765 -0,01 -2,62 -2,62 ОКРВНИЗ ЦЕЛОЕ ОКРУГЛТ ОКРУГЛ ОТБР (x.n) #DIVIOI #DIVIO! #DIVIOI #DIVIOI #DIVIO! #DIVIOI (х) (x,n) (x,n) (x,n) 1 -2 2 2 -3 о 2 -2 2 ·З о о 1 ·2 132 642 -133 -643 2 ·2 132 642 -132 -642 1,53 -1.53 2,49· 2,62 -2,49 -2,62 о 132 642 -132 -642 1,52 -1,52 2,48 2,61 -2,48 -2,61 -2 2 2 ·З -3 о з о -2 -3 1,53 1 -1 2 2 -2 -2 1,52 о о о о Функuия ЗНАК(х) возвращает значение 132,49 132.48 642,62 642,61 -100 -100 -600 -600 2 -2 -1 2 2 з 2 -2 -2 з -2 1,0 вниз (x,n) 1 -1 2 2 ВВЕРХ (x,n) 2 -2 3 з -2 -з -2 1,52 .3 1,53 -100 133,49 642,62 -200 -700 2 -2 о 132.48 642,61 -100 -600 1 -1 2 2 ·2 -2 з з -З -3 с тем же знаком, какой имеет х, либо О, если х является О. Функuия ОСТАТ(х1,.х2) возвращает
Испоnьзованuе Еисеl в научныи u uнжеиерныи npunoжeнwnc модуль или остаток от частного х1/х2. Она чаще всего используется для пр~азования большого угла (х1 >2л) обраrно в единицу окружности (О<х1<2л), как, например, в следующем примере: ОСТАТ(2,70ЗхПИ( ),2х ПИ( ))= ,70Зя. Функция ОСТАТ таюкс часто приМсняется в качестве части логиче­ ской формулы для определения, в каком случае значение является чет­ ным кратным некоего определенного числа, как, например, в следующей формуле: (ОСТАТ(Х, 1О)=О)=ИСТИНА для Х =... , ·1 О, О, 1О, 20, ... Функция КОРЕНЬ(х) возвращает значение квадратного корня из х. КОРЕНЬПИ(х) возвращает квадратный корень из хя. Функции СУММ( список), ПРОИЗВЕД(сnисок), РЯД. СУММ(х,n,m,коэфф), (список), ЧАСТНОЕ(х1 ,х2), СУММКВ СУММКВРАЗН(матрица1, СУММПРОИЗВ(матрица1 ,матрица2), СУММРАЗНКВ(матрица1 ,матрица2), матрица2), СУММСУММКВ(матрица 1,матрица2) выполняют разные виды суммирования списков членов. Функции СЛЧИС( ) и СЛУЧМЕЖДУ(ниже, аыwе) возвращают случайные числа. Функция ЧИСЛКОМБ(n,отобран) вычисляет келичество способов. ко­ торыми могут быть скомбиниро~ы отобранные из совокупности n объ­ ектьr. Функции ФАКТР(n) и ДВ.ФАКТР(n) вычисляют факториал числа (n!=1 x2x3x ... n) и двойной фахториал числа (n!I). Функции нед и нок вычисляют наибольший <>Рщий дел итель и наименьшее общее крагное списка чисел. Логарифмические функции Логарифмические функции вычисляют натуральные и общие лога­ LN(x) и ЕХР(х) вычисляют наwальный логарифм х и Пока­ рифмы чисел. затель степени х (ех) соответственно. Теоретически значение х в экспо­ ненциальной функции может принимать любое значение ; однако значе­ ние х более 709 приводит к численному переполнению и в этом случае функция возвращает ошибочное значение #ЧИСЛО! . Функция ЕХР(1) возвращает основание е натурального логарифма (2,71828182845904). LOG10(x) возвращает общий логарифм (основание 10) х. LOG(x,b) возвращает логарифм х для любого основания Ь. Тригонометрические функции Тригонометрические функции SIN(x), COS(x) и TAN(x) возвращают синус, косинус и тангенс угла х соответственно. Угол х дол.жен бъпъ в радианах, поэтому , следует преобразовать показатель величины угла в градусах в показатель в радианах, для чего можно воспользоваться функ­ цией РАДИАНЫ(), либо сделать это пуrем умножения на п/180. Напри­ мер , если у выражен в градусах, формула для получения синуса у будет следующей: S/N(РАДИАНЫ(У))=SIN(УхПИ( )/180)
111 rnaвa 1 Для обратноrо процесса и преобразования показателя угла в радианах в rрадусы воспользуйтесь функцией ГРАДУСЫ( ) или умножьте на 180/п. Вот, например, формула для получения арксинуса ГPAДYCЫ(ASIN(Z))=ASIN(Z)x1 ВОЛlИ( z в rрадусах: ) Точность эначенмй тригонометрических функций, близких к нулю - Вследствие точности чисел Excel, синус или косинус я, 2л, .", или косинус п/2, Зл/2 , ... не являются абсолютно нулевыми значениями, по­ этому следует быть очень внимательным и не составлять уравнений, за­ висящих от итоrов этих функций, принимая их равными нулю , как, на­ пример, следующие: SIN(ПИ( ))=1,22х10·16 16 SIN(2*ПИ( ))=·2,45х10· СОS(ПИ( )/2)=6,12х10.17 ТАN(2*ПИ( ))=·2,45х10-16 В большин стве случаев эти значения достаточно близки к нулю, од­ нако в некоторых формулах это может стать причиной проблем. Тригонометрические функции для вычисления секансов, косекансов и котангенсов .в Excel не доступны. Однако для получения этих показателей можно воспользоваrься другими фунхuиями пр0rраммы: • для вычисления секанса угла х, SEC{x), примените формулу 1/COS(x); • для вычисления косеканса углах, • для вычисления котангенса углах, СОТ(х), примените формулу CSC(x), примените формулу 1/SIN(x); 1fТAN(x). Обратные тригонометрические функции Обраrnые тригонометрические функции ASIN(x) и ACOS(x) возвраща­ ют арксинус и арккосинус соответственно в радианах х. Поскольку арк­ тангенс ЯВJJяется многозначной функцией, Excel обеспечивает две разные ее версии. Первая версия, ATAN(x), не несет в себе достаточного количе­ ства информации для определения , в каком квадранте должен находить­ ся итоr, поЭтому она возвращает значение в виде диапазона от -п/2 до +п/2. Вторая версия, ATAN2(x,y), обладает достаточной информацией для оп ределения правильного квадранта и возвращает значение в диапазоне от -я до +я. Функция ПИ возвращает значение я (3,141592653589879). Вычислить тригонометрические функции, отсуrствующие в Excel, можно следующим образом: · • для вычисления арксеканса х ддя х>О , мулой: ATAN(KOPEHb(x"~-1 )); ASEC(x), воспользуйтесь фор­ .
Испоnьзованuе Еисеl в научныи • u uнженерныи прunоженW1И для вычисления арксеканса х для х<О, ASEC(x), воспользуйтесь фор­ мулой: ATAN(KOPEHb(X"2-1 ))-ПИ(); • для вычисления арккосеканса х для х>О, ACSC(x), воспользуйтесь ACSC(x), воспользуйтесь формулой: АТАN(1Л<ОРЕНЬ(Х"2-1)); • для вычисления арккосеканса х для х<О, формулой: АТАN(1Л<ОРЕНЬ{Х"2-1)-ПИ( • ); для вычисления арккотангенса х, АСОТ(х), воспользуйтесь формулой: ПИ( )12-ATAN(x). Гиперболические функции В Excel имеется три гиперболические функции: SINH(x), COSH(x) и TANH(x). Эrи функции вычисляют гиперболический синус, косинус и тангенс х соответственно. Остальные гиперболические функции могут быть вычислены на основе этих трех функций следующим способом: • для вычисления гиперболического секанса х, SECH(x), воспользуйтесь формулой; 1/COSH(x); • для вычисления гиперболического косеканса х, CSCH(x), воспользуй­ тесь формулой: 1/SINH(x); • для вычисления гиперболическоrо котангенса х, СОТН(х), воспользуй­ тесь формулой: 1/ТАNН(х). Обратные гиперболические функции Обратными гиперболическими функциями в Excel являются ASINH(x), ACOSH{x) и ATANH(x). На основе этих функций вычисляются обратный гиперболический синус, косинус и тангенс соответственно. Друrие об­ ратные гиперболические функции могут быть вычислены следующим способом: • для вычисления обраrного гиперболического секанса х (двузначного), ASECH(x), воспользуйтесь формулой: LN((±KOPEHb(1-X"2))/x); • для вычисления обратного гиперболического косеканса х (двузнач­ ного), ACSCH(x), воспользуйтесь формулой; • для _рычисления обратного гиперболического котангенса х, АСОТН(х), LN( (±КО РЕ НЬ(1 +Х"2))/х); воспользуйтесь формулой: 0,5xLN((x+1 )/(х-1 )).
•• Гnава 1 Матричные функции предлагает пользователям четыре матричные функции. Три из элементами множества математических функций: МОПРЕД(матрица), МОБР(матрица) и МУМНОЖ(матрица1 ,матрица2) . Excel них являются .Четвертая матричная функция ТРАНСП(массив) относится к функциям поиска по таблице и вектору (категории ссылки/массивы). Функция МОПРЕД вычисляет определитель матрицы; МОБР рассчитывает матрицу, обратную хранящейся в массиве; МУМНОЖ возвращает матричное произ­ ведение двух матриц. Матричные функции главным образом применяют­ ся для решения матричных уравнений, особенно тех, которые получают­ ся в результате решения систем линейных уравнений. МОБР и МУМНОЖ являются векторными функциями: они возвраща­ ют не единичное значение, а массив значений. Чтобы ввести эти функ­ ции не в одиу ячейку, а в массив, надо при их вводе удерживать нажа­ тыми клавиши <Ctrl> и <Shift> (в Macintosh <Cmd+Enter>), :как я уже объ­ яснял в разделе Функции массива выше в этой главе. Функция ТРАНСП выполняет транспонирование аргументов матрицы, т.е. заменяет строки столбцами и наоборот. Эта функция удобна для за­ мены горизонтальных векторов вертикальными и вертикальных горизонтальными. Инженернь1е функции • • • • • • Известны следующие типы инженерных функций функции Бесселя; функции преобразования основания; функции преобразования углов; функции ошибок; функции числового сравнения; комrшексные арифмеmческие функции. Exeel: В табл. 1.5 перечислены инженерные функции Excel. Более полное описание предлагается ващему вниманию в приложении В. ....... Примечание Комплексные числа сохраняются как строки в форме мнимую. x+yj, где х представ­ ляет собой действительную часть, а у - Логические функции Логическими называются функции, которые возвращают или опери­ руют логическими значениями ИСТИНА и ЛОЖЬ. Кроме того. многие функции информационной категории, перечисленные в табл. 1.13, также
Испоnьзованuе Енсеl в научнын u uнженернын прunоисеншш возвращают логические значения в виде итогов тестов. Логические функции Excel предлагаются вашему вниманию в табл. 1.6. Логические значения ИСТИНА и ЛОЖЬ являются эквивалентами чис­ ленных значений 1 и О соответственно. Это означает, что для всех значе­ ний х, ИСТИНАхх=х, а ЛОЖЬхх=О. Функции, принимающие логический аргумент, интерпретируют все ненулевые значения как ИСТИНУ , а все нулевые - как ЛОЖЬ. Таб.1111ца Функция 1.5. Иоенернlilе фуикцми E:xcel Возвращает Функции Бессел11 БЕССЕЛЬ .J( )* БЕССЕЛЬ . 1( )* БЕССЕЛЬ. К( )* БЕССЕЛЬ .У( )" Функцию Бесселя Jn(x) Модифицированную функцию Бесселя модифицированную функцию Бесселя Функцию Бесселя (Вебера) ln(x) Kn(x) Yn(x) Функции прео6разоsани11 осноsани11 Двоичное число, преобразованное в десятичное число Д8 . 8.ДЕС( )* ДВ . 8.ШЕСТН( )* Двоичное число, преобраЗQванное в шестнадцатерич­ ДВ.8.ВОСЬМ( )* Двоичное ную строку число, преобразованное в восьмеричную строку ПРЕОБР( Число, преобразованное из одной системы единиц в )* другую ДЕС.8.ДВ( )* ДЕС.8.80СЬМ( )* Десятичное число, преобразованное в двоичную строку Десятичное целое, преобразованное в восьмеричную ДЕС.В.ШЕСТН( )* Десятичное целое, преобразованное в шестнадцате­ FACTDOU8LE( )"' ШЕСТН . 8.Д8( )* Двойной факториал · строку ричную строку Шестнадцатеричное число, преобразованное в двоич­ ную строку ШЕСТН.8.ДЕС( )* Шестнадцатеричное число, преобразованное в деся­ тичное число ШЕСТН .8.80СЬМ( )* Шестнадцатеричное число, преобразованное в вось­ меричную строку 80СЬМ. 8 .Д8( )* Восьмеричное число, преобразованное в двоичную строку 80Сьм . 8 .ДЕС( )* Восьмеричное число, преобразованное в десятичное число ВОСЬМ.8.ШЕСТН( )* Восьмеричное число, преобразованное в шестнадцате­ ричную строку функции ошибок ФОШ( )* Функция ошибок ДФОШ( Дополнительная функция ошибок )* Функции 'IИСЛОSОГО срssнениR ДЕЛЬТА()* Дельта-функция ; возвращает О если они разные 1, если два числа равны и
; iвl Гnава 1 / ----------------------------------------------------------; Функция Возвращает ПОРОГ()* Ступенчатая функция; возвращает 1, если число боль­ ше порогового значения и О - если оно меньше или равно пороговому значению Комплексные врифмети"еские функции КОМПЛЕКСН( Действительный и мнимый коэффициенты, преобразо­ )* ванные в комплексное число в строке "x+yj" Абсолютное значение комплексного числа в строке МНИМ.~ВS( )* МНИМ.ЧАСТЬ( )* МНИМ.АРГУМЕНТ( )* Мнимый коэффициент комплексного числа в строке Угол, выраженный в радианах, в комплексной плоско­ сти комплексного числа в строке МНИМ.СОПРЯЖ( МНИМ.СОS( ) * МНИМ .ДЕЛ( )* МНИМ.ЕХР( MHИM.LN( )* Комплексное сопряжение комплексного числа в строке Косинус комплексного числа в строке частное двух комплексных числе в строке Экспоненту комплексного числа в строке )* Натуральный логарифм комплексного числа в строке )* MHИM.LOG2( )" MHИM.LOG10( )* . Логарифм по основанию 2 комплексного числа в строке Общий логарифм (основание 10) комплексного числа в строке МНИМ . СТЕПЕНЬ( )* Комплексное число в строке , возведенное в целую степень МНИМ.ПРОИЗВЕД( )*Произведение двух комплексных чисел, оохраненных в строке МНИМ.ВЕЩ( )" Действительный коэффициент комплексного числа в строке MHИM.SIN( Синус комплексного числа в строке )* МНИМ . КОРЕНЬ( )* Квадратный корень комплексного числа, сохраненного в строке МНИМ.РАЗН( )* Разность двух комплексных чисел, сохраненных в стро­ ке МНИМ.СУММ( )* Сумму двух или более комплексных ч11сел, ссхра11Gн ­ ных в строке Функции, помеченные звездочкой(*), входят в надстройку Пакет анализа . Функuия ЕСЛИ(лоrический,х,у~ тестирует логические значения, но не обязательно возвращает логический результат. Если аргумент логический, как это бывает в логических формуЛах, является ИСТИНОЙ или ненуле­ вым значением, логический - функция возвращает значение х. Если же элемент ЛОЖЬ или ноль, то возвращается значение у. Чаще всего функuия ЕСЛИ применяеrся для отслеживания непра­ вильных вычислений (таких как деление на ноль) и выбора альтернатив­ ного пуги расчета. Если х или у являются формулами, они вычисляются только в том случае, если в них есть необходимость. Например, для вы­ числения значения SIN(x)/x для всех значений х можно воспользоваться следующей формулой: ЕСЛИ(х=О, 1,SIN(x)/x}. При х равном О, функция возвращает правильное значение тивном случае она вычисляет и возвращает значение -1; в про­ SIN(x)/x. Если не
u Исnоnьзованuе Ексеl в научным uнженерныи nрunоженuяи воспользоваться функцией ЕСЛИ, то при х равном О вы получите оши­ бочное значение #ДЕЛ/01, даже, несмотря на то, что SIN(O)/O равно 1. В группу логических функций включены также три булева оператора: И(А,8}, ИЛИ(А, В) и НЕТ(А,В). Они комбинируют лоmческие значения в соответствии с правилами булевой алгебры с целью получения логиче­ ского результата. Булевы операторы обычно используются как двоичные операторы, но Excel предлагает их как функции. Таб.11ица 1.6. Лоrичес1С11е фуищми Ехсе1 Функция Возвращает ИСТИНА() ЛОЖЬ() ИСТИНА или ложь или о ЕСЛИ() Выбирает одно из трех значений, в зависимости от выпол­ Функции логических значений 1 Логические функции проверки нения условия Булевы функции (операторы) И( ) Логическое умножение логических значений НЕТ() Логическое значение ИСТИНА при ЛОЖЬ - при аргументе ИСТИНА аргументе ИЛИ() Логическое сложение логических значений ЛОЖЬ и Полный комплект булевых операторов или функций должен также включать XOR (исключающее ИЛИ), EQV (логическая равносильность) и IMP (логическое предположение). Их можно вычислить на основе трех функций. доступных в Excel: • для вычисления функции XOR используйте формулу: =ИЛИ(И(А, НЕТ (В}},И(В, НЕТ(А))); • для вычисления функции EQV используйте формулу: =ИЛИ(И(НЕТ(А),НЕТ(В}},И(А,В)}; • Для вычисления функции IMP используйте формулу: =ИЛИ(НЕТ(ИЛИ(А,В )),В). Табл. 1.7 представляет собой таблицу истинности для шести б)(Вевых операторов. Таб.11ица 1•7. Таб.11ица 11сntн11ОС1И да бу.11евwх фуи1Щ11i А в И(А,В) ИЛИ(А,В) НЕТ(А) и и и л и л л л и л л и и и л л л л и и XOR(A,B) EQV(A,B) IMP(A,B) л и и л и и л л л и и и
ltj rnaвa 1 Текстовые функции Строкой называется упорядоченная последовательность текстовых символов, например, слово или предложение . Текстовые функции при­ меняются для создания и обработки строк. Список текстовых функций, которые имеются в Excel, предлагается вашему вниманию в табл. 1.8. Таб1111ца Функция 1.8. Те1ССТО8Ые фун1Ц1111 Excel Результат Функции преобразоааниR чисел а текст РУБЛЬ() Число как текст в денежном формате ФИКСИРОВАН­ Число как текст, округленное до указанного числа десятич­ ТЕКСТ() Значение, преобразованное в текст Число, преобразованное в строку с использованием указан­ ЗНАЧЕН() Текстовый аР.гумент, преобразованный в число ПЕЧСИМВ() Удаляет непечатаемые символь1 из текста. СЦЕПИТЬ() Объединение двух или более строк НЫЙ() Т( ) ных разрядов ного формата строки Функции обработки те1<Ста НАЙТИ() Определяет место нахождения подстроки в строке (с учетом регистра) ЛЕВСИМВ() ДЛСТР() Выделяет символы слева Количество символов в строке СТРОЧН() Текст, преобразованный в строчные символь.1 ПСТР() Выделяет подстроку ПРОПНАЧ() Делает прописной пераую букву в каждом слове в строке ЗАМЕНИТЬ() ПРАВСИМВ() Заменяет подстроку Выделяет символы справа ПОИСК() Определяет место нахождения подстроки в строке (без уче­ та регистра) ПОДСТАВИТЬ( ) Заменяет подстроки СЖПРОБЕЛЫ ( ) Удаляет пробелы в конце и а начале текстовой строки ПРОПИСН() Преобразует текст в символы верхнего регистра СИМВОЛ() Символ, указанный кодом Код ASCll символа Функции соманк• строк КОДСИМ~() ПОВТОР() ASCll Повторяет строку Функции сравнения строк СОВПАД() Функции Сравнивает тек~товые строки с учетом регистра РУБЛЬ(число,разряд) и ФИКСИРОВАННЫЙ(число,разряд, без-запятой) округляют число до количества десятичных разрядов, а по­ сле этого преобразуют его в строку символов . Если аргумент без-запятой является истиной, функция ФИКСИРОВАННЫЙ не вставляет в итоговую строку запятую. Разница между этими двумя функциями заключается в '
Исnо"зованuе Ексеl в научным u uнженернын nрunоисенuян том, что функция РУБЛЬ выдает число в денежном формате. Таюке, как в функции ОКРУГЛ, отрицательные значения разрядов округляются в ле­ вую сторону десятичной дроби. ' Функция ДЛСТР(текст) определяет длину текстовой строки текст. Функции ПСТР(текст,начало,чисnо), ЛЕВСИМВ(текст,чисnо) и ПРАВС.ИМВ (текст,чисnо) выделяют символы в етроке или в ее конце. Символы нуме­ руются следующим образом: первый символ - 1, вrорой - 2 и так далее. Функции ПОДСТАВИТЬ(текст,старый,новый,чисnо) и ЗАМЕНИТЬ (текст, начало,чисnо,новый) замещают подстроки в составе текстовой строки. Поиск, который выполняет функция ПОИСК, не реагирует на изменение регисrра; при поиске функции НАЙТИ регистр символов учитывается. Функции категории даты и времени Функции даты и времени выполняют вычисления и трансформации дат и времени, а также комбинирование этих элементов. В ExceJ такие вычисления производятся путем преобразования дат в порядковый номер даты. Порядковый номер даты - это номер дня при точке отсчета 1 ян­ варя 1900 года (на Macintosh - 1904 года) . Все даты, независимо от того, введены ли они пользователем или возвращены формулой, хранятся именно в виде порядкового номера даты. Для того чтобЬJ увидеть фактИ­ ческую дату, представленную таким номером, надо отформатировать ячейку, в которой содержится номер, как дату. · Значение времени также сохраняется как порядковый номер даты . вычисляет время как дробную долю дня, при этом полночь обозна­ чается О , полдень - 0,5, и так далее. Все показатели времени хранятся в виде таких дробей . Чтобы отобразить на экране реальное время, выра­ женное дробными числами, следует соответственно отформатировать Excel ячейку. . Поскольку и даты, и время выражаются в днях, вы можете объединять их посредством простого сложения. Для определения разницы между любыми двумя датами или показателями времени, вычтите одно число даты-времени из другого, и пол~ результат, выраженный в днях и дробных долях дней. . В табл. 1.9 представлен перечень функций категории даты и времени Функции СЕГОДНЯ и ТДАТА возвращают текущую дату .и время, ExceJ. либо текущую дату в виде порядкового номера даты. Функции категории даты Функция ДАТА(rод,wесяц,день) преобразует конкретную дату в поряд­ ковый номер. Пользуйтесь этой функцией для создания номера да­ ты/времени на основе показателей года, месяца и дня. Функция ДАТАЗНАЧ(текст) преобразует дату в тексwвом выражении в порядковый номер. •
111 rnaвa Таблица 1.9. 1 Фунщии катеrор1111 да1111/•ремен11 Функция Возвращает ТДАТА() Порядковый номер текущей даты и текущего времени СЕГОДНЯ() Порядковый номер даты дпя текущей даты ДАТА() ДАТАЗНАЧ() Порядковый номер даты дпя года, месяца и дня Функции текущей даты Функции даты Преобразует данные в текстовом формате в порядковы номер даты ДЕНЬ() День месяца в соответствии с порядковым номером даты ДНЕЙЗ60() Количество дней между двумя датами, считая, что в год дней Порядковый номер даты, отстоящей от конкретной даты н 360 ДАТАМЕС( )• определенное количество месяцев КОНМЕСЯЦА( )* Порядковый номер даты последнего дня месяца, отстояще го на указанное количество месяцев от конкретной даты МЕСЯЦ() ЧИСТРАБДНИ( )* ДЕНЬНЕД() НОМНЕдЕЛИ( РАБДЕНЬ( )* )* ГОД() ДОЛЯГОДА( Месяц года в соответствии с порядковым номером дато1 Количество рабочих дней между двумя датами День недели в соответствии с порядковым номером даты суббота - 1, воскресенье - 7 Номер 1-iедели в году Порядковый номер даты, отстоящей на заданное количеств рабочих дней вперед или назад от начальной даты Год в соответствии с гюрядкоВЫt-1 номером )* Долю года, представляющую собой общее количество дне между двумя датами Функции времени ЧАС( ) МИНУТА() СЕКУНДЫ() Час дня в соответствии с порядковым номером даты Минуту в часу в соответствии с порядковым номером даты Секунду в минуте в соответствии с порядковым номеро даты ВРЕМЯ() ВрЕМЯЗНАЧ() Порядковый номер даты для часа, минУты и секунды Преобразует время в текстовом формате в порядковый но мер даты Функции, помеченные звездочкой(•), входят в надстройку Пакет внапиэа. Excet также преобразует в порядковый номер приведсщные ниже две строки при условии, 'ПО они захлючены в кавычки : • • "месяц/день/год", где месяц, день и год выражены числами; "день-месяц-год", где день и год указаны числами, а месяц - полным или сокращенным названием месяца в виде текста. ФунХЦИIО ДАТАЗНАЧ или текстовую строку можно приспособить к конкретной ситуации. Функции ГОД(чисnо), МЕСЯЦ(число) и ДЕНЬ(чисnо) возвращают чис­ .lениое значение года, месяца в году и дня в месяце даrы, указанной числом, т.е. выполняют функции, обратные функции ДАТА. Функция
ис:по18tзовакuе Ексеl в наgчнын u uнженернын прuоожеНW1Нl&J ДЕНЬНЕД(число) преобразует дату в числовом формате в номер дня неде­ ли. В этой функции субботе соответствует число 1, а воскресенью - 7. Функции времени Функции времени оченъ похожи на функции даты, за исключением того, что они оперируют временем дня, а не датой. Функция ВРЕМЯ(час,минуrа,секунда} возвращает время в ВИде дробной доли дня. Обратите внимание, Что аргументы должны быть целыми числами. Лю­ бые дробные доли этих аргументов программой игнорируются . Таким образом, наименьшей единицей времени, которой можно воспользоваться для этой функции, является секунда. Функция ВРЕМЗНАЧ(текст} преобразует время, сохраненное в ВИде строки, в порядковый номер. Можно также исполъзова'ГЪ следующие • строки, заключив их в кавычки: "час:минута:секунда" - для 24-часовоrо времени, rде год, минута и секунда выражены целыми числами. • "час: минуrа:секунда РМ" - для 12-часового времени, rде год, минута и секунда выражены целыми числами. Функции ЧАС(число}, МИНУТА(число} и СЕКУНДА(число) являются обратными функции ВРЕМЯ. Они преобразуют порядковый номер в ча­ • сы , минуты и секунды соответственно. Excel округляет все числа до бли­ жайших секунд. Статистические функции Статистические функции , как правило, применяются к наборам чисел и возвращают специальные статистические значения. Такие значения включают не только суммы и отклонения, но также ряд простых линей­ ных и экспоненциальных аппроксимаций кривой. Некоторые из этих функций возвращают в итоге массив. Статистические функции речислены в табл. Таб1111ца Функция Excel пе­ 1.10. 1.1 О. СтаntС111ческие фуlщии Excel Возвращвет Базовые статистические$ункции СРЗНАЧ() Средний nоказатель сnиска значений СЧЕТ() Количество значений в списке Количество незаполненных ячеек в списке Сумму квадратов отклонений значений в сnиске от сред­ СЧЕТЗ() КВАДРОТКЛ( СРГЕОМ() СРГАРМ() МАКС() МЕДИАНА() МИН() ) него значения Среднее геометрическое чисел в списке Среднее гармоническое чисел в списке Максимальное значение в списке Медиану для заданных чисел Минимальное значение в списке ,,, •
111 Гnава Функция Возвращает СТАНДОТКЛОН( ) СТАНДОТКЛОНП( Стандартное 0Т1СЛ0Нение значений в списке 1 ) Стандартное отклонение значений в списке, считая, что данный список является генеральной совокупностью ДИСП() ДИСПР() диспероию чисел в списке Дисперсию чисел в списке, считая , что данный список является генеральной совокупностью Сложные стаnют11Ческне фунщии # Среднее значение абсолюrnых величин отклонений то· СРОТКЛ() чек данных от среднего КОРРЕЛ( Коэффициент корреляции между даумя наборами данных ) ДОВЕРИТ() Доверительный интервал генеральной совокупности КОВАР() Ковариацию, т.е . среднее произведений отклонений дпя каждой пары точек данных ФИШЕР() Преобразование Фишера числа ФИШЕРОБР() Обратную функцию к преобрезованию Фишере числа ЧАСТОТА() Частоту распределения значений в списке ЭКСЦЕСС() . НАИБОЛЬШИЙ( ) Эксцесс значений в списке МОДА() ПИРСОН() ПЕРСЕНТИЛЬ( Наиболее часто встречающееся значение в списке п-ное наибольшее значение в списке Коэффициент корреляции Пироона двух массивов Значение из n-ой nероентили в списке ) ПРОЦЕНТРАНГ( ) ПЕРЕСТ() Процентное содержание конкретного значения rсписке Количество перестановок значений, выбранных на опре­ деленный момент из указанного числа значений ВЕРОЯТНОСТЬ( ) Вероятность того , что значения в списке находятся меж­ ду наименьшим и наибольшим числами КВАРТИЛЬ( РАНГ( Квартиль списка чисел ) ) НАИМЕНЬШИЙ( ) НОРМАЛИЗАЦИЯ( Ранг числа в списке чисел n-oe меньшее значение в списке ) · Число, нормализованное средним значением и стан­ дартным отклонением УРЕЗСРЕДНЕЕ( ) Среднее списка с указанными проценrnыми точками , удаленными от концов распределения Функции аппроксимации крнаой ПРЕДСКАЗ() Экстреполирует значение с применением линейной ап­ РОСТ() Экстраполирует значение с применением ОТРЕЗОК() альной аппроксимации у-отрезок на линии линейной регрессии проксимации ЛИНЕЙН( ) экспоненци­ Параметры линейного приближения по методу наимень­ ших квадратов ЛГРФПРИБЛ( КВПИРСОН() ) Пареметры экспоненциальной аппроксимации кривой Точность аппроксимации ; значение ной регрессии Наклон пинии линейной регрессии НАКЛОН() СТОШХУ() r2 для линии линей­ Стандартную ошибку предсказанного значения у для ка­ ждого значения х в пинии линейной регрессии ТЕНДЕНЦИЯ( ) Список предсказанных значений из линейной аппрокси­ мации кривой
испо"зованuе Ексеl в научным ФункциR u uнженернык прu11оженwвс Возвращает Фу_н1ЩИи распределений БЕТАРАСП() БЕТАОБР() Интегральную функцию ruютности бета-вероятности Функцию, обратную интегральной функции плотности бета-вероятности БИНОМРАСП( Отдельное значение биноминального распределения ) Одностороннюю вероятность для хи-кsадрат (х 2 ) распре­ ХИ2РАСП() деления ХИ20БР() Обратную функцию к односторонней вероятности для ЭКСПРАСП() Экспоненциальное распределение FРАСП( хи-квадрат (х2) распределения )- F-распределение вероятности FРАСПОБР() ГАММАРАСП( Обратную функцию F-распределения вер0ятности Гамма-распределение Обратное гамма-распределение Натуральный ло гарифм гамма-функции ) ГАММАОБР() ГАММАНЛОГ( ) ГИПЕРГЕОМЕТ( ЛОГНОРМОБР( Гипергеометрическое распределение ) ) Обратную функцию логарифмического нормального рас­ пределения ЛОГНОРМРАСП() ОТРБИНОМРАСП( НОРМРАСП() НОРМОБР( Логарифмическое нормальное распределение ) " Отрицательное биноминальное распределение Нормальное кумулятивное респредеnение 9братная функция нормального кумулятивного распре­ ) деления НОРМСТРАСП( Стандартное нормальное кумулятивное распределение Обратная функция стандартного нормального кумулятив­ ) НОРМСТОБР() ного распределения ПУАССОН() Распределение Пуассона Асимметрию распределения , представленную числами в СКОС() списке СТЬЮДРАСП( ) СТЬЮДРАСПОБР( ВЕЙБУЛЛ() ) t-респределение Стьюдента Обретную функцию t-расnределения Стьюдента Распределение Вейбулла Функции проаерюr значимости хи-квадрат (х2) тест на независимость двух распределе­ ХИ2ТЕСТ() ний КРИТБИНОМ( ) Наименьwее зн.ачение, для котсрого кумулятивное би­ номинальное распределение ному критерию ФТЕСТ() ТТЕСТ() ZТЕСТ() меньwе или равно задан- ) F-тест для даух распределений t-тест Стьюдента для значимости коэффициента Двустороннее Р-значение z-теста Базоаая статистика Функции СРЗНАЧ(список чисел) и СЧЕТ(список чисел) оперируют спи­ сками значений и возвращают среднее значение и количество значений в списке чисел соответственно. Функции МИН (список чисел) и МАКС(список чисел) просто указывают место нахожnен.ия и возвращают минимальное
11:1 Гnава 1 · и максимальное значение в списке чисел. Ячейки, содержащие текстовые и логические значения, а также незаполненные ячейки игнорируются. Кроме среднего значения можно с помощью функции СРГЕОМ(сnисок чисел) вычислить среднее геометрическое списка, а с помощью функции СРГАРМ(сnисок чисел) - среднее гармоническое. Значение медианы рас­ пределения возвращается функцией МЕДИАНА(список чисел). · Фующш СТАНДОТКЛОН(список чисел) вычисляет стандартное опою­ нение по выборке в списке чисел. Это означает, что функция выдает наи­ более точный показатель стандарrnого отклонения в совокупности для конкретной выборки в списке чисел. Это значение вычисляется с при­ менением следующего уравнения: /N /I(x;- х)2 v i =I N- 1 где х является средним показателем n-нoro количества значений х.. Если список чисел представляет собой всю совокупность, а не выбор­ ку нз нее, следует воспользоваться функцией СТАНДОТКЛОНП. Это зна­ чение можно рассчитать следУЮwим уравнением: 1± (х, - i)2 / ~ N i"I Функция ДИСП(сnисок чисел) представляет собой квадрат стандарг­ ноrо отклонения. Таким образом, она оценивает дисперсию выборки конкретной совокупности. Чтобы получить значение дисперсии совокуп­ ности при условии , что список чисел равен всей совокупности, восполь­ зуйтесь функцией ДИСПР(сnисок чисел), которая является квадратным корнем значения стандарТНоrо отклонения совокупности. Сложные статистическиа функции Статистические функции Excel включают ряд более сложных функ­ ций, предназначенных для тестирования соотношения между списками чисел. Так, например, ф}'НЮ.U:{я КОРРЕЛ(сnисок1 ,сnисок2) вычисляет ко­ эффициент корреляции между двумя списками чисел, а функция КОВАР(список1,сnисок2) возвращает ковариацию, т.е. среднее попарных произведений отклонений. Некоторые из сложных статистических функций Excel работают с классифицированными списками значений. Например, функции НАИБОЛЬШИЙ( список чисел, k) и НАИМЕНЬШИЙ (список чисел, k) выби­ рают k-oe наибольшее и k-oe наименьшее значение в списке чисел соот-
Испоnьзованuе Енсеl в научным u uнженерныи npunoжeнWlи ветсrвенно. Функция ПРОЦЕНТРАНГ(список чисел,чисnQ,энач) возвращает процентное содержание нового значения в списке чисел. Функции аппроксимации криаой Excel обеспечивает два типа аппроксимации кривой: линейную и экс­ поненциальную. Функции ЛИНЕЙН(умассив,хмассив), ТЕНДЕНЦИЯ (умас­ сив, хмассив,хсписок) и ПРЕДСКАЗ(х,умассив,хмассив) вычисляют мето­ дом наименьших квадратов линейную аппроксиманту кривой для данных х и у в хмассивах и умассивах. Функция ЛИНЕЙН возвращает состоящий из двух элементов горизон­ тальный массив, содержащий угол наклона (m) и у-отрезок (Ь) прямой: y=mx + Ь. Функции ТЕНДЕНЦИЯ и ПРЕДСКАЗ возвращают значения у, полученные методом подставки значений х из хсписка (или из хмассива, если хсnисок -отсутствует) в приведенное выше уравнение прямой. Функ­ ция ТЕНДЕНЦИЯ возвращает массив значений у; ПРЕДСКАЗ возвращает ,только одно значение. В обеих этих функциях, если хмассив отсутствует, принимается, что он соответствует списку значений: 1, 2, 3... . Так же, как в других функциях, возвращающих массивы значений, для того, что­ бы поместить данную функцию в список итоговых ячеек, а не в одну ячейку, необходимо нажать и удерживать в нажатом состоянии .клавиши <Ctrf> и <Shift>. Экспоненциальная аnпроксиманта кривых вычисляется с помощью функций ЛГРФПРИБЛ(умассив,хмассив) и РОСТ(умассив,хмассив,хсписок). Эти функции действуют почти также, как функции линейной аппрокси­ мации кривой, за исключением того, что они вычисляют не линейную аnпроксиманту кривой, а экспоненциальную: y=bmx. Рост коэффициентов кривых вычисляется следующим образом: берет­ ся натуральный логарифм данных умассива, применяется функция ЛИНЕЙН, а затем берется экспоненциальный показатель итога коэффи­ циентов m и Ь: ЕХР(ЛИНЕЙН(LN(умассиа),умассив)) Данную формулу необходимо вставить в две ячейки как функцию массива. Она выдает такой .же итог, как функция РОСТ. Однако, если диапазон значений умассива велик (с отклонением ме­ жду наименьшим и наибольшим значениями), то аппроксиманта кривой будет иметь перекос. Меньшие значения будуr иметь больший вес (их аппроксимация более точна), чем большие. Причиной этому служит то, что аппроксимируется логарифм данных-)(, а не сами данные у. Метод наименьших квадратов минимизирует остаточную погрешность (разницу ме.жду данными и аппроксимантой кривой). В данном случае формула предельно уменьшает разницу логарифмов данных у , а не самих данных у. Поскольку логарифм является нелинейной функцией, остаточ­ ная погрешность будет больше у больших значений данных у. С другой стороны, относительная погрешность будет приблизительно постоянной величиной для всех значений данных у.
11~1 Гnава 1 Функции распределения и тестирования значимости Функции распределения Excel генерируют значения для наиболее распространенных видов распределения, которые применяются для тес­ тирования значимости значений, а также для прогнозирования срока службы или частоты повреждений какой-либо продукции. следующие типы квадрат распределений: распределения биномиальные. (ХИ2РАСП), Различают (БИНОМРАСП), F- распределения, хи­ гамма­ распределения (ГАММАРАСП), гипергеометрические (ГИПЕРГЕОМЕТ), нормальные (НОРМРАСП) , распределения Пуассона (ПУАССОН), Т­ ра<;пределения и распределения Вейбулла (ВЕЙБУЛЛ). Кроме функций распределения на распределениях хн-квадрат, F и Т также основываются функции для тестирования значимости. Тестирова­ ние , осуществляемое с помощью таких функций, позволяет проверять значимость значений, коэффициенты регрессий и зависимость либо не­ зависимость разных типов распределения значений. Функции дли работы с базами данных Вычисления функций , предназначенных для работы с базами данных, практически не отличаются от вычислений базовых статистических функций, одншсо первые применяются к значениям, отобранным из ка­ кой-либо базы данных на основе определенного критерия отбора. База денных представляет собой прямоугольную область ячеек в рабочем лис­ те. Каждая строка базы данных при этом является записью, а каждый столбец - В табл. полем . 1.11 перечислены функции Excel для работы с базами данНЫХ. Все они имеют три одинаковых аргумента: имя базы данных, имя по­ ля или номер столбца поля-; с которым производатся действия, и крите­ рий . Функциями, предназначенными для работы с базами данных, обраба­ тываются только те записи, которые соответсrвуют заданному критерию . Таб11мца 1.11. Функции Excel дm1 рабо1111 с базаМll AlftHWX Функция Возвращает ДСРЗНАЧ() Среднее значение епементов базы данных, соответст­ вующих заданному критерию БСЧЕТ() Количество записей в базе данных, соответствующих заданному критерию БСЧЕТА() Количество записей в ба~е данны)t, соответствующих заданному критерию и содержащих значения в полях, БИЗВЛЕЧЬ() исключая незаn011ненные ячейки Извлекает единичную запись, соотаетствующую за­ данному критерию ДМАКС() Максимальное значение заПисей, соответствующих критерию, заданному в поле ДМИН() Минимальное значение записей, критерию, заданному в поле соответствующих
Испо"зованuе Енсеl в наgqиын u IАtженериыи npunOlletlWIН iil Функция БДПРОИЗВЕД( Возвращает Перамнож:ает значения записей, соответствующих зв­ ) данному критерию ДСТАНД0Т1<ЛОН( ) Стандартное отклонение выборки значений залисей, соответствующих критерию, заданному в поле ДСТАНДОТКЛОНП() Сtвндартное откпонение генеральной совокупности значений записей, соответствующих критерию, задан­ ному в поле БДСУМ() Суммв значений записей, соответствующих критерию, заданному в поле БДЦИСП() Диспероия выборки значений записей , соответстаую­ щих критерию, заданному в поле Excel может обеспечить доступ не только к базам данных своих рабо­ чих листов, но и к внешним базам, что достигается с помощью специ­ ального средСтва JET, позволяющего запросить базы данных всех наибо­ лее распространенных форматов. Финансовые функции Финансовые функции очень удобны ДJIЯ отслеживания инвестирован­ ных сумм или вычисления стоимости пролонгирования кредитов. Под­ робное описание этих функций можно найти в любой хорощей книге, посвященной бухгалтерскому учету или теории менеджмента. Методы вычислений с их применением таюке описываются в специальной лите­ ратуре. Финансовые функции Excel перечисляются в табл. 1.12. ТабJ111ца Функция ОБщплдт() ОБШДОХОД() 1.12. Фмна11СОIW8 фунщм11 Excet Возвращает Общий процент, выплаченный между указанными на- чальным и конечным периодами · Общую основную выплату по займу, произведенную между указанными начальным и конечным периодами БЗ() БЗРАСПИС() Будущее значение вклада на основе периодических по-" стоянных платежей и постоянной процентной ставки Будущее знвчение основного капитале после начис­ ления сложных процентов ПЛПРОЦ() Платежи по процентам за данный период на основе периодических nосrоянных выплат и постоянной про­ центной ставки КПЕР() Общее количество периодов выплаты для данного вклада на основе периодических постоянных выплвт и ППЛАТ() постоянной процантной ставки Величину выплаты за один период годовой ренты нв основе периодических постоянных выплат и ной процентной ставки постоян­
ifl Гnава Функция 1 Возяращает ОСНПЛАТ() Величину/выплаты на данный период на основе пе· риодических постоянных выплат и центной ставки ПЗ() постоянной про· Текущий объем вклада Процентную ставку для полностью инвестированных процен1:ных бумвг НОРМА() Функции, саnанные с ннаестироuнием НАКОПДОХОД() Накопленный доход по ценным бумагам с периодиче· ской вьi'платой процентов АМОРУМ() Величину амортизации дnя каждого периода Величину амоJ)Тмзации для каждого периода (реэница АМОРУВ() между АМОРУВ и АМОРУМ указана в спревочной сие· теме Excel) НАКОПДОХОДПОГАШ( ) Накопленный процант по цанным бумагам, процент по " которым выплачивается в срок вступления в силу ДНЕЙКУПОНДО( ) Количество дней от начала действия купона до даты соглашения ДНЕЙКУПОН( ) Количество дней в периоде действия купона, содер­ ДНЕЙКУПОНПОСЛЕ( ) жащем дату соглашения Количество дней от даты соглащения до срока сле­ дующего купона ДАТАКУПОНПОСЛЕ( ) _ Следующую дату купона после даты соглашения ЧИСЛОКУПОН( Округленное до ближайшего цалого количеств.о куnо· нов, которые могут быть оплачены между датой со­ ) глашения и сроком вступления в силу ДАТАКУПОНДО( ) Предыдущую дату купона перед датой соглашения СКИДКА() Норму скидки дnя цанных бумаг ДЛИТ() Ежегодную продолжительность действия ценных бу· маг с периодическими выплатами по процентам ЭФФЕКТ( Действующие ежегодные процантные ставки, если за· ) даны номинальная годовая процентная стаека и коли· чество периодов, состааляющих год .ИНОРМА() Процантную ставку для полностью инвестированных цанных бумаг МДЛИТ() Модифицированную длительность Макалея для цен­ ных бумаг с предполагаемой нарицательной стоимо· стью 100 руб НОМИНАЛ() Номинальную годовую процентную стевку, вестна фактическая ставка и если из· количество периодов, составляющих год ЦЕНАПЕРВНЕРЕГ( ) Цену за 100 руб, нарицательной стоимости ценных бумаг для нерегулярного (короткого или длинного) первого периода ДОХОДПЕРВНЕРЕГ( ) Доход по цанным бумагам с нерегулярным (коротким ЦЕНАПОСЛНЕРЕГ( или длинным) первым периодом Цену за 100 руб. нарицательной ) стоимости ценных бумаг для нерегулярного (короткого или длинного) ДОХОДПОСЛНЕРЕГ( ) последнего периода купона Доход по ценным бумвгам с нерагулярным (коротким или длинным) последним периодом
Исnо"зованuе Ексеl в наgчныи u uнженерныи прunmкенuяи Функция Возвращает ЦЕНА() Цену за ЦЕНАСКИДКА( бумаг для казначейского чека Цену за 100 руб. нарицательной стоимости ценных ЦЕНАПОГАШ( ) 100 руб. нарицательной стоимости ценных бумаг, на которые сделана скидка Цену за 100 руб. нарицательной стоимости ценных бумаг, по которым доюд выnлачиваете11 в срок вступ­ ) ления в силу ПОЛУЧЕНО() Сумму, полученную в срок вступления в силу полно­ РАВНОЧЕК() • Эквивалентный облигации доход по казначейскому стью обеспеченных ценных бумаг чеку Цену за ЦЕНАЧЕК() 100 руб. нарицательной стоимости дт1 казна­ чейского чека ДОХОДЧЕК() ДQ~<од по казначейскому чеку ДОХОД() Доход от цанных бумаг, состааляющий периодические процентные выплаты ДОХОДСКИДКА( ) Годовой доход по ценным бумагам, на которые оде­ лана скидка ДОХОДПОГАШ() Годовой доход от цанных бумаг, который составляет доход в срок вступления в силу Функции ДЛR начислен,,,. аморти311ции ДОБ() величину амортизации имущества на заданный пери­ од, используя метод постоянного учета амортизации ДЦОБ() Величину амортизации имущества для указанного пе­ риода, используя метод двукраmого учета амортиза­ ции или иной явно указанный метод Величину непосредственной амортизации имущества АМР() за один период АМГД() Годовую амортизацию для указанного периода Вели~ину амортизации имущества за данный период, ПДОБ() включая конкретные периоды, используя метод двой­ ного процента со снижающегося остатка или иной яв­ но указанный метод Другие функции, сп3llнные с дело...,ми операЦJtвМи РУБЛЬ.ДЕС( Преобразует цену в рублях, вы~нную в виде дро­ ) би, в цену в рублях, выраженную дасятичным числом РУБЛЬ.ДРОБЬ( ВНДОХ() ) Преобразует цану в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби Внутреннюю скорость оборота для ряда последова­ тельных операций с наличными, предстааленными чи­ словыми значениями Модифицированную МВСД() средств для ряда внутреннюю скорость последовательных оборота периодических операций с наличными НПЗ( Чистый текущий объем вклада, вычисляемый на осно­ ) ве ряде последовательных поступлений наличных и нормы амортизации ЧИСТВНДОХ( ) Внутреннюю ставку обороте для рвсписаиия денежных поступлений
iil г11ава 1 Функция Возв'ращавт ЧИСТНЗ() Чистую текущую стоимость инвестиции, вычисляемую на основе периодических nостуnлений наличных Функции информационной катеrории Функции информационной категории можно использовать в сово­ купности с логическими функциями с целью исследования содержания ячейки, проверки ее типа или определения места нахождения ячейки или ссылок на нее. Функции информационной категории втабл. t . 13. Табпица Excel перечислены 1.13. Фун1Щ11111111формацмон1Оi uтerop1111 Excel Функциg ВозвращвеУ ЯЧЕИКА() Информацию о содержании, форматирован.ии или месте расположения ячейки ТИП.ОШИБКИ(} Номер, соответствующий типу ошибочного значения данной ошибки ИНФОРМ() Информацию об операционной среде Е:ПУСТО() Логическое значение ИСТИНА, если аргумент яаляется ссылкой на незаполненную ячейку Логическое значение ИСТИНА, если аргумент является лю­ Е:ОШ() Е:ОШИБКА() Е:ЧЕТН( бым из ошибочных значений Excel, за исключением #Н/Д! Логическое значение ИСТИНА, если аргумент является лю­ бым из ошибочных значений Excel (#Н/Д!, #ДЕЛ/О!, #ЗНАЧ!, #ИМЯ!, #ПУСТО!, #ССЫЛКА! Или #ЧИСЛО!) Логическое значение ИСТИНА, если аргумент яаляетсЯ чет­ ) ным числом Логическое значение ИСТИНА; если аргумент является ло­ ЕЛОГИЧ() ги..,еским значением Е:НД( Логическое значение ИСТИНА, если аргумент является оши­ ) бочным значением #Н/Д! ЕНЕrЕКСТ() Лоrичесtсое значение ИСТИНА, если аргумент не является ЕЧИСЛО() Логическое значение ИСТИНА, если аргумент является чис­ текстовой строкой лом Е:НЕЧЕТ() Логическое значение ИСТИНА, если аргумент яаляется не­ четным числом Е:ССЫЛКА( ЕТЕКСТ( } } Логическое значение ссылкой на ячейку ИСТИНА, если арrумент является Логическое значение ИСТИНА, если аргумент яаляется · текстовой строкой Ч() Значения, преобразованные в числа НД() Ошибочное значение #Н/Д! ТИП() Информацию о типе числа, хранящеrося в значении Функции, помеченные звеадочкой (*),входят в надстройку Пакет анапиаа .
u Испоnьзованuе Енсеl в научнын uнженернын пpunoжeнwuc ФунЮJ,ИЯ ТИП(значение) возвращает тип значения: 1 - для числа, 2 дЛЯ текста, 4 - для логического значения, 16 - для ошибочного значе­ ния и 64 - для масси~. Вы можете воспользоваться функцией ТИП для того, чтобы перед выполнением операций со значениями удостовериться в том, что они нужного вам типа. Другие функции логического ЕОШИБКА и так далее - значений типа. конкретного тестирования - ЕПУСТО, ЕОШ, применяются для тестирования содержания Они возвращают логическое значение ИСТИНА, если данное значение соответствует указанному типу, и ЛОЖЬ - если не соответствует. Функции категории Ссылки/массиаы Функции категории Ссылки/массивы позволяют управлять областями рабочего листа или исследовать их. Эти функции перечислены в табл. 1.14. Табnмца Функция 1.14. Функции Excel катеrор1111 CcwnajМacc118111 Возвращает Функции просмотре по табпице и по направлению Отбирает значение из набора значений, основываясь на з.на-' ВЫБОР() _, чении индекса Осуществляет поиск значения в горизонтальном массиве ГПР(} Отбирает значение из указанной строки, столбца или области Определяет место расположения значения в массиве ИНДЕКС() П?ОСМОТР( ) ПОИСКПОЗ() Определяет место расположения значения в одномерном массиве ТРАНСП() Массив, транспонированный а матрицу ВПР() Осуществляет поиск значения в вертикальном массиве АДРЕС() Ссылку в виде текста на ячейку, расположенную на пересече­ ОБЛАСТИ() Количество областей в ссылке на ячейку Номер столбца. на который указывает ссылка, rю одному на каждый столбец в ссылке Функции характеристики ссыпок нии указанных строки и столбца СТОЛБЕЦ() ЧИСЛСТОЛБ( ДВССЫЛ( СМЕЩ( ) СТРОКА( ) ) ЧСТРОК() ) Количество столбцов в массиве Содержание ссылки на ссылку Ссылку, смещенную относительно указанной ссылки Номер строки, на которую указывает ссылка, по одному на каждый столбец в ссылке Количество строк в ссылке Функции просмотра по таблице и направлению Функция ВЫБОР(индекс,эначение1 ,значение2" .. ) использует значение индекс для того, чтобы значение2, .... При индексе выбрать значение из списка эначение1. 1 возвращается значение1, при индексе 2 -
111 Гnава 1 значение2 и так далее. При индексе менее 1 или более количества значе­ ний, функция возвращает #ЗНАЧ!. Функциями просмотра по таблице являются ГПР, ВПР и ПРОСМОТР. Пользуйтееь ими для поиска табличной функции или таблиц данных конкретных значений. Если nросмотр_диаnазона является ИСТИНОЙ или отсуrствует, функции mР(значение,массив,указатель,просмотр_диаnазона) и ВПР(значенИе,массив,указатель,nросмотр_диаnазона) ищуr первую строку или столбец в массиве для наибольшего значения, которое мень­ ше или равно значению. Послt этого они перемещают эту строки или столбец вниз на количество ячеек, равное индексу, и возвращают значе- " ние в этой ячейке. Значение может быть численным значением, тексто­ вой строкой или логическим значением. ГПР просматривает слев~ напра­ во , поэтому значения в первом ряду массива должны быть расположены в порядке возрастания . ВПР осуществляет поиск сверху вниз, и значения в первом столбце массива должны располагаться в столбце сверху вниз по возрастающей. В порядке возрастания первыми будут идти числа, затем текст, затем логические значения ЛОЖЬ, а затем - логические значения ИСТИНА Если nросмотр_диаnазона является Ложью, значения могут рщ::­ полагаться в любом порядке, и эти функции возвращают значение, толь­ ко если находят точное соответствие, а во всех остальных случаях они возвращают #Н/Д. Если просм0тр_диаnазона является. истиной или отсуrствует, функция ПРОСМОТР(значение,вектор1 ,вектор2,nросмотр_диаnазона) просматривает вектор1 с целью нахождения наибольшего значения, которое бъшо бы меньше или равно значению, и возвращает соответствующее значение из вектора2. Также как в ГПР и ВПР, значения в векторе1 должны распола­ гаться в порядке возрастания, если только nросмотр_диаnазона не явля­ ется Ложью; в этом случае значения могут быть расположены в любом порядке, и ПРОСМОТР возвращает значение #Н/Д. С целью обеспечения совместимости Excel с Microsoft Multiplan в -лу группу также включена дополнительная версия функции ПРОСМОТР. Эта функция ПРОСМОТР(значение, массив) проематривает первую строку или столбец массива с целью нахождения наибольшего значения , кото­ рое было бы меньше или равно значению, и возвращает соответствующее значение в последней строке или столбце массива. Поиск осуществляет­ ся с более длинной стороны массива. Если в массиве больше столбцов, чем строк, то просматриваться будет его первая строка. Если в массив имеет квадратную ф0рму, поиск осуществляется вдоль первого столбца. Функция ПОИСКПОЗ(значение,вектор,тиn) очень похожа на функцию ПОИСК, за исключением того, что она возвращает индекс найденного значения . Аргумент тмп указывает, каким образом значение сравнивается со значением в векторе с целью определения их соответствия. При типе 1 опрсщеляется место нахождения наибольшего значения, меньшего или равного значению; а при типе О - значения, равного значению. Помечай­ те текстовую строку, содержащую конкретную подстроку, с помощью
Испоnьзованuе Еисеl в научным подстановочных знаков х и ?. u uнженерныи npunoиceнwuc Функция определяет соответствия только в первый раз, когда оно встречается в строке или подстроке. Одной из наиболее полезных функций просмотра является ИНДЕКС(ссыл,строка,столбец}, возвращающая значение на пересечении строки и столбца ссылки. Пользуйтесь этой функцией для отбора значе­ ний в массиве в соответствии с индексами строки и столбца. Если аргу­ мент ссыл. содержит несколько областей, добавьте четвертый аргумент область, который применяется для определения, какая именно область ссылки должна быть использована. Если ссыл. представляет собой про­ стой вектор, понадобится только один индекс. Все индексы имеют одно основание, поэтому первая строка имеет номер 1, вторая - номер 2 и так далее. Если строка или столбец, на которые сделан запрос, отрицательные, функция возвращает #ЗНАЧ!. Если номер запрошенной строки или столб­ ца слишком велик, ИНДЕКС возвращает ошибочное значение #Н/Д! . Функции характаристики ссылок Функция ОБЛАСТИ(ссыл) возвращает количество областей в ссыл. Областью называется единая прямоугольная зона рабочего листа. Функции СТОЛБЕЦ(ссыл), ЧИСЛСТОЛБ(массив), СТРОКА(ссыл} и ЧСТРОК(массив) возвращают информацию о строках и .столбцах в ссылке на ячейку. СТОЛБЕЦ возвращает вектор, содержащий ссылки на каждый столбец в ссыл. СТРОКА возвращает вектор, сод~ржащий ссылки на каж­ дую строку в ссыл. ЧИСЛСТОЛБ и ЧСТРОК возвращают количество столбцов и строк в массиве. Функции Visual Basic for Applications Язык програМмирования Visual Basic for Applications встроен в про­ грамму Excel. С его помощью можно разработать практически любую чи­ словую функцию и сделать ее дос1)'Пной для ячейки в рабочем листе Excel. Visual Basic for Applications обсуждается в главе 4. Надстроечные функции и инструменты Обратите внимание на то, что в последней версии личество инструментов доС1)'Пно в .качестве Excel надстроек, большее ко­ которые перед применением должны быть подключены к программе. Чтобы это сделать воспользуйтесь командой Сервис~ Надстройки, в результате чего на эк­ ране появится диалоговое окно Надстройки, изображенное нюке. Устано­ вите флажок нужного вам файла надстройки и выбериrе ОК. После под­ ключения файлов надстройки вы сможете пользоваться подключаемыми функциями и инструментами. Наибольший интерес Д11Я ученых и инже­ неров представляет надстройка Пакет анализа, в который входят все ин­ женерные функции плюс некоторые функции из других таблиц, вклю­ ченных в Пакет, и который добавляет к Excel ряд дополнительных стати­ стических функций (табл. 1.15).
41:1 Гnава 1 Внешние функции Кроме внутрен них фун кций и функций , закодированных в макролис­ тах, Excel может обеспечивать доступ к подпрограмм ам , хранящим ся во внешних библиотеках динамической компоновки , или динамически свя ­ зываемых библиотеках ( Dупашiс Li11k Libraries - DLL). Она также спо­ собна с помощью методов динамического обмена данными (Dy нamic Data Ex chaпge - DDE), Visual Basic for Applicatioпs и связывания и вне ­ (Object Li11ld11g апd E mbeddiпg - OLE) передавать значе­ дрения объектов ния и з п рограмм в програм мы . П рименяя эти возмож н ости , вы м ожете созда вать допол нительные функции в других программах и после этого получать доступ к ним из Табnица 1. 15. Excel. Программы-надстройки, входящие а Пакет анализа Excel Программа Описание Однофакторны й дисперси онн ы й Двухфа кторн ый дисп ерс ионн ы й В ыполня ет однофакто рны й дисперсион­ н ы й анализ В ыполняет двухфакторны й ди сперс ион ­ а нализ с по вторе н ием ный анал из с повторением анализ Двухфа кторный дисперсионный Вы полня ет двухфакторный дисперсион ­ ан ализ без повторения нь1 й анализ без повтор ен ия Корреляция Вычисляет коэффициенты корреляции Вычисляет ко ва риацию Генери рует статистически е дан ные по Ко вариация Описател ьная статистика выборке Экспон енци альное сглаживан и е Осуществляет прогнози рование с пр име­ Двухвыборочны й F-тест для дис­ нен ием анаЛиза оши бо к Проводит двухвыборочный F-тест перс ии Ан ал из Фурье Гистограмма С кол ьзя щее среднее Генерация случайн ых чисел Анализ трансфор мант Фурье Вычисля ет данные для гистограм м Вычисляет скользя щее среднее выборки Генерирует случайные числа по выбран­ ным распределен иям Ран г и nерсентил ь Создает класс ифи кацион ную таблицу н а­ боров данных
Испоnьзованuе Енсеl в научнын u uнженернын npunoжeнWJн Программа Описание Регрессия Оп ределяет множественн ую ли ней ную ре грессию Выборка Произ водит выборку данных Парный двухвыборочный t·тест для средних Проводит двухвы борочный t -тест Стьюдента для средних Двухвыборочный t-тест с одинако - Проводит двухвыборочный t-тест Стьювой дисперсией двнта для одинаковых дисперс ий Двухвыборочный t-тест с различ- Проводит двухвь1 бороч ный t- тест Стью- ными дисперсиями дента для различных дисп ерсий Двухвыбороч ный Z- тест для сред- · них Проводит двухвыбо рочны й Z -тест для средних и из ве стных перемен ных Для того , чтобы воспользоваться внешней функцией, объявите ее в модуле Visual Basic for Applications или восп ользуйтесь функцией ЗАПРОС(файл ,функция ,ти п ,арг), где файл - имя файла DLL, функция название функции в файле чения , а эрг. - DLL, тип - тип данных возвращаемого зна­ аргументы , которые должны быть переданы функции . -.__ Примечание В Macintosh для получения доступа к внешней функции надо получить доступ к содержимому ресурса CODE. Чтобы сделать запрос и воспользоваться внешней функцией , следует знать , как эта функция работает. В сущности , необходимо протестиро­ вать значения , которые вы собираетесь передавать , чтобы убедиться в том , что они правильные и соответствующего типа. При использовании некорректных аргументов программа может зависнуть во внешней биб­ лиотеке и испортить всю вашу систему . Преимуществом внешних функ­ ций является то , что они работают намного быстрее функций , внедрен ­ ных с помощью Visual Basic for Applications. Solver Программа Solver представляет собой инструм ент для нахождения то­ чек экстремум~ функций с применением метода п оследовательного спус­ ка. Будьте внимательны при составлении формул - и сможете восп оль­ зоваться этой программой для решения уравне ний . Резюме В этой главе мы кратко обсудили возможности п рименения Excel в качестве вычислительного средства для решения н аучных и инженерных задач. Как вы могли убедиться , Excel очень хорошо оснащена п.ля ис­ пользования этой программы с целью выполнения вычислений в области науки , техники , математики и статистики . Численная точность и диала-
iфi Гnава 1 зон этой программы сравнимы с показателями других вычислительных средств, применяемых ш~я научных и инженерных расчетов. Кроме чисто вычислительных возможностей любая программа, пред­ назначенная ШIЯ выполнения научных ц технических вычислений должна преш~агать пользователям минимальный набор встроенных функций , по­ зволяющих ускорять процесс этих вычислений. Ехсе1 обладает всеми стандартными матемаrnческими функциями, доступными в компьютер­ ных языках высокого уровня, плюс ряд дополнительных функций, кото­ рые обычно можно найти только в библиотеках дорогостоящих инже­ нерных подпрограмм. Более подробную информацию о функциях Excel и их аргументах мо:жно получить в электронной справочной системе Exc~l. :-.j Совет Если вы не уверены в том, как рвботавт функция, поэкспериментируйте с ней в рвбочем листе: попробуйте nодстввить в качестве врrументов рвз­ ные знвчения и посмотреть, каковы будут результвты. А еще лучше де­ лвть зто двже в том случве, если вы вбсолютно уверены в том, что знае­ те, квк рвбответ функция, поскольку в любой документвции могут быть ошибки . Квк в любом нвучном или техническом исследоввнии, окончв­ тельным доказательством в двнном случве является эксперимент. Дополнительная литература Матаматнческие формулы S.M. Selby, CRC Standard Math 1970). ТаЫеs, (Cleveland, ОН: Chemical Rub- Ьer Со., Статистичаскиа формулы С. Lipson and N.J. Sheth, Statistica1 Desigп and Ana1ysis of Engineering Experiments (New York: McGraw-HЦl, 1973). R.M. Вethea, B.S. Duran, and T.L. Вoullion, Statistica1 Methods for Sci· entists and Engineers (New York: Marcel Dekker, 1975). Обзорнь.е задачи 1. Ячейка G5, содержащая ссылку на ячейку Н2, копируется в ячейку J7. а. Каким образом будет откорректирована эта ссылка при копирова­ Ь. нии ячейки G5 в другую ячейку? Как должна быть написана ссылка на ячейку Н2, чтобы в результа­ с. те ее копирования она никак не изменялась? Как nолжна быть написана ссылка на ячейку Н2 , чтобы корректи­ ровался только номер строки, а номер стол бuа оставался неизмен­ ным?
Испоnьзованuе Ексеl в научнын u uнженернын прunоженuян Как должна быть написана ссылка на ячейку Н2, чтобы корректи­ ровался только номер столбца, но не строки? е. Как изменяется ссылка на ячейку при перемещении, а не при ко­ пировании содержимого ячейки? С какого символа должна начинаться формула? Если ячейка G5 содержит формулу со ссылкой на ячейку Н2, и. вы копируете ее в ячейку 825, на какую я<Iейку будет указывать данная ссылка? На какие ячейки делается ссылка при указании ди'апазона 84:С8? d. 2. 3. 4. S. При А1=Истина и 81=Ложь, каковы будуг итоги следующих формул: = И(ИЛИ(И(А1,А1),А1)81), = ИЛИ(И(А1,А1),И( А181))? 6. Напишите строчную формулу, объединяющую строки "Меня зовут" и "Билл". 7. 8. 9. Напишите формулу, вычисляющую общий логарифм (основание значения в ячейке А7. Напишите формулу, вычисляющую секанс угла 1О 10) градусов. Напишите две разные формулы, чтобы обе они добавляли содержание ячеек 81, 82, 83, 84 и 85. условии, что ячейка А1 содержит строку 10. При "Excel для ученых и инженеров": а. ь·. Напишите формулу, извлекающую из ячей1<И А1 строку "Excel". Напишите формулу, извлекающую из ячейки А1 строку "для ин­ женеров" с. Напишите формулу, извлекающую из ячейки А1 строку "ученых" d. Напишите формулу, заменяющую строку "ученых" строкой "собак", а строку "для инженеров" - "для лошадей". Упражнения 1. В ячейке R34 содержится =P34*3+$R$7*N34 а. Как изменится эта формула, если скопировать данную ячейку в ячейку Ь. F40? Как изменится эта формула, если данная ячейка буnет вырезана и вставлена в ячейку 2. формула: F40? В ячейке DЗ содержится формула: =4*$СЗ+З*8$2 а. Ь. Какая формула будет в каждой из ячеек диапазона данная ячейка будет скопирована в эти ячейки? D4:D6, если Какая формула будет в каждой из этих ячеек, если скопировать данную ячейку в ячейки ЕЗ:GЗ,? с. Какая формула будет находиться в .э.той ячейке, если скопировать данную ячейку в ячейку Gб,?
rnaвa ifj 3. 4. 5. 6. 1 Если у меня в ячейке ВЗ содержится формула, и я намерен скопировать ее в ячейки ·В4:В15, как зто можно сделать~ помощью мыши? Напишите формулу Excel для вычисления тангенса 37 rрадусов. Напишите формулу Excel для вычисления арксеканса 8,5 радиан. Ячейки А1:А4 имеют следующее содержание: А1: "Excel"; А2.: "для" ; АЗ: "ученых"; А4: "инженеров". Напишите формулу ячейки , находящую численное значение названия этой книги, используя для этого значения в ячейках А1 :А4. 7. Напишите формулу для вычисления стандартного отклонения для диапазона незаполненных ячеек. Проиmорируйте незаполненные ячейки. Сравните полученный результат с итогом, вычисленным с применением функции СТОТКЛОН( ). 8. Опишите два способа присвоения имен единичным ячейкам. Опиши­ те, каким образом присваивается имя всем ячейкам в rруппе, если имена для ячеек расположены слева от них. 9. Напишите формулу для следующего уравнения: дх2+ву2 Напишите формулу таким образом, чтобы ее можно было скопиро­ вать в прямоугольную область, расположив значения х в верхней строке этого прямоуrоm>ника, значения у - сверху вниз в его левом :крайнем столбuе, а два коэффициента А и В - в двух ячейках вне этого прямоугольника. Напишите формул'у таким образо~. чтобы ее можно было скопировать в любое место в данной прямоугольной об­ ласти, и чrобы она всегда ссылалась иа правильные .яЧейки, составляющих таблицу значений х и у адоль rраниu. _ 10. Что происходит при вводе данных в формулу в виде строки? Напри­ мер, каков будет результата следующей формулы: =· 111195"+5 ? Каков будет результат, если ячейка, содержащая данную формулу, бу­ дет отформатирована как дата?
Гпава 2 Июкенерные расчеты В этой таве... ./ Э.11ементь1 уnраВ11ениt1 Excel ./ Однокротный расчет ./ ./ Вычиспенме сnиско зночений ./ Вычиспение та611иц с помощью nодсrановки ./ Вычисление функций Вычисление та611иц с копируемыми форму11ами Первая глава была посвящена описанию потенциальных возможно­ стей Excel, делающих программу незаурядным средством для инженер­ ных расчетов. В этой главе вы познакомитесь с реализацией этих воз­ можностей. Начав с вычисления простых аналитических выражений, мы перейдем затем к более сложным инженерным таблицам. С каждым примером арсенал методов моделирования будет расширяться , позволяя полнее использовать мощные средства Excel. Инженерам и ученым часто приходится вычислять аналитические вы­ ражения, подставляя в них числа. Справиться с этой задачей нетрудно, дQстаточно воспользоваться обычным .калькулятором. Вряд ли стоит приобретать дорогую программу обработки элеюронных таблиц, чтобы время от времени вычислять значение юiкого-нибудь выражения. Обыч­ но в таких случаях не успевает компьютер загрузиться, а карманный калькулятор уже выдает результат. Однако если нужно подставить в одну и ту же формулу много различных наборов параметров, а полученные ре­ зультаты занести в rаблицу, идея использовать .калькулятор выглядит не столь привлекательной. Напротив, элеюронные таблицы предназначены специально для этих целей и выполняют подобные задачи быстрее, про­ ще и точнее. Элементы управления Excel Чтобы начать новый расчет, откройте чистый лист в новой рабочей • книге. Запустите Excel или, если это уже сделано, закройте текущую рабочую книгу с помощью команды Фвйл Звкрытъ или кноп­ ки закрытия окна , расположенной в верхнем правом углу окна рабочей книги. Если последнее развернуто на весь экран, кнопка закрытия рас­ положена в правом конuе строки меню (пользователям Macintosh следует >-
iфl Гnава 2 воспользоваться стандартной кнопкой закрыти я окн а). Если в рабо чей книге содержится тюлезная информация , сначала сох раните ее с помо­ щью команды Файл >- Сохранить , и только потом закр ойте соответст­ вующее окно. Чтобы открыть новую рабочую книгу, воспользуйтесь ко­ мандой Файл ОК ( ри с . >- Создать , выберите элемент Книга и щелкните на кнопке 2.1). Лист рабоч ей книги Строка формул . Кнопка закрытия окна Стро ка имен Ст рока меню Кноп ка восстановлени я размеров окн а Пиктограмм а системного мен ю Кнопка минимизации окна Ярлычки л истов Строка состояния Рис . 2.1. Чистый лист Excel В верхн ей части экрана поп строкой загол овка расположена панель м е ню, а еще ниже панели - панель инструм ентов Стандартн ая_. Каждая кнопка инструментов соответствует команде мен ю ил и одн ого из диало­ говы х о кон . С помощью кн оп ок панели ин струментов Стандартная ( рис. 2.2) можно открывать и закрывать рабочие книги, вырезать , копировать и вставлять объекты , отменять вы п олненные пействия . выпол нять проце-
•&i Инженерные расчеты дуры настройки и изменЯть масштаб отображения текущей книги. Чтобы узн ать о назначении конкретного и нструмента, поместите на него указа­ тель мыши . На экране появится краткое описание соответствующей функции. Более подробная информация выводится в строке состояния, распол оженной вдоль нижиеrо края окна Excel (над панелью задач Windows 95). Чтобы выполнить команду, достаточно щелкнуть на соответст­ вующей кн опке панели инструментов. Под панелью инструментов Стандартная расположена панель инструментов Форматирован ие. С по­ м о щь ю ее кнопок можно н астраивать параметр ы отображения текста и чисел . "' :s: ~ о :::i; о с: П анель и нструментов Стандартная (1) а. ~ ф ::r ilf~{f:,=:: :J[~]J;-fi-'f~ ~~bM·~~ l,lew!'pel Па нел ь инструментов Форматирование Рнс. 2.2. Встроенные па нел и инструментов Excel 97
•at Гnава 2 Рабочие книги и рабочие листы Пользователи ранних версий ExceJ, наверное , уже обратили внимание н а п еренос ос н овного акцента с рабочих листов на рабочие к н иги. В вер ­ сиях , предшествующих Excel 5, основным объектом считался рабоч и й л ист, которому соответствовал отдельный файл. П ри желании можно бы­ ло создать р <tбочую книгу и встав ить в нее листы . Н ачиная с версии 5 на передний пл ан выдв игается рабочая книга. Рабочая :кн ига , создаваемая по умолчанию , состоит из 3 листов. Чтобы открыть лист, необходимо щелКнуть на его я рл ыке в нижней части окна. Все листы рабочей юrиги со храняются в одном файле. В сего в ( ри с . 2.3). Excel насчитывается встроенных панели инструментов 22 В основном они со ответствуют определенным ти пам листов и поя вляются на экране только когда активен лист данного типа" Напри ­ мер , панель и нструме нтов Visual Basic по умолчанию отображается в том случае, если активизируется лист м одуля. Однако с помощью команды > Вид Панели инструментов можно открыть любую панель в люб ой мо­ мент . Кроме того, можно создавать дополнительные панели инструмен­ тов с кноп кам и , соответствующими новым , написанным на макроязыке M1r1osoft Рис. как стандартным t- «"4 к,... d1 2.3. В строенн ые командам , Yisual Basic fo r Applicatio11. l!lr.JD па нел и и нстру ме нтов Excel так и
lifl. Инжен ерные расчеты Под панелями инструментов располагается стр ока форм ул (рис . 2. 1), в которой выводится содержимое выдел енной в настоящий момент (ак­ тивной) ячейки . В этой строке можно вводить и редактировать числа и формулы. Все, что содержится в строке формул, вставляется в активную я чейку листа. М При редактировании ~ыражений в левой части строки формул ~ появляются три кнопки . С помощью кнопки с крестиком можно г:;л отменить внесенные измене!"1ия и вернугься к первоначальному L!iJ варианту ~ " птичкой", то внесенные изменения будут учтены, и содержимое строки содержимого ячеики . формул перепишется результату приводит нажатие Если щелкнуть в активную кл авиши ячейку. <Enter>. на киопке К с такому же Третья кнопка запускает мастер функций , в окне которого выводится список имеюuiих­ ся функций и их аргументы . Если щелкнуть на кнопке ОК, выбранная функция будет вставлена в формулу. В начале строки формул расположено поле Имя . В нем выбирается им я текуше го выделенного фрагмента, а если таковой отсутствует - но­ мер активной ячейки. Чтобы ввести в этом поле имя выделенного фраг­ ме нта, выделите одну или несколько ячеек, введите их название в поле Имя и нажмите клавишу <Enter>. 41) Внимание Если после ввода информации в поле Имя не нажать <Enter>, а щелкнуть !:!З_дf?.l'ГО~ ячейк~,_ то ~~я .ОУ[J.е_т ~О!~РЯН_О . ... / .!.Эк<?,!1Р~~~:.~ето_д . Чтобы перейти к именованной ячейке или группе ячеек, выберите нужное . имя из раскрывающего~я списка в поле имен . Ячейки с этим именем сра­ зу _~~~делят~я . .. Решение простого аналитического уравнения от З ависимость теплопроводности кремния от температуры в интервале до 700 К описывается следующей формулой: 200 К(Т) = Ко (Т- Т0 ) , где ~=350 Вт/см, а Т0 =68 К . Эта формула достаточно проста для карманного калькулятора , однако многократные расчеты для разных температур потребовали бы много в ре мени и вызвали бы ошибки. На этом примере мы рассмотрим раз­ л ичные методы вычи сления аналитических выражений в Ехсе! .
iфl Гnава 2 Однократный расчет Вначале вычислим одно значение теплопроводности при комнатной температуре. Для этого выполните следующие операции. 1. 2. Откройте чистый лист. С помощью мыши или клавиш управления курсором сделайте актив­ ной ячейку 85. 3. Введите в строке формул следуюшес выражение: =350/(300-68) - .. \=З50!~) . . - 4. Нажмите клавишу <Enter>. В ячейке 85 сразу появится число 1,508621 - теплопроводность кремния при комнатной температуре . Можете проверить результат с по­ мощью калькулятора (ил и логарифмической линейки , если она у вас есть) . Использование в формулах ссылок на другие ячейки В· формулу теплопроводности можно подставить и другие значения температуры . Для этого нужно вЬlделитъ ячейку 85, изменить значение температуры в строке формул и нажать клавишу <Enter>. Excel вычислит формулу Ш1Я нового значения аргумента. Этот метод расчета может пока­ заться несколько громоздким . Чтобы упростить подстановку, переместите значение температуры из формулы в смежную ячейку , а в формулу вставьте ссылку на эту ячейку: ·./Совет Если не нажимать клавишу <Enter>, а щелкнуть в строке формул на кноп­ ке с ~птичкой•, ячейка, расположенная под текущей, не станет активной . 1. Вьщелите ячейку 85.
lфl Инженерные расчеты 2. Замените в формул е число 300 на ссылку А5. Формула в ячейке 85 должна принять следующий вид: =350/{А5-68) 3. 4. Выделите ячейку Введите число AS. 300 и нажмите клавишу <Enter> . Экспресс-метод • Чтобы быстро вставить в ячейку ней число 85 ссылку на параметр 300, выделите в 300 и щелкните на ячейке AS. В формулу будет вставлена ссылка на ячейкv А5. В ячейке 85 по- прежнему содержится число 1,508621. Однако теперь можно легко подставить другое значение температуры. Стоит ввести нужную величину в ячейку А5 , и она тут же заносится в формулу. Ис­ пользовать ссьшки на ячейки гораздо удобнее, чем редактировать форму­ лу каждый раз , когда нужно изменить значение арrумента. Такой тип формул является основным при построении в Excel инженерных таблиц. Вычисление списка значений Допустим , что необходимо рассчитать значение теплопроводности для ряда температур. Можно последовательно вводить значения температуры в ячейку А5 и записывать результаты каждого вычисления , однако на то и существуют электронные таблицы, чтобы обрабатывать списки данных. Давайте рассчитаем с помощью Excel теплопроводность кремния в интервале от 200 до 700 К с шаrом 50 градусов. Вначале необходимо соз­ дать список значений температуры, которые будуr подставляться в фор­ мулу. Для этоrо выполните следующие операции . I. 2. 3. Выделите ячейку А5 . Введите •rисло 200 и нажмите клавишу <Enter>. Выделите ячейку Аб, введите число 250 и снова нажмите <Enter>. Чтобы не вводить остальные значения , заполните нижележашие ячей ­ ки нужными величинами с помощью маркера заполнения (черный квад­ ратик в нижнем правом углу актИвной области) . 4. Выделите ячейку А5. Нажмите комбинацию клавиш <Shift+..l.>.
·~· 5. Выделите маркер запол нения и перетащите его вниз до ячейки А 15. П устые ячейки зап олнятся числами , каждое из которых будет больше п редыдущего на велич ину разности значений в яче йках А5 и А6 . Таким образом , в выделенн ом диапазоне образуется последовательность <tисел от 200 до 700 с шагом 50. Скопи руйте формулу и з ячейки 85 в ячейки , смежные с теми , в кот орых содержатся значе ния тем пе ратуры. 6. Выделите ячейку В5 и п еретащите м аркер заполнения вниз до ячейки 815. Формула и з· ячейки 85:815, этом 85 будет скопирована во все ячейю1 диапазона посл е чего будут выполнен ы соответствующие вычисления . При и спользованная отн осительная ссылка в каждом случае и зменится
"' Инженерные расчеты таким образом , чтобы указывать н а ячейку, прилегающую сл ева к той, что содержит формулу. Выделение коэффициентов П редположим , ч:то нужно проверить, как повлияет на теплопровод­ н ость измене ние коэффициентов формулы. Кnнечно, можно изменить их в ячейке 85 и скопировать новую формулу в остал ьные ячейки (копиро­ вание в ячейку с данными приводит к их зам ене новыми данными) . Од­ нако этот метод н еудобе н , есл и необходимо проверить несколько раз­ . личных значений коэффициентов . Лучше вынести коэффициенты за пределы формулы и зам ен ить их абсолютными ссылками . / ~: Эксп ресс- метод ·-·-· ~ " ~ , ·~· . Чтобы быстро заменить в ф о рмуле число 350 на абсолютную ссылку , вы­ 82. В формулу будет вставлена относительная ссылка . Чтобы сделать ссылку на 82 абсолютной ($8$2), нажмите клавишу <F4>. Если нажать· <F4>, когда точка вставки находится дел ите это число и щелкните н а яч ейке в ссылке , то ей будет п о С.ледовательно присваиваться один из четы рех в озможных типов . 1. В ячейку 85 введите форм улу =$8$2/(А5-$ В$3 ) и нажмите клавишу <Enter>. 2. 3. В ячейку 82 введите число 350 В я чейку 83 введите ч и сл о 68 и снова нажмите и нажмите <Enter>. <Enter>. Теперь , когда коэффициенты зам енены абсолютными ссылками на ячейки с соответствующими формулу в ячейки диапазо на числ ами , 86:815. можно просто скопировать Абсолютные ссыл ки будут пере ­ несены без изменени й , по - прежнему указывая н а коэффици ентЬr в 4. ячейках 82 и 83. Выделите ячей ку 85 и п еретащите маркер зап олн ения вниз до ячейки 815. П олученная таблица изображена на рис. 2.4. В ячейках 82 и 8 3 мож­ но ввести другие значе ния парам етров Ко и То, которые сразу будут под­ ставлены в форм ул ы ячее к диапазо на 85:815. Оформление рабочего листа К сожалению , ни.кто, кроме н ас самих , не поймет смысла таблицы , и зображенной на ри с. 2.4, а через месяц-другой и мы не сможем вспом­ нить , о чем шла речь . Чтобы любой пользователь, включая автора , знал , что же вычисляется н а этом листе , необходи мо добавить несколько заго­ ловков и м еток . Вы уже знаете , что для завершения ввода данных в ячейку и выпол­ нения команд необходимо нажать клавишу <Enter> или одну из кл авиш
"' Гnава 2 управления курсором или же щелкнугь на расположенной в строке фор ­ мул ююпке с "птичкой". В дальнейшем изложении инструкция нажать клавишу <Enter> будет присутствовать только в тех случаях, где это не очевилно. Рис. 2.4. Подстановка набора данных в формулу теплопроводности с пере­ менными коэффициентами Ввод меток. Начнем с ввода информационных меток. 1. В ячейку А1 введите следующий 2. В ячейку А2 введите КО. 3. В ячейку АЗ введите то . заголовок: Теплоп роводность кремния. ... 200. 2.Б51515 Выравнивание меток. Заrодовки в ячейках А2 и АЗ необходимо выровнять по правому краю . Параметры форматирования ячеек, та.кие как шрифт, размер шрифта и цвет определяются в диалоговом окне Формат ячеек, открываемом с п омощью команды Формат>- Ячейки . Для большинства типичных атрибутов форматирования на панели инстру­ ментов Форматирование есть соответствующие кнопЮf (рис . 1. 2 2.2). Выделите ячейки А2 и АЗ. liiiJ · · · Щелкните на кнопке По правому краю на панели инструментов или выберите команду Формат>- Ячейки, перейдите на вклашсу Выравнивание , из списка по горизонтали выберите элемент По правому краю и щелкните на кнопке ОК. '1' ' " Те~аоеодиость qiewн'(A - l<DI ЭSJ 68,, ~ ' 200 2,Б5t515
Инженерные расчеты В) Центрирование заголовков. Теперь необходимо ввести и выров­ нять п о uентру заголовки двух столбuов данных . 1. В ячейку А4 введите Т(К) . ..... Примечание , В Excel для Windows 95 появилась новая функция - Автозаnолнение . В этом режиме ввод дан ных в ячейках завершается автоматически на ос­ новании значений . введенных ра н ее в том же столбце. В данном случае r после ввода Т программа добавит о . поскольку в этом столбце уже есть ячейка со значением ТО . Продолжайте ввод . не обращая внимания на ав­ томатическое заполнение . Если такое поведение программы действует ва м н а нервы , выберите команду Сервис>- Параметры , в появившемся диалоговом окне перейдите на вкладку Правка и отключите режим Автозаполнение значений ячеек. 2. В ячейку 84 введите 3. Выделите ячейки А4 4. • Щелкните на К(Вт/( см*К)) и 84. кнопке По центру на панели инструментов Форматирование . ТеплоnроводwосlЪ IQ!SMHИ\:\' 14) .. "Т1J Т (!<) . 350 !iЗ ,<(Вт/сw-К) 200 2.651515 Расширение столбцов и округление их содержимого . Содер­ жимое ячейки В4 не помешается в ней целиком, а у чисел в столбце В че ресчур много знаков после запятой . Необходимо уВеличить ширину столбца и отформатировать числа так, чтобы в них бьшо меньше деся­ тичных знаков . 1. Поместите указатель мыши на линию , разделяющую заголовки столб­ цов В и С . Он примет вид вертикальной черты с двумя rоризонталь­ ными стрелками , указывающими в разные стороны . ~ .ffi:.~~ " i1!f.;IO!t 350: . ВМОП РDВ ОДНО&ТЬ кpe r.. Htlfl ..... iФ. m· Т (К) ' -~ 2. - re· . <(Вт/ом-К) 200 2.651515' Удерживая нажатой левую кнопку мыши , перетащите правую границу заголовка столбца В примерно на 1 см . Во время этой операции зна­ чение ширины столбца будет выводиться в левой части строки формул . Сделайте ширину столбца такой. чтобы в нем бьш виден весь текст.
Гnава fjl 3. Выделите группу ячеек 85:8 15. 2 Выберите команду Формат>- Ячейки и п ерейдите на вкл адку Число . 4. И з сп иска Числовые форматы выбери те элемент Числовой . В строке Числ о десятичн ых зна ков введите значение ._/ ' 2 и щелкните на кнопке ОК. ~К.~~:11~~~9-~етод f~J .~ 1'щ:,;;фУ 1г-. J ~ФОl><О"'' l!lo.\ 1 '-":• \ ~ Аме)t.1"111>.1 ~оеь-1 Д4fО г р.,,. '""'f.'I!> t:i>)'!'r1 """'~"" ( ) Bpe:NR Проu.е"Т"'-IЙ Q.tpi.JЦ~~~~: ДроМ.Н :жt~~nы--...1 Тtжсrоеь~ ~cw;o=~ .:J ...,,__..фq>о<о• _,,.~""" .... crio<o&..•.act-..ce". Aflt et.COA4 ;а.~~ t.cnor.))'JOТ'CA t~ ~~ ·~"-~. . ?). 1 9n- 1 Обрамление и отключение сетки. Чтобы улучшить внешни й вид табл иuы , добавьте обрамление некотор ых ячеек и погасите л инии сетки рабочего л иста. 1. Выделите ячей ки А4 и А. 1 ,2 в 1 Q. 84. (}_ Теn.nоnроводносrъ кремни~ ~ .• 1 .5 . 1 m 350 66 :.:001 2.651 1<1) т (К) 2 Г1"J 1[В1 Щелкните . на стрелке вниз рядом с кнопкой Границы на L==lJ ·,. . панели инструментов Форматирован ие и выберите из п ояви вшейся пали тры элемент внеш него обрамления . 3. Выдел ите группу ячеек А5 : 8 1 5 и щелкните на кнопке Границы . П о­ скол ьку активным ти п о м рамки является обрамление, этот элем ент отображается н а кн опке Гра н ицы . 4. В ыдел ите диапазон ячеек В4 : В 15 и щелкните на кнопке Грани цы.
M;J Инженерные расчеты > Параметры , сетка , после чего Ч тобы скрыть л ин ии сетки, выбер ите ком анду Сервис 5. перейдите н а 1ЗJ9IадКу Вид и отключите режим щелкните на кнопке ОК . ,t__ .., f!~,..,~ Q.. -...'Ь: L .. "!'"'""" 1 • Теn.1\О"роводносn. 2 кn эsо ТО 3 4 ЕВ т 5 6 71 6" 9 10 !1 ' 12 'з ц 15 -----'=.r..---"'= 16 Рис. 2.5. Готовый рабоч ий л и ст для простого ур ав не н ия теплопроводности Готовый рабоч ий лист должен выглядеть так, как п оказан о на рис . Все ячей ки данных по мечены и взяты в рам ку. Смы сл такой табл и ­ 2.5. цы понятен любому. Е ще м ожно было бы вставить формулу в качестве заголов ка (ввести фор мулу с одиночной к авыч кой перед знаком равенст­ ва), чтобы пол ьзователь мог видеть , что именно вычи сля ется , не загля­ ды вая в ячейки, содержащие формулы . А теперь, если хотите сохранить рабо ч и й лист, выберите ком а нду Файл > Сохранить или щелкните на кнопке Сохранить на пан ел и инструм енто в Стандартная . Н а р ис. таблице 2.6 по казан о содержимое всех ячеек листа. Чтобы вы вести в формулы П араметры , вместо их перейди те на зн ачен и й, вкладку Вид , выберите ком анду включите щел кните н а кнопке ОК. ! ,.;,_ : ·,;л..;.-~.........'._....._."-"'""'"'"""'"'" Тем0<1роводносто <1>е ....и• 2 l<IJ 350 m~~----~=""'......,..,.._---. iз~·----------Т fК1 К (Вт/с... К) · 5 1200 =SBl21(A5-$BS3) 1!, ~250 1 ЗОD •SBS21(;1ИBH) =SBS21(A7·1BIЗ) •$8$2/(АВ·SВSЗ) =$ВS21(АСНВ$3) !1 .1350 О 400 . !!~1 450 1.1 1JSOO l i 550 =$8S2/(д10-$ 8SЭ) =$8$2/(д1НВSЗ) •IBS2/(д12-S8SЗ) 1Э1sоо = 18S2t(д13-18S3) 15 700 =IBS2/IA1!>-18$3) '1.J. ~650 ~SBS2/(д14-IBSЗ) 16' Рис . 2.6. Содержимое ячеек на листе Те пл опроводность режим Сервис > формулы и
. ill Гnава 2 / Экспресс-метод Для быстрого переключения между формулами и значениями исп ользуй­ те ком бин ацию клавиш К[lавишей <ТаЬ>). <Ctrl+'> (символ ударения , расположенный над _ Создание таблиц пуrем копирования формул Предыдущий раздел бьm посnящен созданию инженерной таблицы значений теплопроводности кремния . Создание подобных таблиц являет­ ся , видимо , второ й по популярности вычислительной задачей среди уче­ ных и инженеров (на первом месте стоит вычисление отдельных значе­ ний функции с помощью калькулятора) . Существует два способа создать табл ицу в Excel: путем копирования формулы или с помощью команды Данные >- Таблица подстановки. Для уравнения теплопроводности мы воспользовались первым из них. Это , наверное, наиболее универсальный способ создания таблиц значений на листе. В последующих разделах описан ряд инженерных таблиц, созданных подобным образом . Исполь­ зование команды Дан нь1 е >- Таблица подстановки обсуждается позже . Построение таблиц с одним аргументом Начнем с создания таблицы с одним аргументом. Такие таблицы об­ разованы одной или несколькими формулами , каждая из которых имеет один переменный параметр и возвращает один результат. Прецессия северноrо полюса мира В астрон омии для оп.ределения положения небесных тел принято ис­ пользовать (рис . две системы координат: экваториальную и эклюпич~скую 2.7). Экваториальная систе.ма координат основана на ориентации оси вра­ шения Земли . Представьте себе глобус с нанесенны ми на него линиями широты и долготы , но без материков , и с такой же ориентацией , как у Земли. Если }1iеличитъ размер глобуса до бесконечности , получим небес­ ную сферу в экваториальной системе координат. Плоскость земного экватора также является плоскостью экватора не­ бесной системы координат, и называется небесным экватором. Если продолжить ось вращения З емли сквозь северный и южный полюсы за пределы небесной сферы, они образуют полюса мира . Северный полюс мира находится вбл изи Полярной звезды , которая веками использовалась в качестве навигацишшоrо ориентира. Положение светила (точка Р на ри с. 2. 7) в экваториальной системе определяется так же, как и точки на поверхности З емли - координатами широты и долrоты . Подобно широте, склонение небесного тела - это
,,, Инженерные расчеты величина дуги от положения тела до небесного экватора к северу или к югу (дуга от В до Р на рис. 2.7). Экватор лежит на нулевом градусе, а се­ верный и южный полюса мира - на 90 градусах северного и южного склонения . Вторая координата подобна долготе и называется прямым восхожде ­ нием. Прямое восхождение тела измеряется в часах , минутах и секундах от точки весеннего равноденствия (точка А , в созвездии Овна , рис. 2.7) к востоку до меридиана, проходящего через светило (дуга из А в В на рис. Меридианом называется линия, соединяющая небесный экватор и полюс мира , подобно ме.ридиану на поверхности Земли . 2.7). _.Полярная звезда Линия прецессии , северного полюса 1 1 Экли птика Небесный экватор Точка весен него Линия перемещения равн оденствия 1 точки весеннего равноденствия Рис. 2.7. Ориентация экваториальной и эклиптической систем небесных ко­ ординат. Перемещение экваториальной системы вследствие прецессии оси вращения Земли Эклиптическая система координат подобна экваториальной , но бази ­ руется не на плоскости земного э кватора, а на плоскости орбиты Земл и вокруг Солнца. Если спроецировать орбиту Земл и на небесную сферу, она образует большой круг , называем ы й эклиптикой . На девяносто гра­ дусов выше или ниже эклиптики находятся эклиптически е полюса . Ко ­ ординатами являются эклиптические долгота и ш ирота (дуrи АС и СР , соответственно , см . рис . 2.7). Эта система координ ат также п одобна долготе и широте на земной поверхности , но ориентир ован а относитель ­ но эклиптики , а не э кватора. Большие круги , образуемые эклиптикой и небесны м экватором , пере­ секаются в точках весеннего и осеннего равноденствия под углом около ·23 градусов . Это хорошо известный 2 3-rрадусный наклон Земли п о от-
rnaвa 2 ношению к плос~ости ее орбиты, называемый наклоном эклиптики к экватору. Экваториальная система координат полезна при астрономических на­ блюдениях с Земли, а эклиптическая - при расчетах небесной механики относительно Солнца. Эrи системы взаимозаменяемы, достаточно учесть простой 23-rрадусный поворот. К сожалению, на самом деле не все так про~о. Зависимость между двумя системами не постоянна, а изменяется во времени. Воздействия Солнца и Луны вызывают отклонения во вращении Зем­ ли. Так бывает, если подтолкнуть сбоку вращающийся волчок. Эти коле­ бания называются прецессией , в результате которой северный полюс Земли , а значит и северный полюс мира, перемещается по небольшой окружности с радиусом в 23° вокруг северного эклиптического полюса. Поскольку плоскость эклиптики постоянна, то изм еняется положени е точки весеннего равноденствия, которая является точкой отсчета пря ­ мого восхождения и эклиптической долготы. Воздействие планет также вызывает прецессию в эклиптике, в резуль­ тате чего эклиптический полюс также перемещается. Если вы не астро­ ном, то эти системы координат, колеблющиеся вокруг вселенной, мoryr показаться вам воистину ужасными. Но период колебаний составляет приблизительно 26 ООО лет, так что эти смещения вполне терпимы. Сле­ дующие две формулы позволяют вычислить годовое изменение эклипrn­ ческой долготы (Х) и значение наклона эклиптики к экватору (Е) х = 50.2564 + 0.00222('1 1 ' Е = 23°27'8.26 11 - 0.4684"t, где t - количество лет, прошедших после 1900-го годв. Эти изменения не сильно влияют на координаты светил, но их необходимо учитывать в каждой обсерватории, находящейся на Зем.zrе , поскольку она фиксирова ­ на оmосительно блуждающей системы координат планеты . Сейчас мы создадим таблицу годовых изменений эклиптической долготы и наклона эклиптики к экватору для каждого десятилетия, про­ шедшего между 1900-м и 2000-м годом. Настройка рабочего листа. Начнем с выбора ширины столбцов и вв~дв заголовков. Обычно ширину столбцов подбирают после вводв дан­ ных, однако в данном случае будет проще сделать это в начале. 1. Откройте новую рабочую книгу или чистый лист существующей книги. Дважды щелкните на ярлыке текушего листа, из~ените его имя на рис. 2.8 и нажмите клавишу <Enter>. Можно также щелкнуть на ярлыке правой кнопкой мыши и воспользоваться командой 2. Переименовать. Измените ширину сто}\бцов А-Р в соответствии со следующим спи­ ском:
-~· инженерные расчеты Столбец А в с Ширина з 5 8,43 9,57 3 3 D Е F Столбец Ширина Столбец Ширина 7 1 м н 7 N 1 1 о J 5,43 р к 2 1 G L 2 8,43 4,57 3. В ячейку А1 введите текст Прецессия северного полюса мира. 4. В ячейку СЗ введите текст Годовая прецессия. 5. В ячейку С4 введите текст по долготе. 6. В ячейку Е3 введите текст Отклонение. 7. В ячеjiiку Е4 введите текст эклиптики. 8. В ячейку В4 введите текст Дата и выровняйте текст по правому краю. 9. В ячейку JЗ введите текст Годовая прецессия по долготе. 1О. В ячейку J6 введите текст Отклонение эклиптики. 11. В ячейку М9 введите текст За t лет, начиная с 1900г. Ввод уравнений. Чтобы любой, взглянув на рабочий лист, мог по­ нять, что здесь вычисляется, необходимо ввести формулы в виде текста. При этом коэффициенты в текстовом представлении выражений должны быть реальными величинами, на которые ссЪIЛаются формулы рабочего листа. > 1. 2. 3. 4. 5. В В В В ячейку J4 введите текст Х= (без пробелов). ячейку М4 введите число 50,2564. ячейку N4 введите текст"+ (без пробелов). ячейку 04 введите число 0,000222. В ячейку Р4 введите текст "*t (без пробелов). В следуЮщую ячейку необходимо ввести символ градуса (0 ) из расши­ ренного набора DOS. На большинстве компьютеров для вводв подобного символа необходимо набрать m. цифровой панели его код ASCll (в дан­ ном случае 0176), удерживая нажатой клавишу <Alt>. В Windows 95 мож­ но вставить символ градуса с помощью утилиты Таблица символов. Для этого щелкю_J:те на кнопке Пуск и выберите из меню Программы команду Стандартные~ Таблица символов. Дважды щелкните на символе", затем на кнопке Копировать, перейдите в Excel, выделите нужную ячейку и вставьте в нее этот символ с помошью комбинаuии клавиш 6. 7. В ячейку J7 <Ctrl+V>. введите текст е=23° (без пробелов). В ячейку К7 введите число 27. В ячейку L7 введите два символа ' (одинарные кавычки). Первая из них используется в Excel как символ выравнивания (д11я совместимо­ сти с Lotus 1-2-3), а вторая свидетельствует о том, что величина в ячейке К7 измеряется в минутах. 8. В ячейку L7 введите два символа' (одинарные кавычки). 9. В ячейку М7 введите число 8,26. 10. В ячейку N7 введите символ'' (двойные кавычки). 11. В ячейку 07 введите число -0,4684. 12. В ячейку Р7 введите текст "*t (без пробелов, двойные кавычки).
IФI Гnава 2 Ввод значений. Далее необходимо ввести даты , которы е будуr под­ ставляться в формул ы . 1. 2. 3. 4. В я чей1'.--у 85 введите число 1900. В ячейку 86 введите число 191 О . Выделите ячейки 85:86. С помощью мыши перетащите маркер заполнения вн из до ячейки В 15. Все ячей ки диапазона 85:615 будут заполнен ы последовательностью чи сел от до 1900 2000 с шагом 1О. Ш аr определяется разностью чисел в первых двух ячей ках. Ввод формул прецессии и отклонения . Введем теп ерь форм улу годово й прецессии п о долготе . l. 2. В ячейку С5 введите формулу =$М$4+$0$4*( 85-1 900) . В ячейку 05 введите символ " (двойные кавыч ки). П осле этого нужно ввести формулу отклон ения экл ипти ки. За такой коротки й п ромежуток вр емен и ч исло гр адусо в этой вел ичин ы не изме ­ нится, и поэтом у лучше ввести его один раз, \Jе м постоя нно вычислять. 3. В я чей ку Е5 введите чи сл о 23°. П оскольку число м и н ут должно и змениться, необходимо вычисл ить количество секунд и раздел ить ero на 60. И скомое число минут равн о целой части от полученного результата. 4. В яче йку введите формул у FS =( $ К$7)+ЦЕЛО Е (( $М$7 +$0$7*(85-1900)/60)). 5. В ячей ку G5 введите два символа ' (одинарные кавычки). Ч исло се1'.")'Нд рав но остатку от дел ени я обшего количества секунд на поскольку частное переходит в столбец ми нут. В ячейку Н5 введите формулу =ОСТАТ($М$7+$0$7"(85- 1900)+60, 60) . 60, 6. 7. В яче йку О сталось 15 введите си мвол скопировать '' (двой ные кавычки). содержимое зап олне1IНых ячеек в нижние ячей ки таблицы . Для это го выдел ите ве рхн юю строку чи сел и перета­ шите вни з маркер за п ол н ения . 8. 9. Выделите rpyпn y ячеек С5 : 15 . П еретащите маркер заполнен ия , расположенный в нижнем пр авом углу выделенной области , вниз до ячейки 11 5, и omycrnтe кноп ку мы­ ши . Формулы и числа будут скопированы в оставшуюся часть таблицы . Форматирование рабочего листа. Теперь нужно определить числ овой фо р мат ячеек с четырьмя десятич ным и знаками , разграфить таб­ л ицу и отключить сетку. 1. Выделите ячейки Н5 : Н 1 5 и, удерживая нажатой клавишу <Ctrl> , выде­ л ите яч ей ки С5 : С15 . 2. Выберите команду Формат>- Ячейки . В открывшемся диалоговом окне перейдите н а в кладку Ч исло. Выберите из сп ис ка форматов элемент Ч исповой и установите количество дес ятич ных знаков п осл е запятой равным ч етырем. Щелкните на кн оп ке ОК. 3. Выделите ячейки С5 : 11 5 . Удерживая нажатой клавишу те ячей ки 83:8 15, 83:14 и J3:P9. <Ctrl>, выдели ­
1:11 Инженерные расчеты ..... Примечание Чтобы единообразно отформатировать несколько несмежных яч еек. нуж­ но выделить эту несвязную группу, удерживая нажатой клавишу <CtrJ> и щелкая последовател ьно на каждой из ячеек, а затем в ыбрал·, нужный формат. Можно поступить и по-другому: выделить и отформатировать одну ячейку , затем выделить следующую ячейку или их груп пу и восполь­ зоваться командой Правка комбинацией клавиш >- Повторить <Ctrl+Y> .. форматирование ячеек или 4. ~ На панели инструментов Форматирование раскройте палитру ~ Линии рамки и щелкните на кнопке внешней границы . Вокруг выделенных групп ячеек появятся рам ки . 5. Выделите группы ячеек СЗ:D4 и ЕЗ : 14 (поскольку диапазоны не связ­ ны е, используйте кл авиш у 6. 7. <Ctrl>). rmJ Щелкните иа кнопке Центрировать ll:!!I инструментов Форматирование. по столбцам на панели Выберите команду Сервис>- Параметры . В п оявившемся диалоговом окн е п ерейдите на вкладку Вид и отключ ите режим сетка . Щелкните на кн опке ОК. 8. rt=ij Сохраните L!!!J Сохранить. рабочую книгу на диске, Полученный рабочий лист изображен на рис дан 1900 1910 1920 193J 1940 1950 1960 1970 1 9е) 1 9'.Ю 2!Ш Годоеа• nрвцесси• Оtкпонеt1ие no .n Q.1'roт~ з~ и mи~си ГGдова• nрецесси• Х= • 3.5760. 23• Э5. • ZJ' Э5. 50 ;261]1 • 5С,2SЗ1 • 23• 23• Э5. 56,В!Ш . Э5. 54,21:В:J 50~· 50 .25ВБ 50.2663 . 50,"675 . 50;2697 • 50Д19. 50,2742 • 50.2764 . 50,2783 . щелкнув на Кнопке 2.8. no до~rt>те 50~+ ощ:r:т ..., 6 .2&.'О Отк.nо~~1·н1е экnиmики В,"6. IF23' '17' .Q,4684 -, • 34 . 49,5240 . 34 . Ц .6400. 34 . 40.15Ю • 34 . 35.(?д!. 34 . 13.7800. 34 . 26,1040. 2J' 23' 2J' ZJ' 23' ZJ' 23' 34. 21 4;'\JJ. За t .ner начми.аА с 19CIOr Рис . 2.8. Таблицы годовой прецессии небесной долготы и отклонения эк­ липтики в п ериод с 1900 по 2000гг. Зависимость концентрации собственных носителей заряда в кремнии от температурь~ Концентрацией собственных н осителей заряда в полупроводнике н а­ зывают концентрацию электронов или дь1рок в собственном полупро­ водни ке , находящемся в состоянии термодинамического равновесия .
,,, Гnава 2 Этот параметр играет важную роль при математическом моделировании полупроводниковых приборов. Собственным называют полупроводник, концентрация электронов в котором равна концентрации дырок, когда он находится в состоянии равновесия. Такая ситуация соответствует очень чистому кремнию при комнаrnой температуре или менее чистому - при более высокой. Дыркой называют незанятое электроном "свободное место" в атомной структуре полупроводника. Дырку представляют в виде элементарной частицы с положительным зарядом, равным по модулю заряду электрона. · Следующая формула описывает зависимость концентрации собствен­ ных носителей заряда в кремнии (п;) от температуры. n,: 4M,(2::ok). 3) 1/2 ( ( • . Т'12е-Е,/1kТ • ) 3/4 m~7· . Ее коэффициенты имеют следующие значения. КоЭффициент Значение Описание Мс 6 Количество эквивалентных электрон­ то О,91095х10-зо кг 1,38066х 1о-2з Дж/К ных долин в кремнии · k h 6,62618х1Q·З4 Дж·С о,зз т0 0,56 т0 Масса покоя электрона Постоянная Больцмана Постоянная Планка Эффективная масса электрона Эффективная масса дырки Температурная зависимость ширины запрещенной зоны в кремнии Eg с хорошей точностью описывается следующей формулой: Е g ==(EGO- EG1·T2) T+EG2 q' где EGO=I,17 эВ, EG1=4,73xl0-4 эВ/К, EG2=636 К, а q=l,60219xJO·l9 Кл - заряд электрона. Выражение, описывающее ширину запрещенной эьны, можно вста­ вить в уравнение концентрации собственных носителей заряда непосред­ ственно, и получить единую формулу для расчетов. Однако она бьmа бы слишком сложна. Проще рассчитать эту величину отдельно, а получен­ ный результат использовать для определения концентрации собственных носителей. В формуде концентрации собственных носителей есть сложный ко­ эффициент, состоящий из множества констант. Вычислять его значение заново при каждом обращении к формуле - значит понапрасну тратить ресурсы компьютера и замедлять расчет рабочего листа. Чтобы повысить эффективность расчетов, объедините все константы в одну и поместите ссЬUiку на нее во все ячейки с ·вычисляемой формулой. Кроме того, не­ обходимо присвоить используемым константам имена, упрощающие по­ нимание их смысла.
l:jl Инженерные расчеты Создадим таблицу значений концентрации собственных носителе"й за­ ряда в кремнии. Ввод значений. В первую очередь необходимо ввести параметры уравнения. 1. Откройте новый рабочий лист и назовите его рис. 2.9. 2. Заполните ячейки и выровняйте их содержимое следУЮщим образом. Выравнивание Ячейка Значение А1 Концентрация собственных носителей заряда в кремнии А5 EGO= EG1= EG2= А7 Конц.= 83 84 85 4,7ЗЕ-4 АЗ А4 По правому краю По правому краю По правому краю 1,17 636 Далее следУет вычислить коэффициент правой части уравнения кон­ центрации собственных носителей и изменить его размерность с 1/м3 на 1/смз. 3. - В ячейку В7 введите следующую формулу: =КОРЕНЬ(4*6*(2*ПИ()*О, 91095Е-30*1,38066Е-2З/(6,62618Е-34}"2}"3)* (О,33*0,56)"(0, 75}*1,ОЕ-6 Вычислив это выраженне, можно заменить формулу ее значением. Однако лучше этого не делать, чтобы другие пользователи (да и вы сами через некоторое время) смогли определить, что здесь вычисляется. ./Совет Чтобы заменить формулу или ее часть соответствующим значением, вы­ делите соответствующую ячейку и перейдите в строку формул. Выделите часть формулы, которую нужно заменить и нажмите комбинацию клавиш <Ctrl+=> (на Maciпtosh - <Cmd+=>). Чтобы заменить выражение его зна­ чением, щелкните на кнопке с изображением "птички" или нажмите кла­ вишу <Eпter>, а чтобы вернут~ исходную формулу- щелкните на кнопке х или нажмите клавишу <Esc>. Данный метод удобен, если нужно увидеть не формулу, а ее значение, а таюке во время отладки рабочего листа, ко­ гда нvжно определить значение части mоомvлы. Присвоение имен ячейквм и дивпазонвм. Теперь введем имена ячеек, которые впоследствии будут использоваться в формулах. Это мож­ но сделать с помощью команд Вставка ~ Имя ~ Создать -и Вставка ~ Имя ~ Присвоить. Первая служит для создания имен из заголовков строк или столбцов выделенного диапазона, а вторая позволяет присвоить имя от­ дельной ячейке или диапазону ячеек. При вычислении по формуле Excel вначале заменяет использованные в ней имена соответствующими число­ выми значениями, а затем производит вычисления.
Гnава fjl 1. 2 Выделите группу ячеек АЗ : В7 и выбер ите команду Вставка )о> Имя )о> Создать . Co:utdJь ммettdl 2. ПIЗ В появившемся диал оговом окне Создать имена включите реж.им В столбце слева и щелкните на кнопке ОК. ./Совет Команда Вставка ,... Имя )о> Присвоить позволяет присвоить имя кон­ кретной вел ичи не . В строке Формула появившегося диалогового окна Присвоить имя введите ч и сло . определите его имя в строке Имя и щелкн ите на 1 , 0546Е-З4 имя кноп ке h_c Добавить . Например, можно присвоить числу чеf?ТОЙ (постоянная Планка , .подел~нная на 2п) . Теперь выделенным ячейкам столбuа В при сFоены имен а, со ответст­ вующие содержимом у стол бца А , но без знаков равенства. Спи сок имен вы во.11.ится в диало говом окне Присвоить имя , открываемом с помощью команды Вставка )о> Имя )о> Присвоить. Если вьщел ить некоторое имя , его определение будет отображено в строке Формула . Чтобы увидеть имя ячейки , вьщел ите ее. Имя (если таковое существует) появится в поле имен в левой части строки формул . Обратите внимание , что ячейкам EG2_, а не EG1 и EG2. черкивания , поскольку (столбец строка EG, 1) 84 и В5 присвоены имена EG1_ и Программа автоматически добавила с имвол под­ EG1 является допустимой ссылкой на ячейку и не может использоваться в качестве имени . При использовани и в алгебраических выражениях таких переменных , как Al или С7, также нужно использовать символ подчеркивания или какой ­ нибудь друтой , чтобы имен а н е выглядели как ссылки . Есл и вам не нра­ вится подчеркивание , выбирайте другие им ен а. Ввод заголовков и знвчений температуры. Чтобы сделать таб­ лицу бол ее лонятной , нужно ввести н еобходимы е надписи.
l:fJ Инженерные расчеты l. Заполните ячейки рабочего листа и выр овняйте их содержимое , как указано ниже . Чтобы создать верхни й индекс в ячейке . F3, выдел ите число. -З и воспользуйтесь командой Формат>- Ячейки . В появи вшем­ с я диалоговом окне пере йдите на вкладку Шрифт и включите режим Верхний индекс . 2. 3. Ячейка Содержимое Выравннвание DЗ Т(К) По центру ЕЗ Еg(эВ) FЗ ni(cм·) П о центру П о центру В ячейку D4 введите числ о 300, а в ячей.ку D5 - число 350. Выделите ячейки D4:D5 и переташите маркер заполнения, располо­ женный в нижнем прав ом )ТЛУ выделенного фрагмента, вниз.до я чей ­ ки D14. Ввод формул. Теперь нужно ввести формулу ширины запрешенной зоны . Если в форм ул у входит и мя, его можн о ввести л ибо с клавиатуры , л ибо с п омошью команды Вставка>- Имя>- Вставить . В последн ем случае откроется диал оговое окн о Вставка имени , в котором нужно выбр ать од­ но из определенны х р анее име н . Ш§fЧt• }Щ! ?lxl v' Совет Можно ввести формулу с несуществующим именем и определить его позже. Пока имя н е определено , в ячейке с формулой буде• выводиться строк~ #~ИМЯ?. J. _. В ячей.ку Е4 введите формулу ;;;EGO-EG1_ *D4л2/( D4+E2_) . Далее нуж.чо ввесrn выражение для конuентраuи и собстве нных н ос и ­ телей заряда с учетом темпера1уры и ш ирины запре шен н ой зоны . 2. В ячейку F4 введите следующую формулу: == Cons*(KOPEHb(D4)Л3)*EXP(-E4*1 ,60219E- 19/(2*1 , 38066E-23*D4)) Осталось ли шь скопировать фо р м улы в п усты е яче йки табл иuы . 3. Выделите ячейки E4:F4 и перетащите маркер заполнения вниз до ячейки F14. Форматирование ячеек. Для повышения наглядности создайте л и н ии рамки и отформ атируйте ячейки с результатами вычислений . 1 Отформ атируйте указ ан ны е ниже ячей ки с помощью команды Формат >-Ячейки .
l:fj Гnава 2 Формат Ячейки Е4: Е14 Чи слово й , 2 десятичных знака Экспонен циальны й , 2 десятичных знака F4:F14 С помощью кнопки Линии рамки создайте обрамлен ие ячеек таблицы (рис. 2.9). Ч тобы скрыть л инии сетки, выберите команду Сервис 2. >- Параметрь1 , в появившемся диалоговом окне перейдите на вкладку Вид и отмен ите режим сетка . fiil·}Сохраните рабочую книгу. 3. 1 Окончательный вариант рабочего листа изображен на рис . . i\. 1 2 З ~ С f:! _.]'..;! Q_,~J~:...E ili' .• E.• -.з.;...,.G..:d Концентрация со~теенныr носнтелек заряда а ~q>еwннн --~--~ EGO= 1,17 ..\ -~Е""'G1'--=1--....;;4"'"7"' ЗЕ,_, ·0~4 .5 EG2~ 6Зб тоо 1i"'"" ' ---'""""--'-----"""= 7 2.9 . Конц:( 3.ЗЗ414 Е + 15I ! в" 9 10 lk :m 350 400 450 1,00 2.79Е+13 !:{() 1,07 1,58Е+1 4 550 1,05 6,70Е+14 600 1,DЗ 2,28Е+15 6бО 1,01 1,00 0 .98 12 700 ~ 750 600 1~ Eq (э8J "' rсм") 1 12 6)1Е..о9 1.11 2 ,18Е+11 1,10 З,28Е+12 os.; 6,44Е+15 1,60Е+1б З,54Е+1б 7,1ВЕ+1 6 lli 1 ·~t1 li • •1 Рис. 2.9. Температурная зависимость концентрации собственных носителей заряда в кремнии Гиперболические функции В главе 1 говор ил ось о том , что не определенные в Excel гиперболи­ ческие функци и можно с ко нструировать из встроенных гиперболических и логарифмических функций . В сл едующем примере н еобход имо подста­ вить различные значения аргумента в фун кций и рассчитать обратные форм ул ы для гиперболических гиперболические функции, а затем сравнить полученные результаты с и сходными вел ичинами . Арксе.крнс гиперболич еский и арккосеканс гип ерболический являют­ ся н еоднозначными функuиями , и в каждом случае нужно вычислять оба их значения . 1. Откройте новый рабочи й лист и н азовите его рис. 2. Заполните указанны е ячейки следующими значе ниями: Ячейка Содержимое ГиперболичесА1 Ячейка Содержимое А10 о 2. 10. Ячейка Содержимое 82 Sech(x) С2 ASech+ ASechCsch(x) кие функции А2 АЗ А4 х А11 -5 А1 2 -4 А1З 0,1 0,5 1 02 Е2
1:11 Инженерные расчеты Ячейка Содержимое .3 А5 Ячейка Содержимое А1 4 2 3 4 5 А6 -2 А1 5 А7 ·1 А1 6 АВ А9 ·0,5 А 17 Ячейка F2 G2 Н2 12 Содержимое ACsch+ ACsch· Ctanh(x) ACtanh -0,1 3. В ыдел ите ячейки АЗ:А1 7 и выберите команду Вставка >- Имя >Присвоить . Прис войте п.анном у диапазону имя х. 4. Введите в указанных я чейках следующие формулы : Ячейка Содержимое 83 =1/COSH(x) сз •LN((1+KOPEHb(1-B3"2))/BЗ) оз GЗ •LN((1-KOPEHb(1·B3"2))1B3) •1/SINH(x) =LN((1 +КОРЕНЬ(1 +E3"2))/E3J •LN((1-KOPEHb(1 +Е3"2))/Е3) нз .a1 fТANH(x) 13 •0,5*LN((H3+1 )/(НЗ-1)) ЕЗ FЗ 5. Чтобы скопи ровать формулы в оставшуюся часть таблиuы, выделите яч ейки В3: 1 3 и пер етащите маркер зап олнения в н из до ячейки 117. 7. Расчертите таблиuу , как показано на рис. 2.10. В ыберите команду Сервис>- Параметры . На вкладке Вид появившего­ 8. Сохр аните раб очую книгу . 6. ся д иалогового окна отключите режим сетка. Окончательн ы й вари ант рабочего л и ста изображен на р и с. 2.1О. Не ­ с м отря на то , что имя х было п р исвоено группе ячеек А3 :А17 , при вы­ ч ислении формул н а его место каждый раз п одставляется содержимое я<1ейки , рас положенной в той же строке, что и фор мула. 'ii\:бо.114t1.tескме . ~= · "'"'"'"r"""'~ · ..,,,....,......-""=·li ,_ г~nе "i-~x ·{ 1 .4).1 ~i 6 Т;3 :li .:!J ~ 10 ' 1:h ·12 • Sech х ASoch+ ASeth· Csch х AC•th+ AcschCtanh • ·5 0,013475 5 -5 {),01З48 ll'jИCЛOI .5 -4 О,ОЗ6Б19 4 .4 .Q,03'64 ~ИСЛОI .4 ·З 0 ,099326 З ·З {),099В2 ~ИСЛО! ·З ·2 0,2651112 ·1 0.64ЭО54 2 1 0,5 0,1 ·2 <J;E572 ~ИСЛОI ·1 -0,65092 ~ИCIIOI -0.5 ·1 ,9 1ЮЭ /NИСЛО! ·2 ·1 {),5 -0,1 -9,98335 ~ИСЛОI -0,1 -0,5 О,ЕО;Э1Э ·0.1 0.995021 1 О 0.1 0.995021 О 0.1 o,eoos19 o.s o.s 1 0,6.4805( 2 З О ,099326 Э 4 О.DЗ6Б19 5 0,013475 Рис. 1 2 0.26511J2 2.10. функций О il,!J,EЛ.01 {).1 9 ,983353 -0.s 1.919035 -1 О.В51JЭ18 ·2 0)75721 ·3 О ,o9re22 ~ О.ОЭ6644 ·5 0.ОIЗ.177 11,QEМJI #ДEIWI ACtanh ·1 .(),5 -10.ОЗЗЗ -0.1 #ДEJW! f/ДEJ\QI 0.1 ~исло• 10.оззз1 О.5 ~исrо 2.1Б3953 1 ~ИСЛОI 1,Э1ЭJ35 ~ИСЛО! 1,CrJ7315 1.00497 4 ~исло• 1,аn;т1 5 /NИCflOI 1 ОСОО91 0.1 o.s 1 2 2 З #ЧИСЛО! З • 5 Таблица з начений гиперболических и обратных гиперболических
iфi Гоава 2 Многие ячейки содержат сообщения об ошибках. Это значит, что со­ ответствующие функции для данных значений не определены. Функции и Ctaпh стремятся к ±оо при х~О и не определены в точке О. При Csch этом в ячейках с вычисляемыми на их основе обратными функциями и ACtaпh также появляется сообщение об ошибке. Кроме того, rрафик функции ACsch состоит из двух ветвей, и положительные значе­ ния нужно подставлять в одну формулу, а отрищ1тельные - в другую. ACsch 4' П ед п еждение Вычисляя значения подобных неоднозначных функций, следите за тем, чтобы исnользоаалась соответствующая формула. В протианом случае можно получить неверный результат. Из таблицы видно, что некоторые м лы возв ащают значения исходноrо а мента с точностью до знака. ~Совет Для выбора нужной формулы в зависимости от значения арrумента функций Asech и ACsch можно использовать функцию ЕСЛИ, например: ACsch= ЕСЛИ(х>О,LN((1 +КОРЕНЫ1 +ЕЗА2))/Е3),LN((1-КОРЕНЫ1 +ЕЗА2))/Е3) Создание таблицы значений функции двух аргументов Во всех предыдущих при~ерах рассматривались формулы, в которых одна переменная (аргумент) была независимой, а остальные - зависи­ мыми (функции или значения выражений). Однако встречаются форму­ лы с несколькими аргументами, не зависимыми друг от друга. При по­ строении таблицы значений функции двух аргументов можно воспользо­ ваться одним из следующих способов. • Разместить значения аргументов в двух соседних столбцах. • Использовать прямоугольную таблицу, в которой значения одной пе­ ременной содержатся в левом столбце, значения другой - в верхней строке, а результаты вычислений - в остальных ячейках. Следующие два примера иллюстрируют оба варианта. Ураанениа Ван-дер-Ваапьса Состояние идеального rаза описывается взаимной зависимостью его давления, объема н температуры, которая имеет вид р V=µRТ. Здесь количество молей газа, а R- µ - универсальная газовая постоянная. Данная формула справедвива лишь в тех случаях, когда объемом молекул газа и силам11 межмолекулярного взаимодействия можно пренебречь. Таким образом, она хорошо описывает состояние газов низкой IUiооности, од­ нако с увеличением IUiотности газа точность падает. Молекулы реального -
iфi Инисенерные расчеть1 газа занимают определенный объем, а зона сил межмолекулярного взаи­ модействия не ограничивается размерами молекул. Попытавшись создать модель, которая бы лучше описывала бы пове­ дение реального газа, Дж. Д. Ван-дер-Ваальс модифицировал уравнение состояния идеального газа с учетом ВЬIШеизло.женных соображений. В результате уравнение состояния реального газа приобрело следующий вид: (р+4)(v-b) = RT v ' где v - молярный объем газа (ед. объема/моль), а а и Ь - постоянные, определяемые экспериментально. Их значения для двуокиси углерода: а 3,591 л2·атм./моль2 0,0427 л/моль Ь Соэдание таблицы с параллельными столбцами значений аргументов Рассматриваемое уравнение содержит три переменных, каждую из ко­ торых можно выразить через две другие. В следующем лримере вычисля­ ется давление различных объемов rаза при разных температурах. 1. Оrкройте новый рабочий лнст и назовите его рис. 2. 11. 2. Установите ширину столбца А равной 5 символам (перетащите пра­ вую границу заголовка). 3. 4. В ячейку А1 введите текст Уравнение Ван-дер-Ваальса. Заполните и отформатируйте ячейки рабочего листа следующим обра­ зом. Содер)IСИмое Формат а= Выравнивание по правому краю 3,59 л2 -атм/моль2 Выравнивание по левому краю А4 Ь= Выравнивание по правому краю В4 С4 0,0427 ЯчеАка 5. 6. АЗ вз сз л/моль Т(К) Выравнивание по левому краю Е1 F1 G1 v(л/моль) Р(атм.) Выравнивание по левому краю Е2 F2 264 0,05 F3 0,1 Выравнивание по левому краю Выравнивание по левому краю Числовой, два десятичных знака Числовой, два десятичных знака Выделите ячейки АЗ:В4 и выберите команду Вставка ~ Имя~ Создать. В диалоговом окне Создать имена включите режим в столбце слева, после чего шелкните на кнопке ОК. Скопируйте содержимое ячейки Е2 в ячейки ЕЗ:Е8, выделив ее и пе­ ретащив маркер заполнения вниз до ячейки Е9.
lнl 7. г11ава Выделите ячей ки F2 : FЗ и перетащите мар кер запол н ен ия 2 вниз до яч ей ки F9. Введите уравнени е В ан- дер- Ваал ьса, разре шенное отн осительно дав­ лени я . Измените размерность универсал ьной газовой постоянной с 8. Дж/моль·К на л·атм./моль · К , раздели в ее на 101,3. В ячейку G2 введите указ анную ниже формулу и из мените формат ячейк и на Ч исловой с одним дес ятичным з н аком. =(8 , З 1 4З/10 1 , З)*Е2(F 2-Ь)-а/(F2л2) 9. 10. С копируйте содержимое ячей ки G2 в ячейки GЗ: G9. В ячейку Е10 введите чи сло 304 и скопируйте его в яч ей ки Е11 : Е17 . После этого необходим о ско п и р овать данные из столбца F и формулы из столбuа G в группу ячеек F10:G17. Не вводите нужную ин форм а­ цию заново , а и спользуйте команды копирования и вставки . ., / а Эк,_~_~ресс-м_~.!Од ... · Чтобы быстро скопир о вать содержи мое о пределенных я чеек , нужно вы- ~ депить их и, уд ерживая н ажато й клавишу в н ужн ое ; место. (Если не нажимать клавишу будет пе- 1 ремещена.!-~ __н_~ ,скопиро_ва~а)_._ 11 . Выделите 12. ячейки <Ctrl>, пе р етащить <Ctrl>, выделенная обл асть .. " .". ""-"." . i F2:G9. П оместите указатель мыши на rр аниuу выделе н ной области (н о н е на м аркер заполнения) и, удерживая н ажатой клави шу те содержимое груп пы яче е к в область <Ctrl>, п еретащи­ F1 0:G17. В нчейку Е1 8 введите число 344 и скопируйте его в ячей ки Е 1 9 : Е25 . 14. Скопи руйте содержи мое я чее к F10:G17 в ячей ки F18:G25. 15. Закл ючите груп п ы ячеек в рамку, как показано н а р ис . 2.11. 16. Отключите отображени е лини й сетки . 17. Сохран ите р абочую книгу. 13. Чтоб ы н а э к ране поместилось больше информаuи и, воспользуйтесь командой Вид>- Во весь экран (рис. 2.11). Такие верти кал ьн ые таблиuы удобны , есл и расчетов не очень мноrо . С увел и че нием их кол ичества он и становятся слиш ко м ми нными и ма­ лопонятн ы м и , и тогда для фун кuий двух пер еменных лучш е испол ьзо­ вать табли цы , в которых з начен ия одного аргумента содержатся в левом столбuе , а другого - в верхней строке . Та кая табшща дем он стри руется в слепуюшем пример е . Абсолютная звездная величина В астро н омии види м ая яр кость звезд изм еряется в звездн ых велич и ­ н ах. Эта си стема и змерения была введен а еше древнегреческим астрон о­ мом Гиппархо 11-1 . Самые яр ки е светила он назвал звезда ми первой вели­ ч ины , а самые тусклые - шестой. Двум зве:ша:-.1 соответствовал и разные звездные величины . если ч еловечес кий гл аз разл ичал их яр кость.
,,, Инженерные расчеты 264 264 .~~.[~ 0 ,10 0 ,15 264 0,2() :[)] 264 0,25 l 'J 264 264 0,35 26~ v,"<W n •n зе.2 31).\ 19132,О ЗQ.\ 0,05 0,10 0,15 68.9 ~ -·~~ ' ~O·i О,:Ю ;;1,1] 304 ЗQ.\ 0,2() ·~$j 31).\ О,25 62,9 31).\ 31).\ 0,3' 0,35 57,1 51 ,9 47,4 2431,7 133,7 1ffi,6 69,7 •12;i Чоi :lli ~1'1 76,4 73,0 ЗQ.\ 0 ,40 'fIO 344 344 0.()5 0 ,10 344 0,15 lli 344 ·~:] 0,20 0 ,25 344 О,:Ю 69,8 зн 0,35 62,Б -~ 1s, ~~ '22'! :~? li 344 ~ н' Рис. 78,8 .. 2.11. Таблица значений уравнения Ван-дер-Ваа п ьса Есл и разл ичие яркости звезд было едва заметным , считалось , что он и отли,1ал ись на одну звездную величину. П озже шкала звездных вел и чин была фо рм ализована с помощью матем атических м етодов, что позволил о изме.рять яркость звезд с большей точ ностью. Теперь разность в пять звездных величин соответствует стократному изменению яркости . Таки м образо м , относительную звездн ую величину двух звезд м ожно выразить через значени я их яр кости с помощью следующей п р остой формул ы : т2 т1 ) { - где т 1 и т 2 - ::;; - 1Log(~) 0.4 Ь, ' ~ . звездн ы е вели чины двух звезд, а Ь 1 и Ь2 - их яр кость. Ес­ ли п р инять за точ ку отсчета я ркость одной и з звезд , можно выч исли ть звездные величи ны всех остал ьн ых . Звездн ые величины видимых с Земли объектов лежат в nи апазоне от ( Солнце) до +23 ( п редел для 200 -дюймового телескопа Хейла) и 26,7 дальше (некоторы е из современ ных мноrозеркал ьных теле скопов позво­ ляют н аблюдать еше м енее яркие объекты ). Двум самым ярким звездам Сир иусу и Веге - соответствуют звезДJ-J ые вел ичины -1,58 - и +О , 14. После того, как астрономы выбрали нулевую точку системы звездных вел ичин , выяснилось , что некоторые звезды обладают большей я р костью. В от по­ чему звездная величин а Сол нца и некоторых д руги х я рких зnезд я вл яется отри uательной . Я ркость наблюдаем ых с Земли звезд о nисывается види.мой звездной ве ­ личиной, которая зави сит от их реал ьной яркости и удаленности от Зем­ ли . Видимая звездная величина не дает представления о характеристиках
'** Гnава 2 звезды , и вряд ли имеет смысл сравнивать звезды по данному параметру. Чтобы исправить этот недостаток, астрономы ввели абсолютную звездную величину, соответствующую величине звезд, удаленн ых от Земли н а парсеков (3,086x lOl4 км). Яркость звезд, выраженную 1О в абсолютных звездны х величинах, можно сравн ивать . Видимая и абсолютная зве здные величины связ аны соотношением M= m+5- 5Log(r), где М - абсолютная звездная вел ичина , т В сеш1 191 Зг. - видимая , а r- расстоя ние до звезды в парсеках . немецкий ученый Герцшпрунг и американс кий ученый Рас­ сравнили абсолютную звездную вел ичи ну и сп ектральный кл асс (почти то же , что и цвет) звезд и получили почти линейную зависимость. Ставшая классической диаграмма Герцшпрунrа-Расселла позволяет оп­ ределить абсолютную звездную величину по спектральному классу ( цве­ ту) звезды. Зная абсолютную и вилимую звездные величины , можно вы­ ч ислить р асстояние до звезды с помощью при веденного выше уравнения . В следующем примере создается табли ца расстояний до звезд в зав и ­ симости от их абсолютной и относитель ной звездны х вел ичин . П ервым делом н еобходимо р азре шить фор мул у абсол ютной звездн ой величины относительно расстояния : (5+т-М) r = 10~ 5 Создание прямоугольной таблицы значений функции двух переменных Создадим таблицу расстояний со значе ниями видимой звездной вел и­ чины в левом столбце и абсол ютной звездно й вели чи н ы в верх ней - строке. 1. Если полноэкранны й р ежим просмотра все еще включен , снова выбе­ рите команду Вид ~ Во весь экран или щелкните на кио пке Вернуть обычный режим на панели ин струментов Во весь э кран . 2. 3. 4. Откройте новый р абочий лист и назовите е го рис. Установите ширину столбца А равной 8,57, 2.12. а столбца В - р авной 3. Введите в указанных ячейках следуюшие зн ачения: Slчейка А1 Содержимое Расстояние до звезды в зависимости от ее абсолютной и видимой заездных вел ичин 5. 82 Расстояние в парсеках GЗ Абсолютная звездная вел ичина А9 Видимая А 1О Звездная В ячейку С4 введите числ о (1 парсек равен -5, а в я чейку З , 26 световым годам) 04 - числ о - З. Выделите и х и перетащите маркер до ячей ки М4 . Диап азон С4 : М4 заполнится це ­ лыми числ ами от 6. -5 до 15 с шагом 2. Таким же образом заполните )!чейки В5: В 18 целыми числами от 21 с шагом 2. -5 до
IJJ Инженерные расчеты 7. В ячейку С5 введите следующую формулу и присвойте ей экспонен ­ циальный формат с одним десятичным знаком . =1ОЛ((5+$ 85-С$4)/5) Использование смешанных ссылок в данном выражении гарантирует п одстановку в формулу нужных значений аргумента после ее копиро­ вания в остальные ячейЮI таблицы . 8. Выделите ячейку С5 и перетащите маркер заполнения до ячейЮI С 1 8 . Выберите маркер снова и перетащите его до ячейЮI М 18. Во все ячейки диапазон а С5 : М18 будет скопирована формула, введенная ра­ нее в ячейку CS. Поскольку маркер заполн е ния можно п еретаскивать либо в горизонтальном , либо в вертикальн ом направлении , выделение п рямоугольной области происходит в два этап а. 9. Добавьте обрамление ячеек, как показано 10. Отключите отображен и е л иний сетЮI . 11. Сохраните рабочую книгу. на рис. 2.12. Щелкните на указывающей вн из стрелке рядом с окном Масштаб на панели инструментов Стандартная и установите масштаб, равный 75%. Окончательный вариант рабочего листа изображен на рис. 4,ОЕ:.о:2 ,,еЕ.о2 ·З :.1:~Е+01 1DE-Ot 4,01:.()2 - 1 ~.ЭE<rO't :2'.~Е+О1 ·~ 1.ОЕ•О1 4,l}E+i)O 1.tl&OO 8,ЭЕ.01 :2~Е.01 t.OE·01 1.(}Е.01 4.QE-tOO 1 .eEIOD е..эЕ.01 2.3E·D1 1'.0 Е+01 4.0E+O:I 1,С Е-600 е.ЭЕ·О1 1 1.CIE•0'2 О.ЭЕ+Оt 2Af+01 1,0&+01 4,Ое-оо 1.~~(Ю :.~::-01 1.ОЕ.01 4,01!!.Q'l .,,,.,11:-02 е.ЗЕ-ОЗ 0,ЭЕ-01 2,бl:.01 1.ОЕ.О1 4.ОЕ-02 t.8E-D2 2.12. 2.!IE.03 е.ЭЕ.ОЭ ~ ~~~~ ~:~~~ ~~~ ~:;::: ;:~::: :~:.~ ~~~= ~;:~ ~~~~~ ;~~~ ~~~:~~ # 7 2.!!iЕ+ОЭ 1.ОЕ+ОО .qJ)f.+02 1 .ОЕ+С2 &.3Е:.01 2~E-t0'f "i.OE+O'f 4.ОЕ.00 1,ile+oo e.'3E.-lJ1 2,е:е-01 ~ 3 ~ ~:~::: ~:~~:: ~~= ~:~~= ::~~~ ~~~:~ ~~~~:~ ~~~~ ~:~~~ ~:~~ 1~ёеЕ~ ~~ 1 1З 4,ОЕ•СМ 1.l!IE~ 15.ЗЕtОЗ 2,бЕЮЭ 1.0Et<l3 '4,0~02 нsе.+ег.: l'J.ЗE-1-01 2.бе.+о1 4.ОЕ•СО ~ 1.еЕ+О1 О.3Е•О1 t'!f 1.CIE.Ot ~~ ;~::: ~:~::: :~= ~:=~~ ::~~ ;~~:: ~~:~ ;~:: :::~ ~~~:~ ~:~~~ ~ 1Q &,31:•Q5 21 , е е"ое 2.!IE~ 1.О е.о5 4,0E'f'04 е эе+оs 2 .!IE~ i ое+ое 40f-+04 1 11~04 азЕ-юз 2.5t+ОЭ 1 D'e+0'3 4tJE+02 1 ~е·02 1,&Е.404 е ,3Е-tОЗ 2:,5Е+ОЭ 1.ОЕ-tОЗ 4,0:e+m: Рис. 2.12. Таблица расстояний до звезд в зависимости от их абсолютной и относительной звездных величин Расчет функций многих переменных в таблицах с большим количеством столбцов Бывают функции с более чем двумя аргументами . Их значения нельзя вывести в простой таблице прямоутолъноrо формата, как в предыдущем примере. Однако в этом случае можно п оместить различные переменные в следующие друт за друтом столбцы , а в последнем вычислять значения функции . Подобная таблица будет более компактной , если разместить одну из переменн ых в верхней строке . Выбор nша таблицы зависит от вычисляемой функции и способа просмотра результатов .
,,, Гnава 2 подвижность электронов в кремнии В следующем примере рассчитывается подвижносn. электронов в кремнии для разных значений напряженности электрического поля, концентрации примеси и температуры. Каждой -тройке значений арrу­ ментов соответствует одно значение функции. Для этого будет создана таблица с тремя столбцами независимых переменных, двумя столбцами промежутсiчных значений и одним столбцом результатов. Приведенная ниже формула подвижносm используется в сложной компьютерной модели эффс:ктов, связанных с прохождением в полупро­ водниковых приборах моI..ЦНЫХ одиночных импульсов. В ней учитывают­ ся аппроксимирующие зависимости подвижности от напряженности электрического поля, концентрации примеси и температуры: µО _ µlfUIX - µmin + - 1 +(N/ Nr у" µmin Е .:::: 2.319Vm с (1+0.8ехр( Т/600 ))µ 0 ( Т/То ) 6 µо (T/1;i )-Б µ :::: ( 1 + ( Е /Ее )Р )1/р Коэффициенты имеют следующие значения: µ/llltt !!мiп Nr V,,. где N - О, 1330 м2/В·С 0,0065 м2/В·С 8,5х1О22 м·З 1, 1х105 м/с а JJ 8 То 0,72 2 2,42 300 к суммарная концентрация примесей, равная разноети кон­ центраций доноров и акцепторов и измеряемая в 1/мЗ, Т- температура в градусах КельвШiа, Е - напряжеШiостъ электрического поля в В/м, а µ подвижность электронов в м2/В·с. Создание таблицы. Формула состоит нз 1рех частей, которые при желании можно объединить. Однако гораздо проще распределить их по разным столбцам таблицы. 1. 2. • Огкройте новый рабочий лист и назовите его рис. 2, 13. Установите ширину сто,/Iбцов от А до F равной 10. Экспресс-метод Чтобы быстро изменить ширину нескольких столбцов, выделите их с по­ мощью мыши, а затем измените ширину любоrо. Для всех столбцов будет vстановлена о.nна и та же шиоина.
iJ8j Инженернь1е расчеты 3. -Заполните ячейхи рабочего листа и выровняйте их содержимое , как указано ниже. Символ µ принадлеЖhт шрифту SymЬol. Выберите этот шрифг из списка на панели инструментов Форматирование и нажмите клавишу <m>. Я-tеАка Содержимое Выравнивание А1 Подвижность электронов в АЗ По правому краю А4 µmax µmin А6 Концентрация А7 Примесей По центру По центру кремнии А8 83 84 В6 88 4. . По правому краю .!Jo центру (м°1 0,133 0,0065 Температура По центру (К) По центру По правому краю С2 сз Nr Vm С4 С6 то Электрическое По правому краю По правому краю По центру С7 rюпе По центру С8 (8/м) По центру 02 03 04 06 08 8,5Е22 1,1Е5 300 По центру Е2 ~/В-с alpha По правому краю ЕЗ Ьеtа По правому краю Е4 Е6 delta По правому краю Ее По центру Е8 (8/м) По центру F2 0,72 FЗ 2 F4 F6 F8 2,42 µ · (м2/В-с) Выделите ячейку По центру По центру 84, выберите команду Вставка >-- Имя oIOie введите имя umin >-- Присвоить и в появившемся диалоговом •• Примечание Поскольку µmin не является именем переменной, допустимым в Excel, в u на u . диалоговом окне Присвоить имя спедvет заменить символ 5. Присвойте ячейке ВЗ имя umax. 6. Выделите tpynny ячеек C2:D4, выберите команду встаВка >-- Имя >-- Создать, включите режим В столбце слева и щелкните на кнопке ОК. Повторите эти действия для ячеек E2:F4.
ILi Гnава 2 Ввод данных в таблицу. Теперь, когда таблица готова, осталось ввести в нее данные. 1. 2. 3. 4. 5. 6. В ячейку А9 введите число 1,ОЕ19 и скопируйте его в ячейки А10 :А16. В ячейку 89 введите число 300 и скопируйте его в ячейки 810:812. В ячейку 813 введите число 600 и скопируйте его в ячейки 814:816. В ячейки С9 , С10 , С11 и С12 введите соответственно числа 1Е4 , 1Е5 , 1Е6 и 1Е7. Скопируйте содержимое ячеек С9 : С12 в ячейки С1З:С16. В ячейку 09 введите следующую формулу: =(umax-umin)/(1 +(A9/NrY alpha)+umin и скопируйте ее в ячейки 010:016. 7. В ячейку Е9 введите следующую формулу: =2,319*Vm/((1 +0 ,8*EXP( B9/600))*D9*( B9fТO)лdelta) и скопируйте ее в ячейки Е10 : Е16 . 8. 9. В ячейку F9 введите следующую формулу: =(D9*(89fТO )лdelta)/(1+(С9/Е9)л beta)л( 1/Ьеtа) и скопируйте ее в ячейки F10:F16. Присвойте ячейкам А9 :А16 и С9: С16 экспоненциальный формат без десятичных знаков . 10. Присвойте ячейкам D9:F16 э кспоненциальный формат с тремя деся­ тич ны ми знаками . 11 . Скопируйте содержимое 12. В ячейку А17 введите ячеек A9:F16 в ячейки A17:F24. число 1 ,ОЕ21 и скопируйте его в ячейки А18:А24 . 13. Заключите группы ячеек в рамку, как показано на рис. 2.13. 14. Отключите отображение сетки рабочего листа. Закрепление заголовков. При просмотре данных с помощью по­ лос прокрутки заголовки часто исчезают из поля зрения . Чтобы этого из­ бежать , следует зафиксировать строки заголовков . Выдел ите строку, сле­ дующую после строки заголовков, и выберите команду Окно>- Закрепить области . Вся область рабочего листа, находящаяся выше выделенной строки, будет зафиксирована. При использовании полосы прокрутки бу­ дут перемещаться только строки , лежащие ниже закрепленной области . Можно также зафиксировать один или несколько столбцов с заголовка­ ми в левой части экрана или закрепить одновременно несколько столб­ цов слева и н есколько строк сверху. 1. 2. Выделите сТроку 9, щелкнув на ее заголовке в левой части экрана. С помощью команды Окно >Закрепить области зафиксируйте строки , лежащие выше выделенной. 3. Сохраните рабочую книгу. Окончательный вари ант рабочего листа изображен на рис. 2.13. По­ ск ольку окно разделено , а области закреплены , можно переключаться между двумя блоками таблицы , щелкая на полосе прокрутки выше или ниже бегунка (бегунком называется прямоугольный элемент полосы
,,, Инженерные расчеты прокруrки , при перемещении которого изменяется содержимое э крана) . Можно создать дополн ительные бл оки таблицы для различн ы х значени й концентрации п римесей . При их просмотре загол овки столбцов по­ п режнему будуr закреплены в верхней ч асти экрана. Чтобы отменить за­ крепление , воспользуйтесь командой Окно >- Снять закрепление областей . ~---- :п~f1"· Nr 6,50Е+22 Vm 1,10E.OS ·t: ?i ..~ :m то ·' Ее µ1 w'i1Э-t' 1.326Е.01 ": ~ " ..", " 1.326Е.01 ,. 1.З28Е.01 1 ,З28Е-01 .. 1 ,З28Е-О1 1,326Е-01 н 1.328Е-01 1.326Е~. 2.13 . Nf Vm ~max Te11neparypa . .. °'~ :m ЭAtl<'tpи•et•oe 6 Ее µ1 Попе npt'.MICIЙ "., Рис . 8,SOE+22 1.10E.OS то min КDнце11Траци• .· . '"· "" 11116-t ) м'IВ-с fВ/w 1,2ЮЕ.01 1 ,Е+21 1,Е+21 1,Е;{М 1,2ООЕ.О1 1 ,Е.а5 1,200Е-01 8,591E.OS 8,591E.OS 1,Е+21 1 ,Е+21 1,Е+21 1,Е+21 1,Е <\Е 1,2IOE.Q1 8,591Е.а5 1,E;{J7 1 ,200Е.01 1,200Е-01 8,591E.OS 1,D96Е.Щ 1 ,1 7ЗЕ<\Е 6,82ВЕ.01 1,Е +О4 1,272Е-01 8,34~E.Q2 1,E.OS 1,26'JE.01 1 .1 7ЗЕ<\Е 5,21~E.Q1 1 ,Е+21 1,Е<\Е 1,200Е.01 1 Ет21 1 Е•::? 1 1.17ЗЕ.ОS 1 17ЗЕ.ОS 7,981 E.Q2 Е.QЗ 8 .. E·Q1 , ·ti < ~~ '? ::~ ..f.-~ :~·; :"' :~ ~- 2.13. Табл и ца значен ий подвижн ости электро н ов в крем н и и Создание таблиц с помощью команды Данные>- Таблица подстановки Ком анда Excel Дан ные >- Таблица подстанов ки п озволяет создавать таблицы функций одной и двух переменных , имея лишь один экземпляр формулы , который не нужно :копировать в другие ячейки. Кроме того, таким образом можно рассчитывать несколько функций одного аргумента, значения которых будут выводиться в соседних столбцах таблицы. В случае двух переменных можно вычислять значения только одной функции . Команда Данны е >- Таблица подстановки имеет ряд п реи муществ п о сравнению с копированием формул . Во- первых, упрощается создание таблиць~, поскольку достаточно ввесrn лишь олин экземпляр формулы .
Гnава 11:1 2 Во-вторых, в формулу можно быстро внести изменения и сразу просмот­ реть результаты. Кроме того, можно отключить режим автоматического вычисления таблицы при изменении содержимого ячеек рабочего листа. Чтобы все формулы рабочего листа, за исключением таблиц данных, пе­ ресчит.ывались автоматически, выберите команду Сервис > Параметры, перейдите на вкладку Вычисления и включите режим автоматмчески кроме таблиц. После этого для повторного вычисления таблиц нужно бу­ дет нажать клавишу <F9>. Недостаток команды Данные > Таблица подстановки заключается в невозможности определить разные формулы для различных частей таб­ лицы. Например, нельзя использовать команду данные > Таблица _ подстановки для создания таблицы, предусматривающ~й особые формулы для интервалов, на которых аргументы равны нулю. Данный недостаток можно обойти, поместив в формулу логическое выражение выбора. Дру­ га.я сложность возникает при использовании нескольких функций . для вычисления значения формулы. Можно вычислять только одну формулу, а не их последовательность, как это было в предыдущем примере. Использовать команду Данные> Таблица подстановки или нет - дело вкуса. На построение таблицы путем копирования формулы уходит при­ мерно столько же времени, 'ПО и на построение таблицы с помощью этой команды. Скорость вычисления табJJИЦЫ также одинакова в обоих случаях. Если вам часто приходится изменять отдельные формулы или группы формул для лучшей обработки части диапазона входных значе­ ний, придется прибегнуrъ к копированию формул, поскольку команда Таблица подстановки не допускает под~ных операций. Иногда лучше использовать копирование, если вычисляемые формулы нельзя предста­ вить в виде единого выражения, а являются набором, каждый элемент которого вычисляет промежуrочное значение, используемое при опреде­ лении окончательного результата. Преобразовать их алгебраически в одну формулу обычно можно, но это потребовало бы дополнительной работы, и выражения получились бы громоздкими. Таблица функции с одним аргументом, созданная с помощью команды Данные,,.. Таблица подстановки Чтобы создать таблицу функции с одним аргументом с помощью ко­ манды Данные> Таблица подстановки, сначала нужно настроить рабочий лист, следуя следующим общим правилам: • Поместите список входных значений в столбец, расположенный слева от таблицы результатов и смежный с ней . • Выберите удобную ячейку за пределами таблицы для использования ее в качестве ячейки ввода. Используйте ссылку на эту ячейку в каче­ стве арrумента во всех формулах. • Поместите формулу, по которой проводятся вычисления, в ячейку, расположенную на одну строку выше тела таблицы и в том же столб­ це. Можно вычислять сразу несколько таблиц функций с одним apry-
1µ1 инженерные расчеты ментом, если в них используется один и тот же набор входных дан­ ных. Для эт~rо достаточно разместить формулы в соответствующих • столбцах. Выделите прямоугольную группу ячеек, в которых содержатся вход­ ные данные ·И формулы . • ./Совет Чтобы использовать несколько формул для вычисления одного результа­ та, постройте такую же таблицу, как и в случае с одной формулой, и раз­ местите промежуточные формулы ·за пределами таблиць1. У данного ме­ тода есть ограничения: окончательный результат должен вычисляться в верхней ячейке таблицы, а формуль1 должны ссылаться только на себя или на ячейкv ввода. >- По окончании настройки рабочего листа выберите команду Данные Таблица подстановки. Появится диалоговое окно Таблица подстановки. Укажите в нем ячейку ввода. После этого Excel заполнит таблицу, под­ ставляя входные значения в ячейку ввода и проводя вычисления соглас­ но формуле. Результаты заносятся в столбец, расположенный под "фор­ мулой, каждый - против соответствующего входного значения. Можно создать и горизонтальную таблицу, с входными данными в верхней стро­ ке и формулой слева. Напряжения и деформации в балке, закрепленной - одним концом Расчет напряжений и деформаций балки является типичной задачей технической механики. Обычно стандартные балки описываются систе­ мой простых аналитических уравнений. Эти уравнения приводятся во многих справочниках для разных балок и опорНапряжение (S) балки в точке х, за:креrтенной одиим концом и с нагрузкой, приложенной в одной точке (рис. 2.14) описывается следую­ щим уравнением: w S=-(l-x) (forx<l) где W- z ' приложенная нагрузка, /- положение нагрузки, а Z - rтощадь поперечного сечения балки. Прогиб балки (у) вычисляется по следую­ щим формулам: Wx 2 у= -(31-х) 6EI w12 у= бЕ/(3х -/) где Е - модуль упругости, а (forx ~ l) {forx;::: l) I- момент инерции.
llФI Гnава 2 Длина L w х Рис. 2.14. Бапка, закреппенная одним концом, с нагрузкой в одной точке Рассмотрим балку, закрепленную одним конuом, длиной нагрузкой в 70 кг, приложенной на расстоянии 0,4 3,6 м и с м от свободного кон­ uа балки. Нужно вычислить возникающее в балке напряжение и прогиб в каждой точке. Тип балки: 1-образная, шириной 0,3 м и с линейной плотностью 80 кг/м. Площадь сечения балки (Z) равна 2 мЗ, момент инерции(/) равен 3,68 м4 и модуль упругости (Е) равен 5,3 кг/м2. Создадим инженерную таблиuу напряжений и прогиба балки, закреп­ ленной одним конuом, по всей ее длине через каждые 0,3 м. На самом деле это две таблицы, для которых в команде Таблица подстановки ис­ пользуется общий набор входных данных. В первой таблиuе вычисляют­ ся напряжения, а во второй 1. 2. прогибы. - Оп<ройте новый рабочий лист и назовите его рис. Установите следующую ширину столбцов от А до А: В: 3. , Заполните Ячейка А1 9 4 С: 10 D: 11 Е: 3 2.15. G: G: 9 Н: F: 19 5 и отформатируйте ячейки следующим образом: Содержимое Формат Балка, закрепленная По центру ОДНИМ КОНЦОМ \ Ячейка F12 А6 А7 А10 А11 1\1\ЯЧеЙКЗN\ По центру GЗ ввода G4 Расстояние По центру По центру отсrены По центру А12 (М) По центру сз Напряжение По центру G5 G7 G8 G9 Содержимое Модупь упругости 3,6 2,6 70 I-образная о,З 80
Инженерные рас:четьr ячейка Содер...мое С4 (кr/м2) DЗ Прогиб (м) Длина балки 04 FЗ F4 F5 F7 F8 F9 F10 F11 Формат Ячейка Содержимое 2 По центру По центру G10 G11 G12 5,3 По центру 3,68 Нз м Поrюжение наrруэки Вес наrрузки Н4 Н5 м кг Тиn балки на м Ширина Н9 кr/м Линейная мотность Ппощадь сечения Момент инерции Н10 Н11 Н12 3 м 4 м кr/м2 Выделите ячейку ввода, чтобы подчеркнуrъ ее особый статус и пре­ дотвратить ее заполнение посторонней информацией. В этом нет необхо­ димости , если включить режим защиты ячеек таблиu с помощью коман­ ды Сервис>- Защита. 4. Выделите ячейку AS и присвойте ей светло-серое заполнение. Ис­ пользуйте вкладку Вид диалогового окна Формат ячеек, появляющего­ ся по команде Формат>- Ячейки. 5. Присвойте ячейкам следующие имена: G4 G5 G8 G9 G10 6. L W Z 1 Е Введите исходные данные для вычислений. Нужно вычислить напря­ жение и прогиб балки через каждые 30 см . В ячейку 86 введите О, а в ячейку 87 - число 0,3. Выделите ячейки 86 и 87 и перетащите маркер заполнения до ячейки 818. В данной задаче используются две формулы для вычисления напря­ жения и две - для вычисления прогиба: одпа для расстояния от точ­ ки закрепления до точки приложения нагрузки, а друrая - для рас­ стояния от точки приложения нагрузки до свободпоrо конца балки. Выбор нужной формулы осуществляется с помощью логического опе­ ратора ЕСЛИ в зависимости от входпых значений. 7. В ячейку С5 введите следующую формулу: =ECЛИ(AS<L,CW/Z)*(L-AS),O) 8. В ячейку DS введите следующую формулу: =ECЛИ(AS<L,CW*A5"2)*(З*L-A5)/(6*E*l).CW*ASЛ2)*(З*A5-L)/(6*E*I)) Теперь можно применить команду Данные >- Таблица подстановки. Таблиuа состоит из столбца выходных данных и формулы. Ячейка ввода в нее не входит. 9. Выделите ячейки B5:D18 и выберите команду Данные >- Таблице подстановки . 1О. В диалоговом окне Твблица подстановки поместите точку ввода в строку Подставпять значения по строкам в и затем щелкните на ячейке
••~rJ AS. Гnава 2 В о кне появится ссыл ка на ячей ку ввода. Для создания табл ицы щел кн ите н а кнопке О К. Т .абnм11.а nnAcY аиом.м П 13 11 . Присвойте ячейкам CS:C18 числовой формат без десятичных знаков . 12. Присвойте ячейкам 05:018 числовой формат с 4 десятичными знаками . · 13. Разграфите таблицу , как показ<lно H<l рис. 2.15. 14. Отключите л инии сетки . Осталось скрыть значения , вычисленные по формулам и распол ожен - ные в верхних ячейках столбцов . · 15. В ыдел ите ячейки С5 : 05 . Вы берите ком анду Формат>- Ячей ки и п ер ей ­ дите на вкладку Число. Выберите категорию (все форматы) и введите код форм атирования ;;; в стро ке Тип . Щел кните на кнопке ОК. Дан ­ ный формат позволяет скрыть содержимое яч ейки. Есть и другой спо ­ соб . Если вы планируете защитить рабочий ли ст, можно скрыть со­ держимое ячеек, включив режим С кр ыть фо рм улы на вкладке Защита диалогового окн а Формат ячеек. На ли сте , защищенном с помощью команды Сервис>- Защита , содержимое таких яч еек не отображается . 16. Сохраните рабочий л и ст. Тепер ь рабочий ли ст должен вы глядеть , как показано на рис. 2.15. Если посмотреть на любую формулу в теле таблицы, видно , что все они ямяются формулами массива и заключены в фигур_ные скобки . Эти зна­ чения могут быть использованы в других формулах , но изменить значе­ ние какой -либо одНой ячейки в таблице независимо от остальных нельзя . Нап р яжение (кrlri) о 0 ,З (м) 0 ,6 0,9 1,2 1,5 1.8 2,1 2 ,4 2.7 " Дnина бал"" З,6 м Положени е нагруз)Си 2.6" Вес на грузки 0 .4038 1.5505 Ширина 60 З ,3432 ЛинеИная плотность 49 39 28 18 7 з.з 3.6 о 70"' 0,(ХЦJ 91 81 70 о о о з Пр о r иб 5.6850 8 ,4790 11,6284 15 ,0361 ... -·18,6054 23,9835 34 .4545 47,5526 63 5685 Ф орма бал1Оt ~образн а • 0 ,3" fO кr/м 2 "з П.nощадь сечения З ,68 м 4 Моuвнт инерции Ммvль v n ov ro cти 5 ЗОЕ..m "''" 2 Рис. 2.15. Таблица с одним аргументом для вычисления напряжения и про­ гиба в балке , закрепленной одним концом
••~11 Инженерные расчеты Таблица функции двух аргументов, соЗданная с помощью команды Данные~ Таблица подстановки Таблицы функций двух аргументов создаются с помощью команды Таблица подстановки аналогично таблицам функций одного аргумента. Значения первой переменной нужно поместить в столбец, расположен­ ный слева от тела ·таблицы и смежный с ним. Значения второй перемен­ ной помещают в строке, расположенной непосредственно над телом таб­ лицы. Формула размещается в ячейке, находящейся на пересечении строки и столбца входных да~ных. Необходимо определить две ячейки ввода за пределами таблицы и указать ссылку на них в диалоговом окне Таблица подстановки . Линейный переменно-дифференциальный трансформатор В состав национальной программы ядерной безопасности входит про­ в едение испытаний, в ходе которых ядерные реакторы и их компоненты выводятся из строя . Так определяют возможные последствия сбоя. При нагреве и остывании графитовых стержней изменяется их длина. Кроме того, при разруillающих испытаниях стержни часто ломаются, отчего их длина также значительно изменяется . Для измерения изменений длины применяется линейный переменно-дифференциальный трансформатор (ЛПДТ). ЛПДТ состоит из двух одинаковых катушек вторичной обмотки, сим­ метрично расположенных вокруг первичной катушки. Вторичные катуш­ ки образуют последовательно-противоположное соединение. Когда пер­ вичная обмотка возбуждается источником постоянного тока, магнитное поле передается во вторичную обмотку через подвижный сердечник. Ес­ ли сердечник расположен в центре устройства, напряженность магнит­ ного поля во вторичных катушках одинакова. Поскольку они подключе­ ны последовательно-противоположно, результирующее электрическое напряжение равно нулю . Если переместИ:ть сердечник в каком-либо · на­ правлении, возникает переменное электрическое напряжение. Последо­ вательно-противоположная конфигурация помогает также уменьшить шумы, вызванные термо- и радиоизлучением. Калибровку ЛПДТ производят при нескольких различных температу­ рах . Затем строят кривые зависимости напряжения от смещения . После этого коэффициенты кривой можно подставить в линейную функцию температуры и получить температурную чувствительность. Результаты обобщения кривых калибровки выражаются следующей формулой : х= а0 где х - + a 1 V+ а 2 (Т- 608) + a3 V(T- 608), удлинение топливного стержня в миллиметрах, вольтметра и Т - V- показания · показания термометра в градусах Кельвина. Предпо­ ложим, что коэффициенты имеют следующие значения:
liфl Гnава а0 0,3347 о2 о3 -2, 19701х10-з мм/К а1 2 мм 10,6592 мм/В -б,32622х 10~ 4 мм/К.В Воспользуемся этими значениями дпя создания таблицы зависимо­ сти уллинения топливных стержней от напряжения и температуры, со­ гласно показаниям приборов. 1. Создайте новый рабочий лист и назовите его рис. 2. Присвойте столбцам от А до 3. G 2. 16. следующую ширину: Столбец Ширина Столбец Ширина А В С о 15 12 14 Е 9 9 9 F G 9 Введите в таблицу и отформатируйте следующие значения: Формат Ячейка Содержимое А1 АЗ Таблица калибровки лnдт А4 в миллиметрах А8 "Ввод столбца По центру А10 "Ввод строки По центру А12 Показания По центру А13 вольтметра По центру А14 (В) По центру С2 Коэффициенты 01 02 0,3347 Е1 а1 Е2 10,6592 F1 F2 G1 G2 G4 Удлинение топливного стержня ао а2 По центру По центру -0,00219701 аз По центру -0,000632662 Показания термометра (К) С5 300 05 ES 400 500 600 F5 По центру Теперь выделите ячейки ввода, чтобы пояснить принцип работы таблицы. Воспользуйтесь для этого командой Формат>- Ячейки. Для за­ полнения ячеек выберите на вкладке Заполнение появившегося диалого­ вого окна светло-серый цвет. 4. Выделите ячейку А7, выберите команду Формат>- Ячейки, перейдите на вкладку Заполнение, выберите светло-серый цвет и щелкните на кнопке ОК. Повторите эту операцию для ячейки А9. Введите. в левом столбце таблицы значения первого аргумента.
Инженерные расчеты 5. В ячейку ячейки 86 введите числ о 1,2, а в ячейку 8 7 - чи сло 1,0. Выделите 86:87 и перетащите маркер заполнения до ячейки 8 18. Последний шаr настройки ввод в таблицу функции двух аргумен­ - тов на пересечении строки и столбца , соде ржащих входные данные. Помните , что формула должна обращаться к обеим ячейкам ввода. 6. Введите в ячейку 85 следующую форм улу: =D2+E2*А7+F2*(A9-608)+G2"(A9-608)*А7 Осталось выполнить подстановку и отформатировать готовую табли­ цу. Нужно скрыть содержимое ячеек с формулами , чтобы они не вы­ давались на фоне остальн ой таблицы (с помощью кода форматирова­ ния;; ; ). 7. Выделите ячейки B5:F18 и выберите команду Данные >- Таблица подстановки . В появившемся диалоговом окне Таблица подстановки перейдите в строку Подставлять знач ения п о столбцам в и щелкните н а ячейке А9, чтобы определить ссылку на ячейку ввода в строке. Пе­ рейдите в стр оку Подставлять значения по строка м в и щелкните на яч ейке А7 , чтобы определить ссьmку на ячейку ввода в столбце. 8. Присвойте ячейкам 86:81 8 числовой формат с 1 десятичным .знаком. 9. Присвойте ячейкам C6:F1 8 числовой формат с 2 десятичными знака­ ми . 10. Присвойте ячей ке 85 произвольный формат с кодом ее содержимое . 11. Разграфите таблицу, :как показано на рис. " 2.16. ·- Покаэ аw~" т1рwоwетр~ ('К) 300 .. ! ,2 .. . . . 1.о . ... о:е о,б · " Рис. 11,67 .. '9$• 7 ,41 5,26 0,2 З,14 о.а (8) . ЩЮ ...... 0,4 -С,2 8 0.flь тм еrр.а .... 9,10; !i.iie 7,19 6,97 • .84 6 ,75 4,62 2,48 :1)7 ·З,25 -С.В -7,52 :.1.,CI ·12 ·11,78 ·9,&;, 2.70 2,92 О/~ -5..эе . 600 5 ,1); · 1,34 -3,47 -5,60 -7,74 -9,87 -12 00 <J.6 500 ..9,32 1.•01 -С,4 2. 16. Таблица для .соо 4 13,58 . .. 1З ,36 : ... · 13,1 11,01 __11"45 1 1~:. .. .. 0!>7 " -1,56:. . [1,З5 .1)е -3,69 . -Э,91 ·5,Bi -6 ,04 -7,'16 -8,18 -10))9 " .. . :1.0.31 -12 44 · 1222 калибров ки ЛПДТ ;;;, чтобы скрыть
Гnава 12. Отключите отображение линий 13. Сохраните рабочий лист. 2 сетки. Готовый рабочий лист должен выглядеть, как показано иа рис. 2.16. Если теперь изменить одно из входных значений в строке или в столбце или формулу, таблица будет пересчитана автоматически. Так происходит до тех пор, пока на вкладке Вычиспения диалоtовоrо 0Ю1а Параметры включен режим автоматически. Его можно отменить, воспользовавшись командой Сервис > Параметры и выбрав друтой режим - автоматически кроме таблиц или вручную. Чтобы обновить таблицу, которая не пересчи­ тывается автоматически, нажмите клавишу <F9>. Чтобы добавить строки внизу таблицы или столбцы справа, нуА<Но выделить данные и включить их в таблиuу с помощью команды Данные >Таблица подстановкИ. Если нужно вставить строки или столбцы в сере­ дину таблицы, необходимо сначала выделить и очистить всю таблицу (но не входные значения или формулы), потом вставить новые строки, выде­ лить новую таблицу и снова вызвать команду Данные > Таблица подстановки. Создание и использование калькуляторов функций Калькуляторы функций - это специальные листы-шаблоны, играю­ щие роль специализированного микрокалькулятора. Туда вводят одно или несколько чисел и на их основе производят вычисления. Вообще го­ воря, калькулятор функции не вычисляет таблицы ее значений, а только отдельные значения. Обязательный атрибуг калькулятора функции - область ввода, куда пользователь вводит входные значения, и область вывода, где появляется результат. Можно также защиrnть остальные ячейки листа, чтобы пользо­ ватели могли вводнть значения только в область ввода и никуда больше. Создание калькулятора простой функции Калькулятор функции не обязательно должен быть сложным. В этом первом примере мы создадИм калькулятор, имеющий одно входное зна­ чение и одно выходное, и проводящий вычисления по одной простой формуле. Калькулятор юлианских дней _ Запись дат и времени астрономических событий, измерений и наблю­ дений является одной из принципиальных задач. Хотя даты можно обо­ значать обычными днями , месяцами и годами, неравномерная продол­ жительность месяцев и лет усложняет расчеты . При определении вели­ чины временного интервала между двумя событиями приходится учиты­ вать продолжительн ость лет (сколько прошло обычных и сколько сокосных) и продолжительность месяцев. - ви­
11~0 Инженерные расчеты Астрономы не желают проводить время за подсчетами продолжитель­ ности месяцев и лет, когда над головой чистое ночное небо и хорошая видимость (частота мерцаний звездного света: чем меньше, тем лучше). Поэтому они используют систему измерения времени, называемую юли­ анскими днями и предложенную Джозефом Юлианский календарь дней, начиная с Скэлинджером в 1582 г. состоит из последовательно пронумерованных 1 января 4713 r . до н.э. (Совершенно непонятно, почему он выбрал такую дату, но она намного опережает все достоверные лето­ писи .) Чтобы определить разницу во времени между двумя событиями, нужно просто вычислить разность их юлианских дней. В юлианских сутках 1О часов. Поскольку астрономы в оси овном рабо­ тают по ночам, юлианские дни отсчиты.ваются не от полуночи до полу­ ночи, а от полудня до полудня. Поэтому полночь с 31 декабря на 1 января 1980 года - это юлианский день 2 444 239,5. Способ хранения даты и времени в функциях 1979 года Excel очень похож на Excel rtачало отсчета юлианские дни. Различия заключаются в том, что в приходится на 1 января 1900 года и используется более традиционное определение времени суток - от полуночи до полуночи. Таким образом, чтобы преобразовать дату Excel в юлианский день, достаточно прибавить постоянное смещение. 4' Внимание Для совместимости с 29.02.1900. та Lotus 1-2-3 в Excel учитывается Если ограничиться периодом после возникнет. Кроме того, в Macintosh точкой отсчета несуществующая да­ 01.03.1900, проблем не является 01.01.1903. Не забывайте об этом п и пе еносе п ог амм с одной пла ю. В следующем примере мы создадим простой калькулятор функции, преобразующий стандартную дату в юлианский день. 1. 2. 3. Создайте новый рабочий лист и назовите его рис. 2.17. Установите ширину столбца А равной 16, В - 15, и D Введите и отформаm:руйте следующие значения: 11. Формат Ячейка Содержимое А1 Калькулятор юлианских дней АЗ А4 Введите дату и время. Дата должна находиться в диаnазоне между А6 Март 1900 и 31Декабрь2078. Стандартные дата и время А? Дата: С? Время: А9 А11 Юлианский день: Юлианские дни А12 а не от полуночи до полуночи. Сутки делятся на А1З часов. Сутки делятся на 10 часов. Юлианский календарь отсчитывается от 471Зr. До н.э. 01 По правому краю По правому краю По правому краю отсчитываются ог nолудня до nолудня 1 10 января
llФI Гnава 2 Юлианский день для 01.01.1980 после полудня обозначается как ЮД 2 444 240. Используйте эту дату для синхронизации юлианского ка­ лендаря с функuиями даты и времени Excel. Не нужно применять функ­ цию ДАТАЗНАЧ() к содержимому ячейки 07, 87 или функцию ВРЕМЗНАЧ() к поскольку преобразование даты и времени, введенных как текст, во внутренний формат осуществляется автомаrически. 4. В ячейку 89 введите следующую формулу: =В7+07-ДАТАЗНАЧ("1/1/80")+2444239,5 5. Заключите в рамки ячейки 87, 07 и 89. 6. Присвойте ячейке 87 формат Дата типа 16 Апрель 1997; а ячейке 07 формат Время типа 13:30. 7. Присвойте ячейке 89 числовой формат с двумя десятичными знака­ ми. На вкладке Число диалогового окна Формат ячеек установите флаг Разделитель групп разрядов. Текст в ячейках А 11:А13 выглядит несколько неаккуратно . Команда Правка >- Заполнить >- Выровнять позволяет сформировать компактный абзац. Выравниваемый текст должен находиться в одном столбце. Выби­ раемый диапазон ячеек определяет ширину текста после выравнивания. 8. Выделите ячейки А11:015 и выберите команду Правка>- Заполнить>­ 9. Отключите отображение линий сетки. Выровнять. Осталось установить защиту рабочего листа, чтобы другие пользовате­ ли не смогли разрушить плоды ваших трудов. Необходимо защитить все ячейки, кроме предназначенных для ввода времени и даты, пересчиты­ ваемых в юлианские дни. Воспользуйтесь командой Формат>- Ячейки. На вкладке Защита диалогового окна Формат ячеек отключите для этих яче­ ек режим Защищаемая ячейка. Затем с Помощью команды Сервис >Защита >- Защитить лист установите защиту рабочего листа. Если пользо­ ватель попытается изменить защищенную часть листа, Excel выдаст зву­ ковой сигнал и сообщение, объясняющее, что данная ячейка не подлежит изменению. Для защиты документа можно использовать пароль. В этом случае пользователь не сможет снять защиту и внести изменения, не зная пароля. Если включить ре)!ЩМ Скрыть формулы на вкладке Защита диало­ гового окна Формат ячеек, пользователь не сможе.т также увидеть формулы . 10. Выделите ячейку В7, выберите команду Формат>- Ячейки, перейдите на вкладку Защита, отмените режим Защищаемая ячейка и щелкните на кнопке ОК. Повторите эту операцию для ячейки 07.
Инженерные расчеты 11. 1iфJ > > Выберите команду Сервис Защита Защитить лист. Появится диа­ логовое окно Защитить лист. Флажок содержимого должен быть уста­ новлен. Щелкните на кнопке ОК. 12. Сохраните рабочуЮ книгу. Введите в ячейку 87 дату, а в ячейку 07 - время, используя форматы Excel. В ячейке 89 появится эта дата в юлианских днях. Например, если ввести в ячейку 87 дату 19 Январь 1997, а в· ячейку 07 - время 16:00, ра­ бочий лист будет выглядеть как на рис. 2.17. ведкте дпу и еремя. ата доJ1ЖНа на•одитъся е диапазоне между Стандартмые дата и врем11 Даn: ,..!""'1э,...,R<=-е-ар-ь.'""199=11 01 Март 1!0J и 31 Декабрь 2076. Вреwя: ~l1в_оо""----' 2 450 468 ,17J Рис. 2.17. Калькулятор функции вычисления юлианских дней Если вместо юлианского дня в ячейке ке #ЗНАЧ! , 89 nQявилось сообщение об ошиб­ возможно, был использован нестандартный для мат даты и в емени ~ П ове ьте соде жимое ячеек Excel фор­ аты и времени. Создание калькулятора сложной функции Калькулятор функции не всегда столь прост, как на рис. 2.17. У него может быть несколько входных и выходных данных. Процесс создания калькулятора сложной функции мало отличается от создания простого калькулятора. Ячейки ввода по-прежнему являются единственными не­ защищенными на листе, а в ячейках вывода содержатся формулы, по ко­ торым вычисляются значения на основании входных данных. Сложные калькуляторы удобны при инженерном анализе и оптимизации. При раз­ работке новой системы или устройства, вычисленные оптимальные зна­ чения по некоторым показателям часто оказываются непрактичными . Например, шины меньшего размера по левой стороне автомобиля позво­ ляют ему лучше выполнять повороты влево . Возможно , такое решение оптимально , но оно, безусловно, неприменимо на практике, разве что для гоночных машин для езды по круговой трассе . Если использовать
rnaвa 2 оптимальное зиачеиие невозможно, необходимо найти компромиссное зиачеиие, несколько меньшее оптимального, которое было бы примени­ мо в реальной жизни и одновременно позволяло бы достичь удовлетво­ рительной производительности. Для достижения такоrо компромисса весьма удобен калькулятор сложной функции . . Термоэлектронный редиатор Термоэлектроииый радиатор - это твердотельное устройство для от­ вода тепла. Ои представляет собой полупроводниковый прибор, в кото­ ром для передачи тепла из одной части в друrую используются электро­ ны. Когда иа термоэлектронный радиатор подается напряжение , одна его часть нагревается, а другая ли, - охлаждается, в отличие от термопары. Ес­ наоборот, охладить одну сторону термоэлектроиноrо радиатора и нагреть дРуrую, ои иачииает генерировать электрический ток Если из­ менить направление прило.жеииого к радиатору иапряжеиия, "холодная" и "горячая" стороны меняются местами. Долгое время термоэлектроииые радиаторы применялись для охлаж­ дения маленьких объемов в ограиичеииом пространстве, таких как не­ большая изолированная электрическая цепь иа большой или средней плате. С иедавиего времени такие радиаторы стали применяться для ох­ лаждения или подогрева емкостей для храиеиия пищевых продуктов , чтобы можно было взять иа пикник горячую еду или холодное пиво. В следующем примере мы создадим калькулятор усложнеииой функ­ ции для расчета термоэлектроииого радиатора. Калькулятор будет вычис­ лять все необходимые коиструктивиые и рабочие параметры . Входные параметры для расчета термоэлеiсrроииого радиатора де­ лятся иа две группы: параметры материала и параметры прибора. В чис­ ло первых входят коэффициент Сибека (а), сопротивление (р) , и оце­ ночное число (Z) для полупроводников n- и р-типа , из которых состоят два плеча радиатора. Параметры для двух полупроводниковых материа­ лов, чаще всего используемых в термоэлектроииых радиаторах, приво­ дятся в следующей таблице. Параметр nолупроаодннк n·тнпа nолуnроаодннк р-тнnа Состав 75% Вi 2Тез 25% Bi 2Seз 25% Вi2Тез 75% SЬ2Тез КоэффициентСибека (а) Сопротивление (р) Оценочное число (Z) -1,65х1О· 4 1,О5х10·Э 2,10 х 1О· 4 В/К 9,8х10·4 Ом.см 2,Ох 1о·Э Э,Sх 1о·з (К)· 1 Теплопроводность материала (Л.) вычисляется по формуле: а2 Л =рZ Коэффициент Сибека иа рn-переходе вычисляется по формуле :
1111 Инженерные расчеты Перейдем к параметрам прибора. Начнем с оrnошеиий площади к длине n- и р-областей термозлектроииого радиатора - 'fn и 'Ур· Это кон­ структивные параметры. Следующее выражение позволяет оптимизиро­ вать иа основании этих параметров коэффициент полезноrо действия ([3): (p)-.PJ У у Р = р РА" 11 Оценочное число для рn-перехода вычисляется по формуле: 2 z = !!:__ RК rде R- сопротивление прибора, а К - его теплопроводность. R=p"+PP Л" Лр К= 'А"Уп +'Ару р Оптимальное оценочное число вычисляется по формуле: • Z а2 = [ (р п Л" ) 1/2 + ( рр Ль ) i;2] Друrой коиструктивиый параметр - ток источника. Его зиачеиие, оп­ тимальное для коэффициента полезного действия, получается из формулы: != 1 аЛТ R [ ( + z• I:v) где Tav ( Th) нагретой 112 - 1] средняя температура, а LI Т - разница температур между и охлаждеииой областями (Те). Количество отводимой от охлаждаемой области теплоты вычисляется по формуле: q = aTJ-{1 2 R-KЛT Коэффициент полезного действия - зто оrnошеиие колнчества теп­ лоты, отведеииой от охлаждеииой области, к количеству электрической энергии, требуемой для отвода: f3 = aTJ - ~ 1 R - КЛТ 2 2 а1ЛТ+1 R
Гnава llrj 2 Чтобы найти максимальное значение \3, нужно подставить в эту фор­ мулу оптимизированные зиачеиия J, К и R: ~[(1 + z•та\1 )1 = ЛТ 13 max ( 1+ Z • 12 - т;,;т::] I:v )1/2 + 1 Наконец, формула для расчета входной мощности прибора имеет ВИд: Р=а.!ЛТ+/ 2 R Если устройство оптимизировано полностью, эта величина будет рав­ на оптимальной входной мощности: P=-q- 13 max На основании приведенных выше формул создадим калькулятор функции, определяющий все параметры прибора. Мы вычислим два на­ бора зиачеиий: один для входных параметров устройства, а другой - для оптимизироваииых значений параметров устройства. Начнем с ввода ти­ па и параметров материала, описанных выше. 1. 2. Создайте новый рабочий лист и назовите его рис. Установите ширину столбцов от А до Е: Столбец Ширина Столбец А 16 12 12 D 12 Е 9 В с 3. 4. Ширина В ячейку А 1 введите текст Расчет термоэлектронного радиатора. В ячейку А2 введите текст: n-тип: 5. 2.18. 75% Bi2Тез 25% Bi2Seз р-тиn: 25% Bi2Seз 75% S~Тез Введите в указанные ячейки следуюшие значения: ЯчеАка Содержимое а= Ячейка С5 Содержимое АЗ А4 р= DЗ 2,1Е-4 А5 вз В4 В5 сз С4 Z= D4 D5 9,8Е-4 3,5Е-3 ЕЗ В/К Е4 Ом-см Е5 1/К -1,6Е-4 1 ,05Е-3 2,ОЕ-З В/К Ом-см 1/К Теперь иужно ввести формулы для расчета теплопроводности и тем­ пературы нагретой и охлажденной областей. Предположим, что иужно подцерживатъ температуру холодной поверхности иа точке замерзания воды (273 К), а горячей - при температуре 327К, чтобы средняя темпе­ ратура равнялась комнатной (ЗООК). Введем также отношения плошади к длине. Оптимизированное значение 'Ур будет вычисляться в ячейке D11 .
,,,, Июненерные расчеты 6. Введите следующие значения в указанные ячейки: Ячейка А6 Содер)IСИМое Л. = Ячейка Содер...мое D7 273 В6 =83А2f(В4*85) Е7 К С6 Вт/см-К А8 у= D6 D3A2f(D4"D5) 88 1 Е6 А7 Вт/см-К Т-rоряч., Т-хол.= С8 см DS 1 87 327 Е& см С7 К Теперь вычислим все оценочные числа, количество отводимой теп­ лоты и силу тока. Поместите, расчеты оптимальных величин в правом столбце таблицы, а реальные значения - в левом, чтобы пугем подбора последних можно было максимально приблизиться к оптимуму. Обычно использовать оптимальные значения нельзя. Например, нельзя иа прак­ тике сделать "горячее" и "холодное" плечи разной длины, даже если этого требуют оптимальные параметры. Данный калькулятор позволяет оценить, насколько изменяется эффективность прибора, если не исполь­ зовать оптимальных зиачеиий. 7. Введите следующие значения в указанные ячейки: Ячейка А9 Содержимое 89 Tav= =(87+D7)12 С9 Ка= D9 810 D10 =АВS(ВЗ)+А8S(DЗ) Общи_е значения Оптммальные значения А11 уроптмм. D11 =КОРЕНЬ{D4"86/(В4*D6)) = Е11 см А12 Z= =09"2/(813*814) 812 С12 D12 1/К =D9A2/((KOPEHb(В4*В6)+KOPEHb(D4*D6))A2) Е12 А13 1/К К= 813 =В6*88+D6*D8 С13 Вт/К D13 =86*88+D6*D11 Е13 А14 R= 814 =В4/В8+D4/D8 Е14 А15 Вт/К Ом 815 1= 29 С15 А D15 =D9*(87-D7)/(D 14*(KDPEH Ь{1+D 12*89)-1)) Е15 А
1111 Гnава Ячейка Содержимое А16 qc= В16 =09*07*В 15-0, 5*815"2*В 14-В 13*(87-07) С16 Вт 016 =09*07*015-О,5*015"2*014-013*(87-07) Е16 Вт А17 /3= 2 =(09*07*В 15-0,5*В15"2*814-В 13*(В7-07))/(09*В 15*(87-07) 817 +В15"2*В14) =(07/(В7-07))*(КОРЕНЬ(1+012*B9)-B7/D7)/(KOPEHb(1+012*В9)+1) 017 8. А18 Р= 818 С18 =09*В 15*(В7-07)+В 15"2*814 Вт 018 =016/D17 Е18 Вт Выровняйте ячейки АЗ:А 18 по правому краю и присвойте следующим ячейкам числовой экспоненuиальный формат с 3 десятичными зна- ками. В3:В6 В12:В14 . 03:06 09 012:014 / Экс~ есс-метод ~ .,, Процесс форматирования нескольких групп ячеек можно ускорить, воспользовавшись функцией копирования формата. Отформатируйте первую группу, затем выделите ее и щелкните на кнопке Формат по образцу. Если теперь выделить любую другую группу ячеек, им будет п 9. исвоен тот же Присвойте следующим ячейкам числовой формат с 3 десятичными знаками: 10. 815:818 011 015:018 , ,Jc, ~ Снимите защиту со сл~дующих ячеек. Для .· .р команду Формат ~ Ячеики, этоrо выберите в появившемся диалоговом окне перейДите на вкладку Защита и отключите режим Защищаемая ячей­ ка. Затем измените шрифт в этих ячейках 11а полужирный, щелкнув на кнопке с буквой Ж на панели инструментов Форматирование. А2 815 83:85 03:05 87:88 07:08
il&i Инженерные расчеты 11. Оrключите отображение линий сетки. 121 ~ Вьще1!ите ячейки A2:F2 и подчерюште их, используя жирную ·~ J нижнюю границу обрамления из палитры Границы на панели инструментов ·Форматирование. Повторите эту операцию для ячеек A9:F10. Запомнить, какие величины обозначены какими буквами в столбце А, не так-то просто. Поэтому давайте создадим серию примечаний к ячей­ кам, в которых укажем полные названия содержащихся в них величин. Чтобы создать примечание к ячейке, нужно вьщелить ее и воспользо­ ваться командой Вставка >- Примечание. Рядом с ячейкой появится окно кадра, в котором вводится текст. Если текста слишком много, можно из­ менить размеры кадра, перетаскивая расположенные по его углам и сто­ ронам маркеры. По окончании ввода щелкните на любом месте за преде- . лами кадра в правом верхнем углу ячейки, у которой есть примечания, появляется маленький красный треугольный индикатор . • (.х= С~ТИ8АfМ'е р= "<IТеокам! Z="" А=' Т- горя~ .• Т- хол. =' 6,,,;"""'""11?'!"'"""'!!13 \ -у=" см Tav=' ЗООК а= Об ие зна~ения 'когда указатель мыши попадает на ячейку, содержащую примечания, текст примечания "всплывает", как показано на следуЮщем рисунке. ,_ .а · o.=u- о~:. А=' • T·ropfN., Т- хол. =' у=' Tov =' 13. Дополните Ячейка АЗ --. 1 Cll :nJ К а= указанные ячейки следующими примечаниями. А12 Примечание Коэффициент Сибека для материала Сопротивление материала Оценочное чисnо для материала Темопроводность материала Температуры горячей и холодной областей Отношение площади области к ее длине Средняя температура Коэффициент Сибека для рп-перехода Оптимальное отношение площадь/длина для р-области при заданном отношении площадь/длина для n-области Оценочное чисnо для рn-перехода А13 Теплопроводность прибора А4 А5 А6 А7 А8 А9 С9 А11 (
1111 , Ячейка Примечание А14 Соnротивление nрибора А15 А16 Ток, nротекающий через прибор А17 А18 Коэффициент полезного действия Входная мощность Гnава 2 Количество теплоты, переданное с охлажденной nоверхности 14. Установите Защита защиту листа, >- Защитить лист и, воспользовавшись командой Сервис >- шелкнув на кнопке ОК в диалоговом окне Защитить лист. 15. Сохраните рабочую книгу. Теперь рабочий лист должен выглядеть, как пока.Зано на рис. 2.18. Незащищенные ячейки (те, значения в которых можно изменять) вьще­ лены полужирным шрифтом. Можно сделать их цветными с помощью команды Формат ~ Ячейки, воспользовавшись вкладкой Шрифт диалого­ вого окна Формат ячеек. Расчет тepuoэne"'Jloннoro ре,цматора n-тмn: 75'11. в~.тез 25'11. в~s" а= .1,650Е.114 В1К р=' 1,1150E.Q3 2.ОООЕ.ОЗ 1,296Е-02 3П Z =' А=' Т-rор~ч. , Т-хоп. =' у=' ..,. оmим. 3,500Е.ОЭ 1/К 111< 300 К Об 25% BI,Те, 75'!1 SIJ:Te, 2, 100Е.114 В1К 9,ВООЕ.114 cu o... Ом-сu Вт/сu-К К , см Tav=' р.пn: 1.2!1;Е-02 Вт/сu-К 273 а=' ме эначениfll Опntмапьные эна,,,енм" 2 ,68ЗЕ.ОЗ 111< 2.68ЗЕ.ОЗ 111< 2,544Е-02 Вт/К 0,970 11 Z=" К•" R:" =. ."" q, f,=' Р=" к , cu 3750E.Qol 2.582Е-02 Вт/К 2,l!JJE-03 Ом 29,llOO А 0,721 Вт ·2.WJE.OЗ 28,614 0,712 Ou А Вт О.З14 О.З14 2,294 см 2.266 Вт Вт 8 Рис. 2.18. Калькулятор функции анализа термоэлектронного радиатора С помощью данного листа можно подобрать конструктивные значе­ ния в незащищенных ячейках и оценить степень влияния изменений в конструкции радиатора на эффективность · и требования к мощности. Можно также сравнить конструктивные параметры с оптимальными и определить, нас~s..олько реальная конструкция отличается от оптимальной. Резюме Данная глава охватывает, по крайней мере, 50 процентов приемов ра­ боты с электронными таблицами, ежедневно используемых на практике учеными и инженерами . Большая часть вычислительной работы заключа­ ется в подстановке простых чисел в относительно простые формулы и вычислении результатов. Как видно •. формат электронных таблиц очень
11 Q Инженерные расчеты удобен для работ такого рода. Единственное, чего недостает, - это rpa- - фическое представление данных, о котором мы поговорим в следующей главе. В этой главе бьши использованы различные методы создания инже­ нерных таблиц и калькуляторов функций в Excel. Инженерные таблицы позволяют вычислять одно или несколько значений по научным и инже­ нерным формулам. Калькуляторы функций вычисляют значения по на­ бору сложных формул; они позволяют создать модель сложной системы, провести экспериментальный анализ системных параметров и немедлен­ но получить результат. При создании таблиц и калькуляторов бьши ис­ пользованы многие команды и приемы, упрощающие работу с таблицами и определяющие их внешний вид. По мере использования Excel для ре-· шения собственных задач и накопления опыта в построении электрон­ ных таблиц вы обнаружите множество других способов вычисления и представления полезных результатов. Дополнительная литература Теплопроводность L. Heasell, "The Heat Flow ProЫem in Dev., ED-25, 12 (Dec. 1978):1382 Silicoп," IEEE Trans. оп Е/ес. Прецессия северного полюса мира А 1969), Е. Roy, р. 53. The Foundations о/ Astrodynamics (New York: Macmillaп, . Зависимость концентрации собственных носителей от температуры S. М. Sze, Physics 1981), р. - 19. о/ Semiconductor Devices, 2nd. ed. (New York: Wiley, . Уравнение Ван-дер-Ваальса D. Halliday, R. Resпick, Physics (New York: Wiley, 1967), рр. 611-615. Абсолютная звездная величина D. S. Bimey, Modem Astronomy (Boston: Allyn and Bacon, 1969), 174. рр. 168- Подвижность электронов в кремнии W. J. Orvis, Semiconductor Device Modeling with BURN42; а OneDimensional Code for Modeling Solid State Devices, UCID-20602 ·(Livermore, СА: Lawrence Livermore National Laboratory, 1985), р. 8.
111:1 Гоава 2 D. М. Canghey, R. Е. Thomas, "Carrier MoЬilities in Silicon Empirically Related to Doping and Field," Ргос. /ЕЕЕ (Dec. 1967):2192. С. Jacoboni, С. Canali, G . Ottaviani, А. А. Quaranta, "А Review of Some Charge Transport Properties of SiJicon," So/id State Electronics, 20 (1977):77. Напряжание и деформация 6алки, закрепленной одним концом Е. Oberg, F. D. Jones, Н. L. Horton, Machinery s HandЬook, 20th ed. (New York: lndustrial Press, 1978). Т. Baumeister, Е. А. Avallone, Т. Baumeister 111, Standard Handbook for Mechanical Engineers (New York: McGraw-Hill, 1979). Юлианские дни G. OtteweJJ, Тhе Astronomical Companion (Greenville, SC: Furman versity, 1979), р. 23. Uпi­ Тармоэлектронные радиаторы S. W. Angrist, Direct Energy Conversion, 4th ed. 1982), рр. 148-153. (Вoston : AJlyn and Bacon, Обзорные задачи 1. Создайте таблицу синусов, косинусов, тангенсов, арксинусов, аркко­ синусов и арктангенсов для углов от О до 180 градусов с шагом 1О градусов. Углы измеряются в градусах, а не в радианах. 2. Создайте таблицу логарифмов с произвольным основанием туральных логарифмов ln(x); log(x); 1ох экспоненты ех; степеней десяти на­ для значений о, 0,1, 0,3, о,5, о,9, 1,0, 2,0, 5,о, 8,0 и 10,О. Используйте про­ верку на. нулевой аргумент логарифмической функции с помощью оператора ЕСЛИ и автоматическую вставку текста Н/О для log(O) и ln(O). 3. Создайте :калькулятор простой функции, вычисляющий для данного угла в градусах все шесть тригонометрических функций (синус, коси­ нус, тангенс, секанс, косеканс, котангенс) и их логарифмы. 4. Лемниската Бернулли, известная также под названием "двухлепестковая роза" - это кривая в виде восьмерки, симметрич­ ной относительно оси х. Она определяется уравнением (х 2 + у 2 ) = а 2 (х 2 -у 2 ) Пусть а=2. Вычислите таблицу 5. or r2 = а 2 cos(28) 50 значений х и у для построения полной кривой (то есть для ев диапазоне от о до 2n). Создайте таблицу для сравнения давления при заданных температуре и объеме газа, исnользуя уравнение Ван-дер-Ваальса для азота, ам-
110) Инженерные расчеты миака и гелия. В таблице должно быть 1О различных комбинаций температуры и объема. 6. Газ а, л2 ·атм./моль2 Ь, л/моль N2 1,39 0,0391 0,037 0,0237 NНз 4,17 Не {},0341 Создайте калькулятор функции для термоэлектронного радиатора, в котором используются 75%-РЬТе 75%-РЬТе 7. 25%-SnTe и AgSbTe2. 25%-SnTe AgSbTe2 ~n N Р а 80 240 µВ/К р 0,8х 1о·З 4,3х 1о·3 Ом-см Z о,ах10· 3 1,ах10-з к- 1 Изгиб (напряжение и деформаuия) равномерно нагруженной (0,5 кг/ед. длины) балки, закрепленной одним концом, описывается урав­ нениями S= W (Z-x)2 2Zl у= Wx2 24Ell (1z2 + (2/ - х )2) Используйте ту же балку, что и в примере с нагрузкой, приложенной в одной точке. Создайте с помощью команды Данные >- Табпица подстановки таблицу с одним аргументом для расчета напряжения и деформаuии по длине балки для различных суммарных нагрузок. Массу балки включите в нагрузку. 8. Создайте калькулятор функции, преобразующий эклиптические коор­ динаты (эклиптическую широту ториальные координаты !} и эклиптическую долготу А.) в эква­ (прямое восхождение а и склонение Б). Входными данными являются дата и ~клиптические координаты, а выходными - экваториальные координаты. При вводе прямого вос­ хождения не забудьте преобразовать градусы в часы. (Используйте функцию ATAN2 для получения правильного квадранта.) 8 = arcsin[ sin(J3) cos( Е) + cos(J3 )sin(e )sin('A)] cos ( а ) = [ cos(J3 )cos('A)] соs(Б) . ( ) [ cos(J3 )cos(E )sin('A )- sin(J3 )sin(E )] s1n а = . соs(Б)
П4~м Гоава 2 а. = arctan( sin (а. ) ) cos(a.) 9. Скорость убегания v 2 = G( т 1 + т 2 ) (v) вычисляется по формуле: 2 r, где: G - гравитациоииая постоянная (6,67xl0-11 Н·м2/кr2); ml - масса планеты (кг); т2- масса убегающего тела (кг); радиус планеты (м). Создайте таблицу скоростей убегания для винтовочной пули, убегаю­ щей от следующих тел (ml>>m2 и, следовательно, зиачеиием т2 r- можно пренебречь). Солнце Меркурий Венера Земля Луна Марс Юпитер Сатурн Уран Нептун Плутон 10. Создайте тронов в Радиус (км) Масса (кr) 695 300 2 439 6 050 6 378 1 738 1,97х1030 2,39х102з 4,91х1024 3 396 5,98х1О24 7,35х10 22 6,58х1023 71 398 60 330 25900 24 750 1 500 5,70х1026 8,80х1025 1,04х1026 1,41х1022 1,90x1Q27 таблицу дрейфовой скорости (v) и подвижности GaAs, (Е) с иапряженн0С1ЪЮ, изменяющейся от О до µ 1E(l +BFt) v=------ I+Fk v µ=Е F= __§__ Ео • где: ЕО = 4 ООО В/см; µ1 = 8 ООО см2/В-с; k= 4; 0,05. В= (µ) элек­ двигающихся под воздействием электрического поля 10 кВ/см.
Инженерные расчеты Упражнения 1. Цистерна диаметром 3 м вмещает 115 ОООл воды. Создайте таблицу зависимости уровня воды от времени для скоростей иаполиения 20, и 200 л/мин. Координата камня, падающего под дс:йсrвием силы тяжести, описыва­ 40 2. ется выражением t - 1/'JX!2, а скорость - времени для первых 3. выражением gt, rде g = 980 м/с2, а время. Создайте таблицу зависимости коордИНаТhl и скорости от 20 секунд. Создайте топографический калькулятор функций. Топограф проводит лииию базиса и измеряет угол, образованный двумя точками базиса и вершиной возвышенности. По двум углам и раСстояиию между точ­ ками, в которых оии были измерены, нужно вычислить расстояние от лииии базиса до вершииьr холма. 4. Средняя скорость молекул идеалъиоrо газа (с) вычисляется по формуле: с=~ где: Р давление, а р - = - плотность. Создайте таблицу скоростей для молекул водорода (р 0,09 кr/мЗ) при давлениях 100, 10, 1, 0,1, 0,01 и 0,001 атм. (1 атм. = l,01325xl0s Н/м2). 5. Создайте калькулятор функции, вычисляющий среднюю скорость мо­ лекул идеальиоrо газа (см. упр. сти 6. и давления, вводимых 4) при различных зиачеииях плотно­ пользователем в миллиметрах JYIYFНOГO столба (1 атм. = 760 мм рт. ст.) По закону Пуазейля, уравиеиие для вязкой жидкости, текущей по трубе радиусом а, выглядит следующим образом: 4 7ta P Q = 811/ где Q - скорость истечения (мЗ/с), Р// - разность давлений вверху и внизу трубы (Н/мз) и ТJ - вязкость жидкости (кr/м·с). Создайте таб­ лицу с двумя аргументами, используя копирование формул, для воды (ТJ = lOOx lo-s ХГ/м·С), для 10 труб с диаметрами от 0,5 см до 5 см и для 10 разностей давлений между los и 106 Н/мЗ (от 1 до 10 атм. при длине трубы 7. 1 м). 6 для Решите задачу масла (ТJ=8400xl0-5 кrfм·с), используя команду Данные ~ Табпица подстановки. 8. Средняя скорость вязкой жидкости в трубе (см . упр. ется по формуле: _ а2 Р V= - - 811/ , 6 и 7) вычисля­
Гnава 2 число Рейнольдса равно: Re = 2vap 11 где: р - плоrnостъ (для воды - 1000 кr/м3, для масла - 900 кг/м3). В задачах 3 и 4 скорость истечения вычислялась для ламинарного тече­ ния в трубе. Если число Рейнольдса больше 2000, течение турбулент­ ное, и нужны другие формулы. Вычислите число Рейнольдса при дав­ лениях и диаметрах труб, использованных в задачах 3 и 4, чтобы про­ верить, все ли расчеты верны. 9. Создайте калькулятор функции для термоэлектронного генератора, в 10. котором используются 75%-РЬТе 25%-SпТе и AgSbTe2. Параметры материалов возьмите из задачи для повторения 6. Прогиб в центре балки, закрепленной обоими концами, с нагрузкой в центре, вычисляется по формуле: W/ 3 f = 48Е/ Используйте ту же балку, что и в рассмотренном примере и рассчи­ тайте прогиб при разных массах нагрузки. Какова должна быть на­ грузка, чтобы прогиб составил 2,5 см?
Гпава 3 Диаrраммы и rрафики В этоtй таrвг... ./ Типы диаrрамм Excel и их исnопьзование ./ Мастер диаrрамм ./ Составление диаrрамм na данным таблицы ./ Присвоение и изменение меток ./ Рисование "от руки" ./ Рисование no точкам Следующая задача после создания списка чисел - это их анализ. Простейщей формоii анализа является построение графика и исследова­ ние получившейся кривой. Таким путем было сделано немало научных открытий. В этой главе мы займемся изучением возможностей построе­ ния графиков с помощью Ехсе] и использования их в научных и инже­ нерных целях. Создание диаграммы В Ехсе] есть два типа диаграмм: внедренные в табтщу и расположен­ ные на отдельном листе. Внедренные диаграммы присоединяются к ра­ бочему листу. Оии являются его частью, подобно таблице значений. Лист диаграммы - это отдельный лист рабочей книrи , на котором, кроме диаграммы, ничего нет. В обоих случаях точки на диаграмме соответст­ вуют ячейкам таблицы рабочего листа. Выбор типа диаграммы зависит от тоrо, для чеrо она пред1шзначается. Для анализа данных иа рабочем листо больше подойдет маленькая внедренная диаграмма. Ее можно разместить там же, рядом с данными , на основе которых она построена. Внедренные диаграммы обычно слиш­ ком малы для демонстрации , но более чем достаточны для аналитиче­ ских целей. Диаграмму, предJiазначенную для презентации или докумен­ та лучше расположить на отдельном листе, чтобы обеспечить нужный размер и качество печати. Внедренные диаграммы Для создания диаграммы в Excel обычно используются четыре-пять команд: создание базовой диаграммы, выбор типа, присвоение меток и т.n . Для упрощения этой процедуры можно воспользоваться мастером
lfJI Гnава ~ г.tiJ диаграмм . Чтобы вызвать его. достаточно воспользоваться кнопкой LНJ на панели инструментов Стандартная или командой Вставка >- Диаграмма , предварительно выделив группу ячеек, на основании которых будет построена диаграмма. Выбор типа диаграммы В первом диалоговом окне мастера диаграмм выбирается тип диа­ граммы. Диаграммы делятся на две группы - стандартные и нестандарт­ ные . Этим группам диаграмм соответствуют вкладки окна мастера. В Exстандартных и 20 нестандартных типов диаграмм. Из них для l:el 97 14 инженерных и исследовательских целей пригодны, пожалуй, только Точечная и Поверхность. Точечная диаграмма - это обычный график функции на координат­ ной плоскости . Это единственная диаграмма, оси которой могут быть как линейными, так и логарифмическими. В остальных типах диаграмм ось х используется д.т~я комментариев , и ее масштаб всегда равномерен, независимо от того, что является аргументом функции . Такие диаграммы применимы для инженерных и исследовательских целей только в тех случаях , когда данные в таблице упорядочены и имеют постоянный шаг. Диаграмма Поверхность - это поверхность , образованная сеткой с прямоугольными ячейками и выведенная в трехмерной системе коорди ­ нат. Значения координат по осям х и у располагаются в таблице соответст­ венно выше и левее оси z. z. В масштабе выводятся только значения по оси Оси х и у являются равномерными и используются для комментариев. У каждой стандартной диаграммы есть несколько разновидностей. Их образцы представлены справа от списка Тип. Выбрав тип диаграммы , шелкните на той его разновидности , которая вам больше подходит . Что­ бы увидеть, как будет выглядеть диаграмма, построенная по выделенным данным , воспользуйтесь кнопкой Просмотр результата. Под образцами
Дuаграммы u lffi графuкu диаграмм находится информационное окно, из которого можно почерп­ нугь полезные сведения о диаграмме данного типа и вида. Выбрав диа­ грамму, щелкните на кнопке Далее . .... ПримечаJiие Мастер предлагает лишь наиболее распространенные виды диаграмм. Все они могут быть впоследствии изменены. Выбирайте тот, который больше всего удовлетворяет вашим замыслам. Более точную настройку можно буд~т произвести впоследствии . Выбор источника данных Данные мя точечной диаграммы обычно располагаются в смежных ячейках. Если данные организованы по столбцам, то в первом из них чаше всего содержатся координаты по оси х, а в остальных - по оси у для одного или нескольких графиков . Последние рассматриваются на диаграмме как наборы данных , в состав которых могут входить коорди­ наты по то оси х и информация для легенды. Если координаты по то оси х отсугствуют, они заменяются значениями В этом диалоговом окне две вкладки вая из них предназначена для - l, 2, 3 и т.д. Диапазон данных и Ряд. Пер­ определ ения группы ячеек, на основании которой будет построена диаграмма. Сюда входят как значения функций, так и их аргументы. Если эта группа ячеек была выделена до обращения к мастеру диа­ грамм, в строке Диапазон уже содержится необходимая информаuия . В противном случае перейдите в строку Диапазон, а затем выделите необ­ ходимые данные на листе с помощью левой кнопки мыши . Расположен­ ная в правом конце строки кнопка свертывания диалогового окна позво­ ляет временно убирать диалоговое окно с экрана, чтобы были видны вы­ деляемые ячейки. Чтобы по окончании выделения диапазона вернугъся в окно мастера, нажмите эту кнопку снова . Если потребуется изменить данные , уже введенные в строке Диапазон, сначала выделите всю строку, а потом выделите новые данные на листе . Если ячейки, в которых нахо­ дится информация мя графика, не являются смежными, удерживайте нажатой клавишу <Ctrl> при их вьщеленИи. Если заголовки столбцов (строк) также названиями являются создаваемых графиков, вьщелите также и содержащие их ячейки. Затем с помощью переключателя Ряды в выберите способ расположения наборов данных: по строкам или по столбцам . ~~~i11f'1ii~~~~-~~~ Графи_•) . рафик 2 1 4 5 2 5 9 7 9 2 8 10 iз ri з " Представление о том, как будет вы­ глядеть готовая диаграмма с учетом вы­ бранных параметров, можно получить на основании образца, центре окна. расположенного в
Гnава На вкладке Ряд нужно определить, 3 какие из выделенных наборов данных будут отображены на диаграмме. Названия наборов данных содержатся в списке Ряд. Этот список можно сокращать и расширять, не изменяя данные на листе. Каждый набор данны х хар актеризуется тремя параметрами: именем, диапазоном значений аргумента и диапазоном значений функции. По умолчанию считается, что значени я аргумента одинаковы для всех функций и распо­ ложены в левом столбце или в верхней строке выделенного диапазона . Чтобы добавить к диаграмме новый набор данных , щелкните на кнопке Добавить . В списке Ряд появится новый эл емент со стандартным
Дuаграммы u именем РядN, где появится и в ifil rpaфuкu N- легенде порядковый номер набора данных . Это же имя диаграммы в окне предварительного просмотра . Перейдите в строку Имя и введите имя нового графика или выделите с помощью мыщи ячейку с этим именем на листе . Затем подобным обра­ зом определите в строках Значения Х и Значения У диапазоны ячеек , в которых содержатся значения аргумента и функции, соответственно. Чтобы изменить содержимое любой из этих строк, воспользуйтесь мето­ дом, описанным выше для строки Диапазон . Если потребуется удалить один из наборов данных, воспользуйтесь кнопкой Удалить. Добавление и удаление наборов данных в окне мастера диаграмм не приводит к изменению данных на листе. Для остальных рассматриваемых типов диаграмм эта вкладка имеет несколько другой вид. Строка Значения Х отсутствует. Ее заменяет строка Подписи оси Х. Содержимое ячеек, указанных в этой строке, является не аргументом функuИи, а только подписями под элементами диаграммы . Поэтому все диаграммы , отличные от точечных, допускают только рав­ номерную ось абсuисс. Если строка Подписи оси Х пуста , под осью Х вы­ водится последовательность чисел О, 1, 2 и т.д. Организаuия трехмерной диаграммы несколько отличается от двумер­ ной . Каждое ее вертикальное сечение в плоскости плоскую диаграмму соответствующего набора xz представляет данных с собой равномерной осью абсцисс. По оси у откладываются имена наборов данных, вводимые в строке Имя . В случае отсутствия имен делениям оси у присваиваются стандартные метки Р1, Р2 , РЗ и т . д . Выбр ав располо.Жение данных для диаграммы , щелкните на кнопке Далее.
lfJ:i Гnава 3 Оформление диаграммы Внешний вид следующего окна мастера несколько различается в за­ висимости от выбранного типа диаграммы. Обычно оно состоит из шес­ ти вкладок: Заголовки, Оси, Линии сетки, Легенда, Подписи данных и Таблица данных. Первая вкладка предназначена для ввода названий осей координат и всей диаграммы. Все внесенные изменения отражаются в расположенном справа от строк ввода окне предварительного просмотра. На вкладке Оси можно определить, какие метки будуг выводиться возле делений координатных осей. Если сбросить флаг ось Х {категорий) или ось У {значений), то соответственно ось абсцисс или ординат оста­ нется без подписей. Для всех диаграмм, кроме точечной, возможно ото­ бражение следуюших данных на оси х. • автоматически. Если данные оси х имеют формат даты, то ось абсцисс автоматически становится осью времени. В противном случае исполь­ зуется стандартный формат оси х. ~ FfiiiOiill l:::.!l!!!!.3 " "
Дuаграммы • lf41 графuкu u категории . Исп ользование стандартного фор~1ата оси х, даже если со­ ответствующие данные имеют формат времени . • ось времени . П о оси х в любом случае откладываются единицы вре ­ мени. На вкладке Линии сетки можно включить или отменить вывод линий координатной сетки промежуточных - вертикальных и горизонтальных, основных и . . ~.-1. ~-·· с~~~~11 ~-• 1;..,АIЖ"д~, ··~•~ . ;.i, .. ,.... ' . . ~-·~ ~ -·."· (J>roro На вкладке Легенда определяется 1 место распол ожения леген ды - внизу, в правом верхнем углу , справа или слева от диаграммы . Можно также отказаться от вывода легенды . . ;;:,.~,:.;; { -~~~1 '~~~.::;.:·i.~.:.....11 "°",...;"_;_~··1 •. ''i .;. : : - - ~~;:· ·; :~~~~~~i~~~J;i~1~~~~j~~ir.~ На вкладке Подписи данных можно включить ил и отменить режим подписи значений под каждой точкой диаграммы . В роли таких подпи ­ сей могут выступать либо значения аргумента , л ибо значения функции в данной точке . Режим подписи данных доступен только для двумерных диаграмм . По окончании настройки щелкните на кнопке Далее .
Гnава 3 Размещение диаграммы В последнем диалоговом окне мастера диагр11м м нужно определить способ размещения диаграммы в рабоче й книге : со здать для нее отдель­ н ы й лист или ра с пол ожи ть на то м же л исте, что и да н н ы е , и спользован­ ные для ее построения . В ы берите второй вариант и из расположенного рядом раскрывающегося списк11 - оди н из сущес твующих в книге рабо­ чих лисов, на котором размести тся диаграмма . Работа мастера окончена . Щелкните на кнопке Готово . Тестовая диаграмма 15 > 10 ~ о о 5 10 О сь Х 15 -+-- Граф и к 1 • ··· Гр а ф ик 2
Дuаrраммы "'' rpaфuкu u Вас не устраивает расп оложение диаграммы на листе? Щелкните в любой точке в пределах окна диаграммы и перетащите ее на друтое ме­ сто, удерживая нажатой левую кнопку мыши. Не нравится размер? Из­ мените его, перетащив один из угловых или боковых манипуляторов . Ре­ зультат показан на рис . 4 7 9 2 3.1. 5 Тестовая ,1,маrра11ма в 1 ~1 .. о 10 15 ос" х Рис. 3.1. Диаграмма , внедренная в рабочий лист Изменение диаграммы Отдельные элементы готовой диаграммы можно изменять , что позво­ ляет улучшить ее внешний вид. Для редактирования уже созданной диа­ граммы нужно щелкнуть на ней. Эта операция активизирует диаrрамму и делает ее элементы доступными для изменения. диаграммы, изображенной на рис . 3.1, В частности, легенда расположена неудачно , и коорди ­ натная плоскость используется нерационально . Щелкните на л егенде и п ерегашите ее вверх и влево. Затем щелкните на координатной плоско­ сти и измените ее размер. используя боковые и угловые манипуляторы . Вновь активируйте рабочий лист, щелкнув в л юбо.м его месте за предела ­ ми окна диаграммы . Результат внесенных изменений показан на рис. ·в1x~~э:.~~rO'i~~~~wщ1~.J1! fflLE~:~~-fuiillilt1~9!~1?'~Ji!~: .1 Г а нк 2 4 5 7 в g" 1Q з 2 о ; Тестов а.я дмаrрамuа 12 10 о 10 о On X ~ис. 3.2. Законченная диаграмма tS 3.2.
IFfJ Глава Чтобы изменить параметры любого элемента диаграммы натной плоскости, оси координат, легенды и т . п. - 3 коорди­ - достаточно дважды щелкнуть на нем и внести необходимые изменения в появившемся диа­ логовом окне. Создание высококачественных диаграмм Для большинства исследовательских uелей диаграммы Excel более чем достаточны, но в большинстве журналов их не публикуют. Чтобы диа­ граl\~ма подошла для журнала, ее нужно либо отредактировать с помошью графического редактора, либо использовать вспомогательную программу, создающую диаграммы покрасивее . Вообще говоря, диаграммы Excel подошли бы и здательствам, если бы не их оси координат и .'vtетки данных . Изменить метки с помощью гра­ фического редактора просто - достаточно удалить старые и поместить на их ме. сто новые. Хорошей утилитой построения диаграмм на основе данных ляется программа DeltaGrapl1® Pro. Excel яв­ Чтобы создать диаграмму с помощью этого приложения, достаточно скопировать содержимое ячеек рабочего листа в буфер, перейти в DeltaGrapl1® Pro и вставить туда данные. Диа­ граммы в DeltaGraph® Pro гораздо разнообразнее, а числовые метки вы­ водятся либо в экспоненuиальном (2.ЗхIО5), либо в инженерном (230.ОхlОЗ) формате вместо используемого в Excel компью~ерного стан ­ дарта (2.ЗЕ5) . Компани я DeltaPoiпt Iпс. предлагает версии DeltaGraph® Pro для платформ М ае и РС. Более подробная информаuия содержи тся в прило­ ж ении А. Создание диаграммы на отдельном листе Рис. 3.3. Диаграмма, созданная на отдельном листе
Дuаграммы u ПJJ графuкu Процесс создания диаграммы на отдельном листе мало чем отличает­ ся от создания внедренной диаграммы. Разница состоит лишь в том что в последнем диалоговом окне мастера диаграмм необходимо выбрать ре­ жим создания отдельного листа диаграммы. строке введите название нового листа (рис . В расположенной рядом 3.3). Создани е диагра ммы по результата м р а счетов В следующем примере демонстрируется создание диаграммы по ре­ зультатам инженерных расчетов. Вначале мы проведем вычисления по формулам, а затем создадим двумерную диаграмму для иллюстрации по­ лученных результатов . Сопроти вление крем ни я Зависимость сопротивления кремния от температуры описывается на­ бором кривых для различных концентраций примеси. Точки максимума этих кривых располагаются в диапазоне от бенность обязательно учитывается при до 300 создании l ООО К. Данн ая осо­ полупроводниковых приборов, поскольку, 'Iем дальше от точки максиМУ?->Ш сопротивления находится р аб очая точка, тем выше вероятность отказа. При низких значениях температуры сопротивление кремния возраста­ ет с ее увеличением. В таких условиях прибор устойчив к разогреву то­ ками большой силы - рост сопротивления приводит к уменьшению теп­ ловыделения. Однако если температура превышает пороговое значение, при ее дальнейшем росте сопротивление прибора начнет уменьшаться. Это приведет к возрастанию тока, увели чению нагрева и дальнейшему снижению сопротивления. Температура будет увеличиваться экспоненци­ ально, п ока прибор не расплавится . Эффект температурного разгона по­ лупроводниковых приборов называют вторичным тепловым пробоем. Сопротивление кремния вследствие движения электронов (если пре­ небречь движением дырок) описывается следующей формулой: 1 p=- qnµ где р - удельное сопротивление в Ом ·м, концентрация электронов, а траци я электронов в q - заряд электрона, п - их подвижность. Равновесная концен­ µ- легированном кремнии описывается следующей формулой : п = ~ [ N + ~N где N - 2 + 4п; ] концентрация примеси в м-3, а n ; - ных носителей заряда. В глаl!е 2 концентрация собствен­ была рассчитана концентрация и под­ вижность собственных носителей заряда для различных значений напря-
"'' Гnава женности электрического поля, концентрации примеси и 3 температуры. Однако в данном примере значения первых двух параметров будут низ­ кими, и для расчета подвижности можно воспользоваться следующей уп­ рощенной формулой: _ (-т)-2.42 µ-µо То которая гораздо проще формулы из предъщущей rлавы. Если вы не удалили рабочую книгу, в которой вычислялась концентрация собствен­ ных носителей, можете использовать результаты сделанных в ней расче­ тов для данн ого примера. В противном случае придется вводить все за­ ново. Создание таблицы Рассчитаем сопротивление кремния для разных температур при трех значениях концентрации легирующей примеси: 1,ОхlО'З, 1,SxlQIЗ и J,Ох 1Ql4 см-3. Для этого необходимо выполнить следующие операции. 1. Откройте новый рабочий лист и назовите его рис. 2. Заполните ячейки рабочего листа, как указано ниже. Чтобы ввести символ µ, измените щрифт на Symbol 3.4. и нажмите клавишу m. Ячейка Соде ржи мое Ячейка СоДержимое Ячейка А1 Зависимость С2 EG2• F2 СЗ FЗ 1330 G2 Е2 Cons• 636 Q• GЗ ТО• GАММА• ЕЗ µО• Н2 300 нз 2,42 Содержимое 1,бЕ-19 сопр0тиаnения кремния от температуры А2 АЗ 82 ВЗ 3. EGO• EG1• 1,17 4,73Е-4 Введите в ячейке 02 03 следующую формулу: =КОРЕНЬ( 4*6*{2*ПИ(}*О,91095Е-30*1,38066Е-23/{6,62618Е-34)л2)"3)* {О,33*0 ,56)л(О, 75)*1 Е-6 . 4. Вьщелите ячейки А2:ВЗ, выберите команду Вставка>-- Имя>-- Создать , включите режим в столбце слева и щешщите на кнопке ОК. Содер­ жимому ячеек В2 и В3 будут присвоены имена EGO и EG1_ соответст­ венно. Символ nодчеркивания в имени EG1 . Повторите E2:F3 и G2:H3. на ячейку С2:03 , EG1_ отличает его от ссьmки процедуру присвоения имен для ячеек 5. ' Вьщелите ячейки А2:АЗ, С2:С3, Е2:ЕЗ и G2:G3 и выровняйте их со­ держимое по правому краю. 6. В состав имен ячеек не могуг входить буквы греческого алфавита. Поэтому в имени ячейки FЗ программа заменит кивания. Выделите ячейку F3 µ символом подчер­ и выберите команду Вставка >-- Имя >--
Дuаграммы u lifi графuкu Присвоить. В появившемся диалоговом окне введите имя uO, затем удалите имя _о. Введите в указанных ячейках следующие величины: 7. Ячейка Содержимое Ячейка Содер- Ячейка Содер - Ячейка Содержимое 85 Концентрация Е5 жимое 1Е13 F5 (см·3) жимое G5 1,5Е13 примеси: Н5 (см·3 ) 15 1Е14 J5 (см-3) А6 т 86 Eg С6 06 ~1 Е6 n F6 nl rho А7 (К) 87 (38) С7 (см-3) 07 (см 2/В-с) Е7 (см·3) F7 (Ом-см) 8. 9. Выровняйте содержимое ячеек F5, Н5 , J5 и A6:F7 по центру, а содер­ жимое ячеек А2:А3, С2:С3, Е2:Е3 и G2:G3 - по правому краю. Скопируйте содержимое ячеек E6:F7 в ячейки G6:H7 и 16:J7. _-Экспресс-метод Чтобы быстрее выполнить п.9, выделите ячейки Еб : F7 и, удерживая на­ жатой клавишу <Ctrl> (<Cmd> на Macintosh), перетащите их содержимое в ячейки Gб:Н7, а затем- в ячейки lб:J7. 10. Введите 11. в ячейке А8 число 300, а в ячейке А9 - число 320. Выделите ячейки А8:А9 и перетащите маркер заполнения вниз 'до ячейки А 18. Введите в ячейке 88 формулу: =EGO-EG1_*A8"2/(A8+EG2_) 12. Введите в ячейке С8 формулу: =Cons*(KOPEHb(A8"3)*EXP(-88*1,60219E-19/(2*1,38066E-23*A8)) 13. Введите в ячейке D8 формулу: =uO*(A8fТO)"(-GAMMA) в ячейке Е8 формулу: 14. Введите =0 ,5*(Е$5+КОРЕНЬ(Е$511 2+4*$С811 2)) 15. Введите в ячейке 88 формулу: =1/(Q*E8*$D8) 16. Присвойте содержимому ячейки 88 числовой формат с двумя деся­ тичными знаками. 17. Присвойте содержимому ячеек C8:F8 экспоненциальный формат с одним десятичным знаком. 18. Скопируйте содержимое ячеек E8:F8 в ячейки G8:H8 и 18:J8. 19. Выделите ячейки 88:J8 и перетащите маркер заполнения вниз до ячейки J18. Все формулы будут скопированы в нижележащие ячейки таблицы. 20. Заключите группы ячеек в рамку, как показано на рис. 3.4. 21. Отключите отображение линий сетки. Готовый рабочий лист изображен на рис. 3.4. Теперь нужно диаграммы для этих трех наборов данных. построить
Пiii Гnава ~ Создание диаграммы Прежде чем обратиться к м астеру диаграмм для создания диаграммы трех температурных зависимостей сопротивл ения, необходимо освобо­ дить место на листе. Выполните для этого следующие операции: 1. Откройте рабочий лист, изображенный на рис . 3.4. 2. Выделите ячейки A5:J18 и перетащите верхнюю границу выделенной обл асти вниз так, чтобы ее верхний левый угол переместился в ячейку А18. Таким образом, вся таблица будет смешена вниз . .·_ ;~~~-д~~w:.J.~-52tU..-~:q,-: -·1 : :,.~p~~,_ш_s;,d.:~ii.!J.:~1~i;i:::.(R~:~"~.:.:1~d;:.:;~~}~ -t-:.·.j~;:i' -. о..1 r. З е1в ис иu остkl ,, ~j con отие n е н ия r р ем ни я от тем п е ратуры EGO= 1,17 EG1= 4 7 3 Е- 0 4 :.ч ~'5 ; EG2= 636 О= 1 , 60Е·19 Т О= Cons= 3 ,ЗЕ + 15 µО= 1330 GAIA МA= Конценrрация п ри мес и . (с " 1 , О О Е •1 3 т Eg ni µ n mo -7' 1 (К) (ЭВ) (с ".., (см'IВ·с) (С ".., (0 1.1-С М) ;~ 300 320 340 360 380 400 420 440 460 480 500 J -1 12 , JЭj J,.,/j 1s·· 'iiIJ .11~ 181 1,12 6 , 2 Е •О9 1,12 2,9E•I O 1,11 1,2 Е•1 1 1,1 1 4 ,ОЕ •1 1 1,10 1 , 2Е • 12 1,10 З ,З Е+ 12 1,09 В ,2 Е•1 2 1,08 1 , 9Е +1 3 1,08 4 , 1 Е• 1 З 1,07 8 , 2 Е• 13 1,07 1,6Е •14 ~:.i f~I J;iГ ···:v·~:s.:z·- · Рис. . -: э:-э (с м 1 . 50 Е• 1 3 j:_;:; n (см") 1 О О Е• 1 4 n (с м"! rho (0 " ·С М) (с м rho (О м- с U) 1 ,3 Е•О 3 1 .О Е• 1 3 4 .7 Е• 02 1 , 5Е• 13 3 , 1Е• О2 1 , О Е+ 14 4 ,7Е •01 1 , 1Е• ОЗ 1 , О Е• 13 5 ,5 Е• 02 1 , 5Е•1З 3 ,7Е• 0 2 1, О Е • 14 5 , 5Е•О 1 9 , 8Е • 02 1 , ОЕ •1 3 6, 4Е• О2 1, 5 Е•1 З 4 , 2 Е• 0 2 1 , ОЕ • 14 6, 4 Е • 01 В ,6 Е + О2 1 , ОЕ •1 З 7 , 3 Е• О2 1 , 5 Е• 1 З 4 , 9Е• О 2 1 , ОЕ• 14 7, З Е + 0 1 7 . 5 Е• О 2 1 , О Е• 1 З 8 ,2 Е • О2 1 , 5Е • 1 3 5 . 5Е • 02 1 , ОЕ •14 8,3Е • О 1 6 ,6Е• О2 1 , I E•I Э 8,6Е •О 2 1 , 6 Е• 1Э 6, О Е• 02 1 , О Е• 1 4 9 , 4Е• 0 1 5 ,9Е • 02 1 , 5 Е• 1 3 7 , ЗЕ • О2 1 , 9 Е• 1 3 5,7 Е• 02 1 ,О Е • 14 1,1 Е• О2 5 , ЗЕ • 0 2 2 , 4 Е • 13 4 , ВЕ • О2 2,В Е • 1 3 4 ,З Е• 02 1 ,О Е • 1 4 1 , 1Е • 0 2 4 ,7 Е • 02 4 , 6Е•13 2 . 9 Е • О2 4 , 9Е•13 2,7Е • О2 . 1 ,1 Е • 1 4 4 , ЗЕ• 02 8 , 7 Е•1 3 1 ,7 Е• О 2 9 ,О Е • 13 1,б Е• О 2 1 ,5 Е• 14 1,О Е•О 2 3 , 9Е • О2 1 , 6Е •1 4 9 , 9Е• О 1 1 ,7Е •14 9 7E• OI 2, 2Е • 14 7 ' "": '$~$'" '"'"'3.6: . - :зг . - :.~ -~ "" -· 1 , 2 Е• О2 5 Е •0 1 ~с~- ~ 3.4. Таблица .температурных зависимостей сопротивления кремния Чтобы быстро выделить группу неnустых ячеек, выделите одну из них и, удерживая нажатой клавишу <Shift>, дважды щелкнИте на той границе выделенной области, в направлении которой хотите ее расширить . Пря­ моугольная область будет расширена до первой пустой ячейки . В частно- ' сти, чтобы выделить ячейки в п . 2 , достаточно выделить ячейку А5 и, удерживая нажатой клавишу <Shift>, дважды щелкнуть на ее нижней гра­ нице. Область выделения продлится до первой пустой ячейки в столбце А . Продолжая удерживать клавишу <Shift>, дважды щелкните на правой границе ячейки А5. Область выделения расширится вправо до первой пустой ячейки. Таким образом будет выделена вся таблица . Данный ме­ тод особенно полезен при выделении больших групп ячеек , не поме­ щающихся на экране . 3. Выделите ячейки А21 :АЗ1 (значения аргумента) . Затем, удерживая на­ жатой клавишу <Ctrl>, выделите ячейки F21 :F31 (значения первого набора функций). 4. ~ Запустите м астер диаграмм , щелкнув на одноименной кнопке Ll:!J панели инструментов Стандартная . Мастер диаграмм (шаг На экране 1 из 4): тип диаграммы . появится окно Выберите из списка
Дuаграммы u IFu графuкu Тип элемент Точечная, а из палитры Вид -диаграмму, на которой значения соединены отрезками. Щелкните на кнопке Далее. 5. 2 На шаге вся необходимая информация уже содержится в строках мастера. Убедитесь, что на вкладке Диапазон данных включен режим Рядьi в столбцах и щелкните на кнопке Далее. 6. На вкладке Заголовки следующего диалогового окна мастера введите в строке Название диаграммы следующий текст: Сопротивление ·крем­ ния . в строках названий осей х и у введите соответственно ' Температура (К) и Сопротивление (Ом-см). Шелкните на кнопке Далее 7. В последнем окне мастера выберите режим создания внедренной диаграммы и щелкните на кнопке Готово. Готовая диаграмма появит­ ся на рабочем листе . 8. Переместите диаграмму с помощью мыши вверх, так чтобы она рас­ положилась над таблицей данных, и немного уменьшите ее размер (рис. 3.5). При изменении любого из коэффициентов все формулы рабочего листа будут автоматически пересчитаны, а диаграмма перестроена. Не расслабляйтесь: мастер закончил работу, но диаграмма еще не го­ това. Нужно изменить точку пересечения осей координат, добавить две кривые и переместить легенду в более подходящее мес;го. Все эти недос­ татки будут исправлены в ходе краткого знакомства с методами редакти­ рования диаграмм 1- Excel. 1 .ОЕ-tОЭ 8.0 E+Q2 ~ ~ О ,ОЕ>О2 ~ ~ 4,ОЕ>О2 в 2.О Е•О2 О.О Е+ОО о Рис. 3.5. Рабочий лист с диаграммой зависимости сопротивления кремния от температуры Редактирование диаграмм Если вновь созданная внедренная диаграмма нуждается в изменениях, щелкните на ней, чтобы перейти в режим редактирования . Закончив ре­ дактирование, щелкните в любом месте рабочего листа, и диаграмма об­ новится. нужно. Включать режим редактирования для диаграммного листа не
IF1:1 Гnава 3 Следующие элем енты диаграммы или ди агр аммного л и ста можно вы ­ дел ять и и зм енять по отдел ьн ости : • Точки (метки данных) ди аграммы . Дважды щел кнув н а них , м ожно изменить источн ик данных, си мвольi, линии ил и связанны й с ними текст . • Оси диаграммы~ Дважды щелкнув на них , можно изменить стиль, диапазон и формат меток . • Чтобы и зменить м естоположение легенды или одной и з меток, п ере­ та щите ее с по м ощью мы ш и . • Если нужно изменить разм ер обл асти п остроения в предел ах окна ди аграмм ы, щелкните н а ней и перетащите один из м аркеров обрам­ л е ни я . В режиме редактир ован ия диаграммы или на диаграммн ом л исте в главн ом м еню появляется н овы й элем ент ко м а нды реда ктирован и я диагра м м ..... Диаграммы , содержащий . 1'1ЕИМ..~~~-ние Если вы не помн ите , ка кой элемент диаграммы выделили , взгляните на поле име н в л ево й части стро ки формул . В не м в ы водится и мя в ыделе н­ ного объ е кта . Если какой-либо из эл ементов диаграммы не удается вы­ делить , выделите любой другой и перейдите к нужн о му элементу с по- , мо щью клави ш уп равл е ния курсором . Стрелки <t > и <..!.> п озволяют пе­ реходить от одного объекта к другому, а стрелки<~> и <f-> - от одной части объек_та ~-.Аf~У.Г()Й . Создание и изменение элементов диаграммы Пер вые ч етыре ком анды м еню Диаграммы - Исходные данные , Параметры диаграммы и Размещение Тип - диаграммы , с оотв етствуют четы ре м о кнам масте ра диаграмм. Особенно часто при редактир овании и спольз уют ком анду Параметры диаграммы . При это м откр ывается одно ­ им енн ое диалоговое о кно , позволяю щее с оздавать и и з менять следующие эле м е нты офо рмлени я диаграммы . • На вкл адке Заголовки м ожно создавать, изменять и удалять названия осей коорди нат и все й ди агр амм ы. • Н а вкладке Оси м ожн о включить или отм енить режим п одп и си дан­ ных п од ося ми координат . • Вкладка Линии сетки п редн азн ачена для настр ойки отображения сетки в области по строения . • На вкладке Легенда можно включить . или отм енить режим вы вода л е генды, а также о п р едел и ть е е ме стопол ожен и е. • Н а вкладке П одписи данных м ожно включить режим вывода возле ка­ ждой точки ди аграммы ее значение по оси х или по оси у. Команда Диаграмма > Добавить да н ные позволяет добавлять в диа­ грам му н ов ы е набо р ы данны х .
дuаграммы 18%1 графuкu u Чтобы ввести в ди аграмму комментар ии, н е связанн ы е ни с одним из ее эл ементов, щел кните н а диаграмм е , в веди те нужный текст в строке формул. Новый текст п оявится в виде свободного, " плавающего " объек­ та , который можно переместить в л юбое место окна диаграмм ы. Чтобы и зменить метки оси координ ат ил и имя набор а данных , дважды щелЮiи­ те на этом объекте и отредактируйте его с помощью появи вш егося диа­ л огового окна. Форматирование диаграммы С помощью ком анды Выделенный м еню Формат можн о изм енять формат ил и стил ь выделенного элемента ди аграммы . Точное названи е этой команды зависит от того, ка кая часть ди аграм м ы выдел е н а . Нап рим ер , есл и выделен набор данн ых , то с п омощью ком анды Формат>- В ыделенный ряд можн о измен ить uвет и форм у линий и м еток дан ных, подпи си возле точек и способ п остроения графика. Если выде ­ лить область построения, то с по мощью ком анд ы Формат >- Выделенная область построения можн о изме н ить uвет и зап ол н ени е фона , а также стиль и uв ет рамки . По ком анде Диаграмма со с пи с ками стандартн ы х >и Тип диаграммы выводится диалоговое окн о н естандартн ых тип ов ди агр амм и их р азн о­ в идн остей . С п омощью этого о кна можно и з м ен ить тиri диагр аммы дпя всех или тол ько дпя некоторых н аборов данных. Кнопка Просмотр результата в диалоговом окн е Тип диаграммы по­ з воляет определ ить , как будет выглядеть ди аграмма после вын есения . Ес­ л и хотите , чтобы выбранный тип ди аграммы предЛагался по умолчанию , щелкните на кнопке Сделать стандартной . Появится диало говое окно с требованием подтверждения ваш его выб ор а . Щел кните на кн оп ке Да .
11в1 Гnава 3 Такой прием особенно полеJе н при создании большого количества одно­ тип ных диаrрам;vt. Внедренную диагрJ~му можно переместить в любое место рабочего листа. Чтобы изменить ее размер и форму, следует перетащить маркеры обрамлеkня. Для измен ения орие нтаuии трехме рной диаграммы выдели­ те углы ее основания и стенок и добейтесь нужной ориентаuии , перетас­ кивая один из них. Добавление в диаграмму новых наборов данных Наиболее простой способ добавить во вн едренную диаграмм у новую кривую - это выделить в табли uе соответствующие данные по оси у. поместить указатель мыши на границу выделенной области и перетащить ее в окно диа граммы . Если диаграмма расположена на отдель н ом л исте, после выделения данны х следует вос пользоваться командам и Правка Копировать и Правка <Shift+lns>. >- Вставить или комбинаuиями клавиш >- <Ctrl+lns> и Если новому набору данных соответствуют значения аргумен­ та , отличные от предыдущего набора, необходимо выделить оба столбца, сохранить их в буфере об;\iена, выделить диаграм м у или перейти на диа­ граммный лист и использовать команду Правка>- Специальная вставка. В поя вившемся диалоговом окне включите режим Категории (значения оси Х) в первом стоЛбце и щелкните на кнопке ОК. Если применить команду Вставка, значения обоих выделенных столбuов будут рассматриваться как две разные функции, а по оси х будут откладываться те же значен и я, что и для предьщущего графика или uелые числа, начиная с 1. Для создания нового графика можно также воспользоваться ком а ндой Диаграмма >- Добавить данные. Пр исоед инение кривых к диаграммам осуществляется с пом ошью формул рндов. Если включить режим редактирования диаграммы и выде­ лить набо р данных, соответствующа я ему формула ряда появится в стро­ ке формул, rде ее можно редактировать. У формулы ряда четыре сле­ дуюших аргумента , разделенных точкам и с запятой: заЮiюченн ое в двой­ ные кавычки и м я ряда, отображаемое в легенде, ссылка на ячейки с на­ бором з начен ий х, ссылка н а ячейки с набором значений у и ном ер ряда, о пр еделяющий очередность его вывода. В большинстве формул первый параметр по умолчанию отсутствует. Его можно ввести, чтобы он вошел в состав легенды. Если пропущен второй параметр, в качестве значений аргумента используются натуральные числа начиная с 1. Путем редактирования формулы ряда можно и зменить данны е, на ос­ новании которых строится ди аграмма. Если встави ть формулу ряда в строку формул, то данные , на которые она ссылается, будут выведен ы в активной ди аграмме . Чтобы быстро добавить текст легенды , щелкните перед пе рвой точ кой с запятой в списке параметров форм улы ряда и вве ­ дите заключенную в кавычки строку или легенды. ссыл ку на ячейки с текстом
Д.uаграммы u 1111 rpaфuкu Защита диаграммы от изменения Редактирование формулы ряда удобно в тех случаях, коrда необходи­ мо избежать обновления диаграммы при изменении таблицы. Как прави­ ло, диаграмма связана с определенными ячейками. Если изменить их со­ держимое, изменится и диаграмма. Если вы собираетесь отредактировать таблицу, но хотите сохранить диаграм:"rtу, необходимо заменить ссылки в формуле ряда диаграммы на числа. Значения, соответствуюшие точкам кривой, можно ввести в формуле ряда яnньщ образом. Однако лу•1ше пору•щтъ это Ехсе!. Чтобы заменить ссылку ее значением, выделите ее в формуле ряда, нажмите комбинацию клавиш <Ctrl+=> (<Cmd+=> на Maci11tosl1) и щелкните на кнопке с "птичкой·'. После замены ссылок на данные их абсолютными значения­ ми можно продолжить работу над листоч без риска исказить диаграмму например, ввести - ноные данные и построить друrую диаграм~~у или до­ бавить еще один набор данных в уже существующую. Изменение точечной диаграммы Теперь вы готовы к тому, чтобы внести изменения в созданн~10 ранее диаграмму сопротивления кремния. В первую очередь добавим в эту то­ чечную диаграмму еще две кривые. Для этого выполните следующие операции. l. Создайте копию текущего рабочего листа с помощью команды Правка ~ Переместить/скопировать лист. При этом не забудьте включить ре­ жим Создавать копию в появившемся диалоговом окне. Присвойте новому листу имя рис. 3.6. ...._ JJ ри!J!.е.ч,.ан_и~ ~ .. .. . Чтобы быстро скопировать рабочий лист, перетащите его ярлычок в нуж­ ное место, удержива~..':!.СЗ.)f(~ТО,~.кл~.~~~у C::~trl>. 2. Выделите два набора данных, которые нужно добавить в диаграмму: вначале - ячейки А21 :АЗ1 со значениями аргумента, а затем, при на­ жатой клавише <Ctrl>, - ячейки Н21 :Н31 и J21 :JЗ1 со значениями функuии. 3. 4. 5. Скопируйте данные в буфер обмена. Щелкните на диаграмме, чтобы включить режим редактирования. Выберите команду Правка> Специальная вставка. Чтобы данные пер­ вого столбца выделенной области рассматривались как координаты по оси х, а данные двух других столбцов включите режим Значения У в - как координаты по оси у, столбцах и установите флажок Категории (значения оси Х) в первом столбце, после чего шелкните на кнопке ОК.
Гnава 3 Вес три набора данных появятся на диаграмме в виде графиков . Те­ п е рь нужно изменить точку пересечения осей х и у, а также и зменить размеры диаграммы, чтобы ее было удобнее просм атривать и чтобы на­ звание оси у поместилось uеликом . Сопроtнвnенме 1феНН~ 6. 7. Выделите с помощью мыши ось х. Выберите команду Формат > Выделенная ось. Появится диалоговое окно Формат оси. Перейдите на вкладку Шкала, минимальное значе­ ние, введите в расположенной рядом строке число 300 и щелкните на кнопке ОК . 8. Щелкните в области построения и расширьте ее, перетащив верхнюю и правую rраниuы . 9. Выдел ите легенду и пе рем естите ее в более подхолящее :м есто . Есл и нужно, измените местоположение надпи сей .
Дuаграммм u •i@J графuкu Теперь диаграмма дол жна выгл ядеть так, как показано выше. Сле ­ дующая задача - вывести названия трех графиков . Это можно сделать тремн с 1юс uбами : н ле1ендt: , с 1юмuщью мt:тuк данных ил и н ш1де сво­ бодного текста. Начнем с л егенды . В формуле ряда всех трех кривых отсутствует имя ряда. В п е рвую оче ­ редь нужно при своить формулам имена . 1О. 11. Выделите верхнюю кривую . В форм ул е ряда поместите курсор перед пер вой точкой с зJпятой и введи те следующий текст: "1 , ОЕ13 (см л-3)". Добавить имя ряда можно и по-другому . В ыд еm i те :Jдин из графиков . Вы- . берите команду Диаграмма> Исходн ь · ·~ данн ые . В появив ш емся диа- ! логовом окне перейдите на вкладку Ряд и введите назв а ние ряда в стро­ ке Имя . Однако, на мой взгл яд , редэ 1 .:r•,: р-Jва н ие формулы занимает ! 11.1.~нь_~~-~реr.11.~.Н..~.: .. ·-- ··- --~ ·--- __ " .... 12. Выделите " -. __ ·-·· ...•.~. -~ ·" · --····· ···· .. . среднюю кривую и л р и·: ьой1с ей и~1я "1 , 5Е1 З (смл-3)" . 13. Выделите нижнюю кривую и при сt\ ойтс ей имя "1,ОЕ14 14. При необходимости измените положение легенды . Модифиuированная диаграмма изображена на рис. нравится стил ь легенды, можете е го и зменить , (смл-3)" . 3.7. Если вам не . выделив ее и воспользо­ вавшись командой Формат> Выдел е нная леге нда , или перетащить леген ­ ду на новое место с помощью мыши . Другой метод идентификаuии кривых заключается в использовании меток данных . Чтобы рядо:-.1 с точкой к р и во й выводилис ь метки , нужно выделить график и вос пользоватьс$1 командой ФорматQ Выделенный ряд . При перемешении точки ее м етк а также передвигается . За:мените в диа­ грамJ\1е легенду на м етки д а нных . Для этого выполните следуюшие опе­ р а ции . 1. 2. 3. Создайте копию рабоч е го листа и п ри свойте ей имя рис . 3.7. Щелкните на диаграмм е, чтобы нач ать ее редактирование. Удалите л егенду, выдели в ее и н ажав кл ав ишу <Del>.
1111 Гпава 3 1 .ОЕ+ОЗ f 8 .ОЕ<О2 1i 6.ОЕ+О2 ~ ~ 4.ОЕ+О2 ; § 2.ОНО2 0.ОЕ+ОО g~~~==~ 300 Рис. 3.6. 360 500 Диаграмма "Сопротивление кремния" с легендой Выделите верхнюю кривую. Выберите команду Формат> Выделенный 4. ряд. В появившемся диалоговом окне Формат ряда данных перейдите на вкладку Подписи данных. Включите режим значение и щелкните на кнопке ОК. · Удалите все метки, крОJ1.1е седьмой . (Щелкните на одной из :меток, в 5. результате чего выделится весь набор, а затем щелкайте на лишних меткnх и удаляйте их по одной с помощью клавиши седьмую метку, введите текст 1,ОЕ13 (смл-3) и <Del> ). Вьшслитс нажмите клавишу <Eпter>. Проделайте то же для центральной кривой, однако оставьте четвертую 6. метку и введите в нее текст 1 , 5Е1 З (смл-з) . Выделите 7. нижнюю кривую и присвойте ее пятой метке имя 1,ОЕ14 (смЛ-3). Щелкните на листе вне окна диаграммы, чтобы отключить режиl\1 ее 8. редактирования. Погасите линии сетки. 9. Диаграмма с тремя наборами данных, помеченными прикрепленным текстом; изображена на рис. 3.7. 1 .ОЕ+ОЗ 1 8 .ОЕ+О2 ! I 6.ОЕ+О2 ! ~ 4.О Е• О2 2 .V E+02 0.ОЕ+ОО k~~±~=~z=~~~~:: 300 Рис. 3.7. зоо ООО Диаграмма "Сопротивление кремния" с тремя кривыми и их метка­ ми данных Посмотрим теперь, как будет выглядеть диаграмма со свободным тек­ стом и стрелками. Чтобы добавить в диаграмму неприкрепленный текст, нужно ввести его в строке формул, когда диаграмма находится в режиме редактирова­ ния , а затем перетащить новый объект в нужное 1\tесто диаграммы. С по-
u Дuаrрамны •i~i rp aфu кu м ощью к11шш ш и <Enter> м ожн о с оздать метку, состоящую из нескольких стр ок . Вып о,1 нитс сл еду ющие де й спз ия . l. 2. 3. Созпдйте ко п и ю pa60•1e ro листа и присвойте ей имя рис. 3.8. Щелкните н а диаграмме, чтобы начать ее редактирование . Выделите одн у из прикрепленных меток данных и удалите ее с пом о ­ щью клавиши н а M aci пtosh) . Таким же образом <Del> (<Backspace> удали те дв е д р у гие метк и . 4. Перейдйтс в строку фор:-.1ул, введите в ней текст 1 , ОЕ13 (смл-3) и на.,. жм ите кл а виш у <Enter>. В диаграмме появится строка с новым текстом . CЩfil· ~:~ ~ Примечание С вободный текст м ожно таюке создать с помощью расположенной на па­ ·r нели инстру м е нто в Рисование кно п к и Надпись . 5. " .... , , .• ... ,, . . . . . ." ". , ·-· .,.,.. . ~у-..· Wелкн11те в канне поя в ивше й ся строки текста и снова нажм ите кла1ш ш у <Enter>, чтобы 1 , 5Е13 ( смл-3), н аж мите 6. ' перейти <Enter> на но1:1ую строку . Затем введи те и 1:1ве.Liите 1,ОЕ14 ( см л -3 ). П е р ета щите текст из uснтра диаграммы на свободное :-1есто в ее пра­ в о :-1 ве р.хне :-1 у глу . 7. С по:-ющью команды Вид :>- Пa н effi.1 инструментов откройте пан ел ь Рисован ие . XI ll"!.b""" · ..;:. . ~ f;:i АвrО<Щ:~· .t;.д-:: g '- "'.Q.?._~ _:'tl EEI il: 8. ~ Шелкни те на кн опке с изображением стрелки и нарисуйте в диа­ ~ гра мl\.1е три стрелки, направленные от меток к графикам . 9. Дважды щелкните на одной из стрелок или выделите ее и выберите команду Формат :>- Автофигура . В появившемся диалоговом окне Фор м ат авто фигуры пе р ейдите на вкладку Цвета и линии и выберите в палитре раз м ер самую маленькую стрелку ........ ш>W>он: :::J :::J ·' .~;~, !}"}'-~!'!' iJ и.~: -т: IJ«J;,,._;:,_ , j o.1s пт :::J 1J · ,=-"~2FEt~"'::·"!~:. ...... iJ . .
"'' Гnава 10. Отформатируйте подобным образом две оставшихся стрелки. 11. Щелкните на свободном месте рабочего листа, чтобы отменить 3 выде­ ление диаграммы. 12. Погасите линии сетки. Последний вариант рабочего листа изображен на рис. 3.8. Свободный текст удобно использовать в случаях, когда диаграмма нуждается & ком­ ментариях и прочей дополнительной информации. t,OE+QЭ 1-- е.ОЕ•!::/2 ~ е.ое.02 l 1 ~-4.ОЕ~ u 1 2.ОЕ..С2 1 i:J .DEt1XJ эоо <00 1 ~~~~--~~~'...,_~-·-~1•1~~~-~ Рис. 3.8. Диаграмма "Соnрстивлен•'lе кремния" с меткамv. в &иде свободного текста и стрелок Создание лоrарифм~.1чес~:их е.1 nолу11оrарифмичес1<.их дrпаrрэ.мм Оси '!'ОЧС'!НОЙ дииграммы МОГ} , . Gыть л~нс:ilНЫJ\.U ; , 1ак и лолчжФ­ !(;lj( мичс<.:кими . Чтобы з~менюъ линейную осъ Л •_ • r:~ ) "(;~: с~i!'- Чес:~:ой , ну:::н•) nы­ делить ее, выбрать команду Фо;:~м:.т диа.тюго1юм окне перейти на >- 8"';д-.:ленн~: ~ ось . н пшпншше мс;f вкладку Шкаr:& и вюtюtjить режим логарифмическая шкала . В следующем приме ре мы проведем: вычи.сленин по еще одной формуле, <"t затем построим мя нее логарифмическую диаграмму. Коэффициент лавинного умножени~ в кремнии При подаче движения напряжения в нем нсt полупроводниковый электронов повышается. Если прибор скорость разность потенциалов достаточно высока, электроны разгоняются до такой степени, что начи­ нают генерировать другие свободные электроны, "выбивая" их из ато.1"юв кристаллической решетЮ!. Такое явление назьtвается ударной ионизаuи­ ей. Эти электроны также разгоняются и, в свою очередь, становятся ис­ точниками новых электронов . Начинается так называемое лавинное ум­ ножение. Как правило, разработчики полупроводниковых приборов не имеют ничего против лавин, если последние возникают не в их прибо­ рах. Исключение составляют специальные приборы, такие как лавинный транзистор. На основе экспериментальных данных были созданы эмпирические формулы для расчета интенсивности лавин. В частности, приведенная
дuаграммы u 11 Q rpaфuкu ниже формула позволяет рассчитать коэффициенты лавинного умноже­ ния в кремнии для различных з начений электрического поля и темпера1УРЫ . а= AVNl·exp[AVN2+AVN3(T-300)] IEI где а измеряется в м-1, Т- темлера1)'ра в градусах -Кельвина, а Е - напряженность электрического поля в В/м. Зная коэффициент а, можно найти интенсивность лавины . Для этого следует умножить его на кон­ центрацию и на скорость электронов. Коэффициенты формулы имеют следующие значения: AVN1 Е (В/м) Е<2.4х10 2,4х10 7 <Е<4,2х1О7 7 Е>4 , 2х1С7 (м- 1 ) 2,бх~О 8 б,2х10 7 5,Ох107 (В/м) 1,4Зх10В AVNЗ (В/м· К) 1,Зх10 5 . 1 ,08х10 8 1,З х 10 5 1,Зх10 5 AVN2 9 , 90х10 7 Создание таблицы В этом примере мы вычислим зависимость коэффиuи ентов лавинного умножения от 1tапряженности электрического поля для температур. 300, 600 и 900 К. . ·1. Откройте новый рабочий лист и назовите ero рис. 3.9. 2. Установите ширину столбцов в соответствии со следующей таблицей: Столбец А 8 с Ширина Столбец Ширина 2 D 12 12 Е 12 ' 12 . -Эксп. ресс-метод Чтобы ' быстро получить несколько столбцов одинаковой ширины, выде­ лите их и подберите ширину одного, перетаскивая его заголовок с помо­ щью мыши . Остальным выделенным столбцам будет присвоена та же ширина. 3. Введите в ячейке А 1 текст Коэффициенты лавинного умножения в кремнии. Сначала создадим таблицу значений для формулы коэффициента ла­ винного умножения . Каждый набор таких коэффициентов предназна­ чен для различных диапазонов значений электрическоrо поля. 4. Введите в ячейках ВЗ:Еб следующие данные:
11!:1 Гnава 3 Ячейка вз Содержимое Ячейка Содержимое Ячейка Содержимое Е(В/м) 6 , 2Е7 ЕЗ АVNЗ(В/м-К) 84 о С5 С6 5 , ОЕ7 Е4 1 , ЗЕ5 85 Е5 1 . ЗЕ5 1,4ЗЕ8 Е6 1 , ЗЕ5 сз С4 AVN1(1/м) 2,6Е8 03 04 05 06 AVN2(B/м) 86 2,4Е7 4,2Е7 1,08Е8 9 , 9Е7 Выровняйте содержимое ячеек 8З : ЕЗ по правому краю. Присвойте ячейкам следующие имена: 5. 6. Ячейка Содер- Ячейка Сод ер- жимое жимое С4 85 86 7. ECUT1 ECUT2 cs С6 AVN11 AVN12 AVN13 Ячейка Содер- Ячейка жимое D4 05 06 Сод ержимое AVN21 AVN22 Е4 Е5 AVN31 AVN32 AVNЗ2 Е6 АVNЗЗ Присвойте всей таблиuе (диапазону ячеек В4 : Е6) имя COEFFS . Создадим теперь таблицу коэффициента лавинного умножения . 8. Введите 9. Введите 10. Введите 11. Введите в ячейке 88 текст Т(К)= и выровняйте его по правом у краю . в ячейки С8 : Е8 числа 300, 600 и 900. в ячейке 89 текст Е(8/м) и выровняйте его по лраному краю . в ячейке С9 текст alpha(1/м} и выровняйте его по правому краю. 12. Выделите ячейку С9 и скопируйте ее содержимое в ячейки D9:E9, Пе­ ретащив маркер заполнения вправо до ячейки Е9 . 13. Введите в ячейке Выделите ячейки ячейки 810 число 5,ОЕ+О6 , а в ячейке 811 - Число 1,ОЕ+О7 . 810:811 и перетащите маркер заполнения вниз до 829. Есть два способа выбора из таблиuы значений, соответствующих приложенному электрическому полю . Во-первых, можно воспользоваться вложенными функциями ЕСЛИ. Две такие функuии ЕСЛИ позволяют разбить задачу на три диапазона. Во-вторых, можно применить функцию ВПР, которая автоматически сканирует таблицу. В данном примере мы используем оба метода. Начнем с вложенных функций 1. IF. Введите в ячейке С10 следующую формулу: =ЕСЛИ($81 O>ECUT1 ,ЕСЛИ($81 O>ECUT2,AVN13,AVN12),AVN11} *EXP(-(ECЛИ($810>ECUT1,ECЛИ($810>ECUT2,AVN23,AVN22),AVN21} +ЕСЛИ($В1 O>ECUT1 ,ЕСЛИ($81 O>ECUT2,AVN33,AVN32),AVN31 )* (С$8-ЗОО))/$В 1О) Применение функций поиска делает формулы более компактными по сравнению с вложенными функциями ЕСЛИ, в особенности для таб­ лиц с более чем двумя диапазонами . На следующем шаге использует ­ ся метод с функuией ВПР. 2. Введите в ячейке 010 введите следующую формулу:
\ Дuаграммы u ПР» графuкu =ВПР($81 O,COEFFS,2)*EXP(-(BПP($B1 O,COEFFS,3) +ВПР($В 1O,COEFFS,4 )*(0$8-300))/$81 О) В оставшейся части таблицы также будем использовать функцию по­ иска ВПР. 3. Выделите ячейку 010 и перетащите маркер заполнения вправо до ячейки Е1 О . 4. Выделите Ячейки С10 : Е10 и перетащите маркер заполнения вниз до ячейки Е29 . 5. Присвойте ячейкам В4:Е6 и В10:Е29 экспоненциальный формат с двумя десятичными знаками. 6. 7. 8. Разграфите таблицу в соответствии с рис. 3.9. Отключите отображение линий сетки. Сохраните рабочую книгу . Готовый лист изображеt~ на рис . 3.9. На этом листе вычисляется ко­ эффициент лавинного умножения электронов в электрическом поле при температурах 30Q, 600 и 900 К, перечисленных в верхней строке таблицы . ..'~----~6.:.,,,:.~:.;~~:· ·,_ ,;l:;i_;_~_::JЬ_,;; •: ..J.4;:;_. ,:.R1 .- ::.i?:~.;;i: : ..::~_;i,.,.;3._,,;,:f;;;;:Js;;;;щ_<t'iiliilt'i!l! <'S~,.J;:,.. ' 1:~! Заеи1;:.имо сть коэффициенrа лавинного vмножениR элеt::tронов в креwнt1и .:~_;i Е iВ/м) ·g:·; O.[JOE-+00 2 ,40Е..07 4 ,20Е..07 '_4·!, :р ] 1,sl J; A\IN1 6.20Е-+{)7 5JIJHl7 1 ,бОЕ+О2 З,24Е-t00 6.56E-ill 1,138Е..о4 1 , 40Е-IОЗ 1,04E-+V2 2.!ЮЕ-+04 1 , 7ЗЕ+О5 3.64Е-+04 2,04Е+О5 1~ В ,25Е+О5 '~iг:~'" : Рис. al ha 11" 1 .66Е-11 4,1ЗЕ-IОЗ 1,69E-t00 4 ,б2Е+О5 1.26Е+О5 З.50Е-t07 2,ВЗЕ--00 4ДJЕ-+07 9,3JE-t00 1.57E-iffi З.ОSЕ+О5 4 ,17E-t{E 4.50 Е <О7 5,54E-<ffi 2 .ЗЗЕ-+06 5 .ООЕ-+07 6,9JE-t{E З . 1бЕ-<ОО 1.45E-t00 5.SOE-+07 6.(J(JE-+07 8,26E-iffi 2ДJЕ<ОО 6.50E-t07 7 .ООЕ-+07 1,09E-t07 1.22E-t07 4.D7E-t06 5.01E-t06 5.98E-t06 б ,96Е-t00 З .99E-iffi 7 .50Е-Ю7 1 ,34Е<О7 7,94E-<ffi 4.72E-tffi З.ООЕ.07 ~4 ·i 1,:ЮЕ-ЮS 1.)JЕ<{б 1.50E-t07 1/м' 2Д)Е-t07 1 1,ЭJEi{JS al ha 1 /м 4,04E-U! al ha 2.50E-t07 'JЭ: I 1,ООЕ-+00 9.ЮЕ.07 9 ,В? Е- 05 Bic" J}J, ;~;! Tlfi iВ/м) А\/NЗ (В/..,.К 1 ,43Е-+ОО 5.ООЕ--00 1ДJЕ-+07 Е :);(] AYN2 300 т :~ш ;{~;j (1/м) 2 .60Е-Ю8 3.9. 9 ,бOE-iffi 5.9ЗЕ+О5 9.79Е+О5 2.62E-tffi З)ЭЕ-+!Б ' 'ilf. Зависимость коэффициента лавинного умножения элекrр,онов в кремнии от напряженности электрического поля и температуры. Чтобы пока­ зать большую часть листа, использована команда Вид>- Во весь экран. Создание диаграммы Значения коэффициента лавинного умножения различаются на не­ сколько порядков , что затрудняет использование линейной шкалы. Го­ раздо более наглядной будет диаграмма с логарифмической шкалой. В этот раз мы ее создадим на отдельном листе .
п1~1 1. Гnава 3 Выделите ячейки В10 : Е29 . 2. Выберите команду Встав ка >-Диаграмма. 3. Создайте с помощью Мастера диаграмм новую диаграмму со следующими свойствами . Тип : Точечная Вид: Точечная диаграмма, на которой значения соединены отрезками Ряды в столбцах Использовать первый столбец в качестве координат по оси х Название диаграммы : Коэффициент лавинного умножения электро1юв в кремнии Ось Х (категорий ): Напряженность электрического поля (В/м) Ось У (значений): Коэффициент лавинного умножения (1/м) Легенда: есть П оместить диаграмму на отдельном листе 4. Чтобы диаграмм у было л егче читать, выберите команду Вид >- По размеру окна. 5. Щелкните на оси у и выберите команду Формат>- Выделенная ось. В появившемся диалоговом окне перейдите на вкладку Шкала и вклю­ чите режим логарифмическая шкала . 6. Введите в строке Ось Х ( категорий) пересекает в значении : число 1Е-11 и щелкните на кнопке ОК. 7. 8. Поместите легенду под графиками . Выберите команду Диаграмма >- Исходные данные. В появившемся . диалоговом окне перейдите на вкладку Ряд. Выбирая из одноимен­ ного списка все графики по очереди, введите в строке Имя для верх­ него Т=300 К, для среднего Т Щелкните на кнопке ОК. 9. = 600 К и для нижнего - Т = 900 К. Выделите ось х и выберите команду Формат>- Выделенная ось . В поя­ вившемся диалоговом окне перейдите на вкладку Шкала . Измените цену промежуточных делений на 2Е7 и шелкните на кнопке ОК. 10. Мастер диаграмм поместил новый диаграммный лист слева от листа данных . Переместите этот лист (называемый Диаграмма1) справа от листа рис 3.9, перетащив с помошью мыши его ярлычок в нижней части экрана . 11. Дважды щелкните на ярлычке Диаграмма1 и введите новое название листа: рис. 12. Сохраните 3.10. рабочую книгу. Готовая диаграмма представлена на рис . 3.10. Сейчас она располо­ жена на отдельном листе. Если захотите внедрить ее в таблицу, выделите обл асть диаграммы и воспользуйтесь командой Правка >- Копировать . За­ тем перейдите на лист с таблицей и выберите команду Правка вить . Копия диаграммы будет внедрена в таблицу. >- Вста­
Дuаграммы u графuкu Коэффициент лавинного умножения электронов в кремнии 1ДJЕ..ОЭ ~ 1.ООЕ+О7 i-1.00E-+05 i: ~ 1ДIЕ-+{)3 "- с: о: 1ДJЕ+О1 "" i: i: 1,00E.Q1 ~ ~ 1.ООЕ.QЗ ,& " 1ДIE.Q5 -В-~ З 1.((IE-07 - 1,00E.Q9 1.ООЕ- 1 1 О ,ООЕ.00 2,ООЕ+О7 4 ,ООЕ+07 6 ,ООЕ.+{)7 8,ШЕ.+{)7 1 ,ООЕ..а! 1,20Е.+{)6 Наnр.яженноаь >neonpмчeaoro nonя (В/м) Рис 3.1 О. Полулогарифмические графики коэффициентов лавинного умно­ жения электронов в кремнии при трех разных температурах Создание трехмерных диаграмм Все объемные диаграммы Excel имеют равномерную шкалу по осям х и у. Таким образом, вид координатной сетки не зависит от того, какие значения откладываются по этим осям. Такая однородная разметка ино­ гда может вызвать проблемЬ1, например, исказить результат. Однако , раз­ бив график на последовательные отрезки и сместив их на определенную величину, можно получить хорошее трехмерное каркасное объемное изо­ бражение, используя плоскую точечную диаграмму. В первую очередь определим новую прямоугольную систему коорди­ нат и, v и w. Расположим ось и горизонтально, ось v под углом ф, а ось w вертикально , как показано на рис. 3. ! l. у х Рис. 3.11. Проекция трехмерной системы координат на плоскость
•&tJ Гnава 3 Отображение этих осей на плоскости осушествляется с помошью с1е­ дуюших формул преобразования: х =и + vcos(ф) и у= 1v + vsi1нф). Чтоб ы определить координаты (х,у) проекuии точки с трехмерньн.111 координа­ тами (и, v, w), вставьте их в формулы преобразования . Для создания диаграммы необходимо создать табл иuу преобразования трех стол бuов с трехмернь~ ми коорд инатами в два столбuа с диумерньши, на основании кото рых и создается точ ечн'1 я диагра~е.~а. Обычно аиа­ граммы такого тип а образованы набором п.r~оских сегментов с общими ребрами. Эти ребра имеют вид отрезков, координаты конuов кото рых и о.nисываются наборами данных. Поэтому необходимо, чтобы коорТJин;ппr углов сегм ентов совпадал и. Задача построения такой диаграм:-.1ы сво.11пся к соединению прямыми линиями последней точки каждого сегмента с первой 1оч кой следую ше­ го. Но так получаются лишние ,1инии, пересекаюшие .J.иагра~1му Можно заставить Exccl не рисовать возв ратные отре1к11. вп::нщ в меЖJу сеr\1ен ­ тами данных пустые строки. Excel рассматршшег пустую строку в сере­ дине массива данных как п роп ушенную точку н не соз.:rает !lнний. со­ единяюших эту точку с остальныыи. Распределение температур в перегруженном кремниевом диоде Когда на маломошный кремниевый дноц подается эл сктрич ес~-:11i1 им­ пульс высокой мошности, он перегревается. При слиш ком с11льн ом пе­ регреве диод разрушается. Конечно, если 110д,1ть имнульс rиганн:кой мошности, диод зады~ится и обгорит, так что не будет ни м апей шего сомнения в том, что он вышел из строя. С другой стороны , ес:111 и-.1пульс не слишком силен, диод еше сможет работать, по кра11не11 J\1 epe, н~кото­ рое время , но его характеристики ухудшатся. Один из способов оuенки степени разрушения и определени5t -,.,.юмента перегрева ..lИОда заключается f3 ~1ате~~ати,н::ско1"1 ~"10.:~~"1 нроnанJ1н с1 \) РZ•­ боты. Такое моделирование обычно выполняется на суперко\lпьютерс. но проанализировать результат можно и с ломошью табл. 3.1 E\cel . Данные н получены, как раз, в результате такого моде:rиронани я диода и показывают температуру различных его точек. Координаты точки обо ­ z, значаются буквами у и температура - Т. Данные в точке у= О соответствуют uентру устройства (пр омо11елиро ­ вана то11ько половина ·диода). Нижний проводни к находится в точ ке и поttрывает всю нижнюю часть диода. Верхний 11ронодни1<. нахопится в точке = О и простирается от точки у= О ::10 точки z = 300 мкм у= 40 z мкм. рn-переход, на котором и происходит перегрен. р ,1слоложен в точ ке z= 1О мкм и простирается от точки у = О п Dиблизител ьно до точки у= 50 мкм. Структура диода показана на рис. 3.12.
Аuаграммы u lfjj rpaфuкu 1 Подложка ~ Верхний проводник - - Центральная (базовая) r--. Диффузия Нижн ий про водн ик - -- линия диода ; Рис. 3.12. Структура маломощного диода, использованного для получения карты температур Таблица 3.1. Распределение темпераrур в маломощном диоде у{µ) Т(К) о о 300 425 462 463 453 440 1 2 3 4 5 6 7 8 9 10 11 12 13 14 }; 15 N 16 17 18 19 20 31 10 300 429 465 465 456 443 4 ~4 4?n 405 389 380 381 385 391 376 444 444 344 331 330 330 330 325 407 390 382 383 387 393 378 447 448 346 333 332 331 331 325 20 300 441 478 476 466 453 435 415 397 388 389 395 401 384 457 459 354 339 337 337 336 327 3~ 300 474 512 505 495 480 460 436 416 406 407 413 420 400 477 484 373 354 351 349 347 329 35 300 528 569 554 542 522 497 467 443 430 430 435 439 415 494 503 391 369 363 359 355 330 40 300 779 766 659 659 617 572 527 496 482 480 480 476 449 518 520 414 386 375 368 362 329 43,З 486 414 419 448 461 459 451 443 440 442 448 452 451 440 492 493 410 386 375 367 361 328 46,6 329 327 332 342 352 360 365 370 377 384 392 398 403 404 442 449 397 378 369 362 356 326 50 308 307 309 312 316 320 324 328 333 338 344 350 356 360 385 399 376 365 359 353 348 323 55 303 302 303 303 304 305 306 308 309 311 313 316 319 322 333 349 352 348 344 341 337 319 60 301 301 301 301 301 301 301 301 301 301 302 302 302 303 305 323 338 335 333 331 328 314 110 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 301 302 302 302 302 302 302 155 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 200 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 250 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300
1·~-11 Гnава 3 у(µ) Т(К) 10 319 315 312 310 308 307 307 306 300 о 319 53 315 64 312 75 310 86 308 97 307 108 307 119 306 130 300 42 20 319 314 311 309 308 307 306 306 300 30 35 40 43,3 46,6 50 55 319 314 310 308 307 306 306 306 300 318 313 310 308 307 306 306 305 300 317 312· 309 308 307 306 305 305 300 316 311 309 307 306 306 305 305 300 312 309 307 306 305 305 304 304 300 315 311 308 307 306 305 305 305 30Ь 314 310 308 306 306 305 305 305 300 60 309 307 306 305 305 304 304 304 300 110 302 302 301 301 301 301 155 200 250 300 300 300 300 300 300 301 300 301 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 Создание таблицы Как видно из табл. 3.1, необходимо ввести большой объем данных. Однако их ввод не займет много времени. Сейчас создадим таблицу, а затем воспользуемся данными для построения объемной диаграммы. 1. 2. Создайте новый лист и назовите его рис. 3.1 З. Выделите столбцы B:AG и измените их ширину на рину столбца А равной 3. 4. Установите ши- 10. Введите в ячейке А 1 текст Распределение температур в перегруженном кремниевом диоде . 4. 5. 6. Введите в указанные ячейки следующие значения . 83 J2 Т (К) А10 у (мкм) Z (мкм) Введите в ячейки 84:В 18 значения у из. табл. 3.1: Ячейка Содержимое Ячейка Содержимое Ячейка Содержимое 84 о 40 85 86 87 88 10 20 89 810 811 812 813 46,6 50 55 814 816 817 818 89 60 110 155 200 250 Введите в ячейки СЗ:АGЗ значения z из табл. 3.1 : 30 35 Ячейка Содер- 43,З Ячейка Содер- жимое сз о кз 8 DЗ LЗ мз F3 G3 1 2 3 4 оз НЗ 5 Р3 13 6 7 аз 9 10 11 12 13 14 RЗ 15 Е3 JЗ Ячейка N3 С одер- Ячейка Содер- 16 17 ААЗ 64 А83 АС3 ХЗ УЗ 18 19 20 31 42 75 86 97 108 119 130 Z3 53 жимое жимое sз тз uз VЗ WJ жимое АDЗ АЕ3 АFЗ АGЗ
Дuаграммы u rpaфuкu РасnредеJ>ение ft"'nepaтyp в neperiipaн11ow iq>eм~иeeow диоде . z Рис 3.13. Таблица м.:u распределения температур в перегруженном кремниевом диоде 7. Введите в ячейки C4:AG18 значения температуры из табл. 3.1. Обра­ тите внимание, что значения, вводимые в столбцы листа, соответст­ вуют строкам таблицы (таблица расположена поперек листа). Теперь лист должен выrлметъ, как показаНо на рис. 3.13. Создание диаграммы Посмотрим, как будут отображены введенные данные стандартной трехмерной каркасной диаграммой Excel. 1. Выделите ячейки ВЗ :АG18 и выберите команду Правка>- Копировать. 2. С помощью команды Вставка >- Диаграмма запустите мастер диа­ грамм. 3. Создайте диаграмму со следующими свойствами: Тип: Повер:хвость Вид: Проволочная (прозрачная) поверхность Ряды в строках Использовать в качестве имен наборов данных первый столбец Использовать в качестве подписей оси х пераую строку Легенда: нет Ось Х (категорий): Ось Z z (мкм) (значений): Т (К) Ось У (рядов данных): у (мкм) Поместить диаграмму на отде.m.вом листе
lf1$ 4. Гпава Перетащите ярлычок листа диаграммы так, чтобы новый лист распо­ ложился справа л 1:;;;,; рис. рис. 5. 3 3.13. Присвойте диаграммному листу имя 3.14. Щелкни:rе на стенке, основании или в углу диаграммы, чтобы в углах трехмерной "коробки", окружающей диаграмму, появились черные маркеры. Перетащите один из угловых м аркеров и разверните изо­ 6. бражение немного влево, чтобы оно лучше смотрелось. Выделите вертикальную ось и выберите команду Выделеннаs~ ось . В появившемс;~ диалоговом окне вкладку Шкала и измените минимальное значение на Получилась совсем неплохая диаграмма (рис. Формат > перейдите на 300. 3.14). Единственная проблема заключается в том, что при однороднь1х линиях сетки Значения температуры в верхнем левом утлу изображения сильно растянуты. Из-за такого искажения диаграммы становится сложно понять, где прои сходит нагрев . Отобразим эти же данны е по-другому , самостоятел ьно в ычи слив координаты ли ний сетки. 800 750 700 650 g 600 ШJ ~ Рис. 3.14. Трехмерная каркасная диаграмма распределения температур в перегруженном кремниевом диоде Создание таблицы с пропорционально расположенными линиями сетки Сначала поместим данные у, zи Т в три параллельных столбпа на листе , а затем в других двух столбцах рассчитаем их nроекuию на плос­ кость х-у.
Дuаграммы 1. 2. u графшш Создайте новый лист и назовите его рис. 3.15. Введите в ячейке А 1 текст Распределение температур в перегруженном кремниевом диоде. Н еобходимо выбрать у гол поворота диаграммы и найти синус и коси­ н ус этого угла для проеКllии каждой то•1ки. Вм есто того , вычислять его каждый раз, сделайте это однажды и используйте резул ьтаты для всей таб11иuы. Прежде чем обратитьсн к тригонометрической функции , не за­ будьте перевести градусы в радианы . 3. Введите в указанные ячейки следующие з11ас1ения: Ячейка 02 4. Содержимое Уrол проекции Ячейка Содержимое Е2 G2 F2 =SIN(РАДИАНЫ(Е2)) АЗ у(µ) вз 60 •COS(RADIANS(E2)} z (µ) сз Т(К) 03 х ЕЗ у Выронняйте ячейки 02 и АЗ: ЕЗ по левому краю. Теперь все готово для ввода значений у. Заполняйте ячейки, вводя первое значение и копируя его в остальные ячс.йки масси ва. Для копиро­ вания значений можно использовать ко~~анды Копировать и Вставить ме­ ню Правка , команду Правка >-Заполнить>- Вн из или маркер заполнения . 5. Введите следующие значения в первую ячейку диапазона и скопируй ­ те его в остальные я•зейки. Ячейки Содержимое Ячейки Содержимое А4 :АЗ4 АЗ6:А66 А68:А98 о А220:А290 10 А292:АЗ22 50 55 20 АЗ24:АЗ54 А100:А130 30 АЗ56 :АЗ86 А132 : А162 А164:А194 А196 :А226 35 АЗ88 :А418 155 40 А420:А450 200 43,3 46,6 А452: А482 250 А228:А258 Теперь нужно ввести значения координаты 60 110 z. Здесь можно исполь­ зовать тот же п рием: ввести значение в п ервую Я'lейку и скопировать его оттуда в остальные. Первый набор данных можно вообще н е вводить, а скопировать из предыдущей таблиuы. Для этого перейдите на лист пре ­ дыдущег11 пrим ера; скопируйте оттуда данные , вернитесь обратно, выде­ лите 1-1уж ный диапазон ячеек и выберите команду Правка >- Специальная встав ка. В появившемся диалого вом окне установите флажок Транспо­ нировать. Когда первый набор знач ений будет введен, скопируйтt их в ос­ тальные диапазоны, перетащив удерживая нажатой кпавишу <Option>). рамку диапа.зона в <Ctrl> (на Macimosl1 новое положение и, используется клавиша
rnaвa 6. 3 Введите значения в r:ледующие диапазоны: 84:834 836:866 868:898 8100:8130 8132:8162 8164:8194 8196:8226 8228:8258 8260:8290 8292:8322 8324:8354 8356:8386 8388:8418 8420:8450 8452:6482 . Введите следующие данные в первый диапазон ячеек, а потом скопи­ руйте их в другие диапазоны: о 1 2 8 9 10 з 11 4 5 12 13 14 15 6 7 16 64 17 75 18 19 86 97 108 119 20 31 42 130 53 Теперь введем значения температуры. Убедитесь, что вводите nра­ .вильные значения юн1 каждой точки (y,z} н не .1 абущ,те вставить между наборами данных нус-rые t.:'троки. Са.\.!ый быстрый способ сделюъ это скопировать даннь:с 1;1 ;·1рсдыду1..!1сп) примера. Выдешпе стгоку данн ы:х: н nредr.щущей табJшц~ , ;Jl)меститс :::~ в буфер обмен<l, п~ре:й.r;,1в'с н;~ лисi ~·еку!11ег1~ примера, выделите первую ячейку диап азонi\ и применнте кr)­ манду Правка >- С>1ец'1альная астаз!'.а. В г. ояшп-~ше:ч.:я дю1.:юго1юм qкнс вr.-.лючиТе режим Трансnониро&аУь. Если не хотите. J:абирать на юшвиату­ рt 464 числа (это займет всего л ишь около 15 минут), можетr. создать график формулы, при.веде!fной в ~ледующем пункте. Эта формула нс имеет физического смысла, просто получается ин·тсрс.сная диаграмма. 7. Используя данные из табл. С4:С482 464 3.1, введите или скопируйте в ячейки значения температуры. Если хотите сэкономить время , можете ввести и скопировать в те же ячейки следующую формулу: =300+500*СОS(А4*З*ПИ()/250)*СОS(В4*З*Рl()/1 ЗО)"ЕХР(-А4/62)* · ЕХР(-84/33) На следующем шаге необходимо создать функuии проекции. 8. Введите в ячейки D4:D482 и скопируйте формулу =B4+A4*$G$2 9. Введите & ячейю1 Е4: Е482 и скопируйте формулу ==C4+A4*$F$2 10, Вьщелите следующие строки, п отом шелкните на выделенном фраг­ менте правой кнопкой мыши и ~ыберите из контекстного меню ко­ манду Очистить содержимое: 323, 355, 387, 419. и 35, 67, 99, 131, 163, 195, 227, 259, 291 , 451. Вставьте несколько дополнительных значений, предназначенных для рисования линий по краям изображени я при минимальной темп ературе (300 К), чтобы визуально имитировать перспективу. 11. Введите в указанные ячейки следующие значения:
u дuаграммы •&1!1 графuкu Ячейка Содержимое 0483 0484 0485 0486 130 Ячейка Е4ВЗ Е484 Е485 Е486 о -0+250*$G$2 •130+250"'$G$2 12. Отключите Содержимое 300 300 •300+250*$F$2 •300+250"'$F$2 отображение линий сетки. Теперь лист должен выглядеть, как показано на рис. 0.5 Y(JJ) о о о :m 2 425 з 462 463 о &53 4 453 о «С 424 405 з о i) о о \:~; с 2 , о ЩJ б 424 5 6 7 405 7 в З89 :т в ИJ 9 330 зе~ ю З61 ЗВ5 :J,li а 9 10 n 11 3&i 11 [) 1j :J)', ~2 : 5. Hoe(t11 т .;блица l~;._;CMH1t:.&('J~., /;./ICФ.t: ~ "J. . ~" ~~}~-i,~~~~;~!!'<_;r.5 LI1ttJ~~i~tшrd Рис. з. i ;<. У Z(µ) о 3.15. - - .- , . распределения температур в перегруженном · С•)э.~ан~е д~drраммы с пропорциональной сеткой CCJ:f,:i<tДИM диаграмму на основании данных в столбцах D и Е. l. Rы;::,t;_'~иre ячейки D4:E486. 2 • Щелкните на кнопке J. - Мастер диаграмм. Создайте диаграмму со следующими свойствами: Тип: Точечная; Вид: Точечная диаграмма со значениями, соединеввыми отрезпми без маркеров; Ряды в столбцах; Использовать первый столбец в качестве координат по оси х; Леrенда: нет; Название диаграммы: Распределение температур в кремниевом диоде; Ось Х (категорий): z (мкм) Ось У (значений): Т (К) ; Подписи данных: у (мкм) ; ; Поместить диаграмму в ячейках К2:R16. 4. Щелкните на диаrрIО,iме, чтобы начать ее редактирование. Выделите область построения и щелкните на кнопке Цвет заливки на панели инструментов Форматирование. Выберите в раскрывающейся палитре белый цвет.
ifфi Гnава 3 Теперь разметим ось у. Нужно добавить метки, создав новое с.крытое изображение , и присвоив метки к каждой точке. 5. Скопируйrе содержим ое ячеек АЗ54:ЕЗ54 в ячейки L19 : Р19. 6. Скопируйте содержимое я•1ее.к А418:Е418 в ячейки L20:P20. 7. Скопируйте содержимое ячеек А482:Е482 в ячейки L21 :P21. 8. Выделите диаnазон 019: Р21 >- и выбер ите команду Правка Копиро­ вать . 9. щелкните на диаграмме, чтобы сделать ее доступной для· редактиро ­ вания . 1О. Выберите команду Правка >- Специальная вставка. В появившемся диалоговом окне включите режимы новые ряды и Категории (значения по оси Х) в первом столбце. Щел кните на кнопке ОК. 11. Выделите новую кривую и выберите команлу Формат >- Выделенный ряд. В nояви вше~1ся диалоrово~1 окне п ерейдите нз в.кладку Подписи данных , включите р ежим Значение и щелкните на кнопке ОК . 12. Выдел ите подпись , находящуюся впереди остальных , и и з мените ее значе ние на 13. Выделите на 14. ·····-60. подпись, н ахо.ilящуюся посередине , и из:-..-1ените ее зн ачение -·----155 (мкм). Выделите п одпись , находящуюся позади , и изм ените ее зн ачение н а ------250. 15. Шсл кните н а кривой , выберите команду Формат >- Выделенный ряд, перейдите на вкладКу Вид и включите режим отсутствует 13 группах параметров Линия и Маркер. 16. Выделите горизонтальную ось и выберите команду Формат >- Выделенная ось . В появившемся диалоговом окн е перейдите на вкладку Шкала и устан овите миним ал ьное зн ачение равным О . Щелк­ ните на кнопке ОК. 17. Сохраните рабочую книгу. ·~:\ ~--~'d~:..•.:;.;;, ,!<,, ;;;j:._,::~. :·.;:: .:J!!:::~.;;,i;• ;, ;~,::: :; ;;'.:9. .:. i ~i·i ::~: f:\.:;:,;"~· . :.'0 . ·..•. Ро~прв,11,олв••• tе"ператур е •ремнмево" дмаде . : :::: ~~с ';;_ ::s·;• ~ ;:!~;; tOO J~i-.т~-, ··-~fiэ:: Рис. 3.16. Другой эоо 150 ,"·".·. вариант трехмерной диаграммы распределения температур в перегруженном кремниевом диоде
дuаrраммы u ltdl графuкu Готовая трехмерная диаграмма должна выглядеть, как показано на рис. 3.16, если на шаге 7 вы использовали данные из таблицы, а не заме­ няющую их формулу. Диаграмма, созданная на основе формулы , изобра­ жена на рис. 3.17. Можно изменить значение угла отображения и по­ смотреть , как изменится вид диаграммы. Рис. 3.17. Трехмерная диаграмма, nострое~ная no замещающей формуле Создание рисунков Наряду со средствами для построения диаграмм, Excel предоставляет пол ьзователю · инструментарий для рисования. С помощью кнопок пане­ ли Рисование (рис. окружности и 3.18) можно создавать разноцветные линии, прямоугольники, позволяющие выделить на листе результаты вычислений. Чтобы вывести на экран панель инструментов Рисование , Стандартная щелкните или на выберите кнопке Рисование команду Вид >-- панели Панели инструментов инструментов >-- Рисование. Кроме того, возможности графического представления данных в Excel можно использовать для создания на экране сложных рисунков. На рис. 3.19 представлено изображение, составленное из ломаных линий . Для его создания потребовалось примерно 425 пар координат, описывающих 53 отрезка. На оцифровку рисунка вручную и ввод пар точек на лист потре­ бовался один вечер, что не так уж много для столь сложного рисунка. Конечно, сюда не входит время, потраченное моей" женой Джулией на то, чтобы нарисовать исходное изображение. Использование графических объектов на диаграммах повышает их наглядность . Например, если отображается выходной сигнал электриче­ ской цепи, добавление в углу диаграммы упрощенной схемы этой цепи делает результаты более поняrnыми чиtателю . Для создания графики можно использовать либо инструменты рисования, либо сегментный ри­ сунок, такой как на рис. 3.19.
lt&J Гnава 3 Добавить объект Wordдrt Надпись Овал Прямоуrольник Свободное вращение. Выбор объектов Стрелка Линия Тень Вид стрелки Тип штриха Тип линии Цвет шрифта (Авто) Цвет линии (Авто) Цвет заливки (Авто) Рис. 3.18. Панель Рисование и ее инструменты Рис. 3.19. Сегментный рисунок,-созданный средствами графического ото­ бражения данных Excel (летящая скопа, автор - Джулия Стивенс Орвис) Частотнь1й фильтр Делианниса Чacтornl>IЙ фильтр Делианниса трическая цепь, пропускающая фильтровывающая остальные. - это активная фильтрующая элек­ частоты определенного диапазона и от­ Схема такого фильтра показана на рис. 3.20. Ее коэффициент передачи, или передаточный коэффициент (отно­ шение выходного напряжения к входНому) определяется по следующей формуле.
Дuаграммы u ll&J графuкu Output lnput Рис. 3.20. Схема частотного фильтра Делианниса (!) . 1G( zro )1 = г- RI С2 ( 1 - 11 k) ··--- ··· ·· · ~(ro~ - ro2)2 +ro2(ro P /QP)2 Здесь ro - - угловая частота: k = 1+ RA Rв = - -1__ р R1R2C1C2 (1)2 roP 1 1 1 1 -=--+-------Qр Rz cl R2С2 k - 1 RI С2 Создание таблицы Пусть С 1 = С2 = 1 мкФ, R 1 = R 2 = Rв = 10 Ом и Rл = 32 Ом. Тогда центр полосы частот приходится примерно на 100 кГц. Задача: создать график коэффициента передачи и начертить на нем электрическую схему фильтра. 1. Созпайте новый лист и назовите 2. Присвойте столбцам следующую ширину: А С 3 10 10 D 23 В 3. 4. ero рис. Е F G 3.21 . 9 9 9 Введите в ячейке А 1 текст Частотный фильтр Делианниса . Введите в указанные ячейки следующие значения:
101 Гnава Ячейка вз 85 Содержимое Ячейка Содержимое Ячейка Содержимое RES1 СЗ 10 DЗ САР1 RES2 С4 10 04 САР2 к С5 •1 +RESA/RESB 05 WP ЕЗ 1Е-6 FЗ Е4 1Е·6 F4 FS В4 5. RESA RESB WPQP GЗ 32 G4 10 3 Введите в ячейке Е5 такую формулу: =КОРЕНЬ( 1/(RES1 *RES2*CAP1 *САР2)) 6. Введите в ячейке такую формулу: G5 =1/(RE52*CAP1 )+1/(RES2*CAP2)·(1/(K-1 ))*1/(RES1 *САР2) 7. 8. Выровняйте-ячейки ВЗ:В5, DЗ : DS и FЗ:F5 по правому краю. Выделите ячейки 83:С5 и выберите команду Вставка>- Имя>- Создать. В появившемся диалоговом окне включите режим В столбце слева и щелкните на кнопке ОК. Повторите эту операцию для ячеек DЗ:ES и FЗ:G5. 9. Введите в указанные ячейки следующие значения: Ячейка вв св IG{s)J DB Примечания 10. Введите Содержимое Частота в ячейки 89 и 810 числа 1Е4 и 2Е4. Вьшелите ячейки и перетащите маркер заполнения вниз до ячейки . ~ .; ,.. 849. - Часпm<wй фМll~'Р Де~ионнмса Сдс>1 1.ООЕ-00 CN'2 1 ДJЕ-00 WP 10COD RES1 RES2 к Gs D.13 n нм1"11ни" На,1110 р1с•ета фМllьrра 0.26 о.зе О.<19 0,58 0.66 О.71 0.75 0,77 0.78 0.77 076 0.71 0.72 0,70 0$7 UI .. ·"·.··;· Рис. 3.21 . Таблица дпя расчета коэффициента передачи частотного фильтра Делианниса 89:810
Дuаграммы 11. Введите u lt&i графuкu в ячейку С9 и скопируйте в диапазон С9:С49 следующую формулу: ={B9/(RES1"CAP2*(1-1/K)))/SQRT{(WP"2·B9"2)"2+WPQP"2*89"2) 12. Введите в ячейке D9 текст Начало расчета фильтра. 13. Введите в ячейке 049 текст Конец расчета фильтра. 14. Присвойте ячейкам 89:8133, ЕЗ : Е5 и G5 экспоненциальный, а ячей­ кам С9:С135 - числовой формат с двумя десятичными зн аками. 15. Присвойте таблице обрамление, как показано на рис. 3.21 . 16. Отключите отображение линий сетки. На этом ввод данных ШIЯ расчета коэффициента передачи заканчива­ ется. Рабочий лист должен выглядеть, как показано на рис. 3.21 . Соэдание диаграммь.1 Построим график коэффициента передачи частотного фильтра. 1. • Выделите ячейки 89:С49 и щелкните на Кнопке Мастер диа- , грамм. 2. Пройдите шаги Мастера диаграмм и введите следующую информацию: Тип: Точечная ; Вид: Точечная диаграмма со значениями, соединенными сrлаживаюw щими линиями без маркеров; Ряды в столбцах; Использовать первый столбец в качестве координат по оси х; Легенда: нет; Название диаграммы: Частотпwй фит.тр ДеJIИанниса; Ось Х (категорий) : Угловая частота (рад/с) ; Ось У (значений): Коэффициент передачи; Поместить диаграмму в ячейках 11:Q18. 3. Щелкните на диаграмме, чтобы сделать ее доступной для редактиро­ вания. Щелкните на области построения и выберите команду Формат ~ Выделенная область построения. В появившемся диалоговом окне включите режим прозрачная в группе параметров Заливка. Щелкните на кнопке ОК, затем - на рабочем листе, чтобы отменить вьшеление диаграммы. 4. Выделите диаграмму и перетащите ее вниз, удерживая нажатой кла­ вишу <Ctrl>. Получится копия исходной диаграммы. Она нам понадо­ бится позже . Соэдание чертежа электрической схемы с помощью инструментов рисов~ния · В первой копии диаграммы нарисуйте электрическую схему фильтра, используя инструменты рисования . Для этого сначала сделайте видимой панель инструментов Рисование и увеличьте изображение, чтобы было легче создавать чертеж .
ltd& 1. Гnава 3 Прокругите лист до тех пор, пока верхняя диаграмма не станет види­ мой и щелкните на ней , чтобы сделать ее доступной для редактирова­ ния . Щелкните 2 3. на кнопке Рисование панели инструментов Стандартная. Появится панель инструментов Рисование. Поместите панель Рисование на экране так, чтобы ею было удобно пользоваться. 4. Установите в строке Масштаб панели инструментов Стандартная уве­ 5. личение 200%. Используя инструменты рисования, начертите электрическую схему, показанную на рис. 3.20. Основная работа выполняется с помощью инструмента Линия. Чтобы нарисовать четыре эллипса, используйте инструмент Овал, а для обозначения компонентов цепи ·мент Надпись. С помощью команды Формат >- Объект инстру­ - откройте диа­ л оговое окно Формат Объекта, перейдите на вкладку Цвета и линии и отмените обрамление и заливку текстовых областей. Затем перейдите на вкладку Шрифт, выберите на ней размер шрифта, равный 8 пунк­ там и включите режим нижний индекс. -r'Экспресс-_метод Процесс рисования можно ускорить, сначала начертив один из одинако­ вых объектов - например, резистор - а потом используя его копии. Чтоф бы скопировать объект, выделите его и перетащите на новое место, удерживая нажатой клавишу 6. <Ctrl>. Восстановите отображение диаграммы в натуральную величину, введя в строке Масштаб значение 100%. · С 7. помощью инструмента Выбор объектов панели Рисование выделите весь рисунок. & Выберите из раскрывающегося меню Действия команду Группиро- вать. будуг Все элементы рисунка сгруппируются в один объект и передвигаться вместе. Для последующего редактирования рисунка его нужно будет разгруппировать. Диаграмма должна выглядеть, как показано на рис. 3.22. Соз.дание чертежа электрической схемы по точкам Теперь попробуем сделать то же самое со второй копией диаграммы, но воспользуемся дополнительным набором данных. Чтобы определить координаты х и у для концов отрезков, образующих чертеж, я сделал эс­ киз на бумаге в клеточку. Все объекты должны быть нарисованы в том же масштабе , что и уже готовая диаграмма. Следовательно, нужно рисо­ вать схему на равномерной сетке, а потом использовать простую функ­ цию для отображения на диаграмме значений из таблицы.
Дuаграммы u 11&1 графuкu Чвстотиыi фмt.тр Деп•аниwса 0,90 ! . -- ·---· ...•... -------. - . --· •...... --· .. ··--- ... ··-- 0,80 0,70 1 0.60 i 0,50 1 i 0,40 о;ю '~ О.2<) D,10 ·•' ·'' '• ........~---~--~~~--~-..~~~--.~--< о~~~ 0,(11:.00 5,(ICE'°" 1,[IE.OS 1,П.ОS 2,00f.OS 2,&E.OS 3,IХЕ.сз5 З,50!!.ОS 4,!XJE-QJ •.П.ОS " УтnоаМ cмc.ror• ~с) • ' •. Рис. 3.22. 'О! .• 3.22 График коэффициента передачи частотного фильтра Делианниса. Чертеж электрической схемы выполнен с помощью инструментов рисования 1. Введите в ячейки Строка 852:01 ЗЗ Столбец В следующие значения: Столбец С 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 75 76 77 78 79 80 81 82 83 Столбец D Координаты схемы 53 ' 0,5 3,0 1,0 1,0 "земля" 2,3 2,3 2,35 2,25 2,35 2,25 2,35 2,35 2,3 1,0 1,2 1,3 1,4 РезистоеА 2,0 2,5 2,0 2,0 2,0 1,9 1,9 2,8 2,8 2,85 2,75 2,85 2,75 2,85 2,8 2,8 1,5 1,6 1,7 1,8 2 2,4 3,0 3,6 2,4 2,6 Оnееационный :~:силитеnь 2,6 между входно~ схемой 2,0 2,0 2,2 2,3 2,4 2,5 2,6 2,7 2,8 4,2 и операционным усилитеnем Резистор В и проводник
IШ:I Гnава Строка Столбец В Столбец С 84 85 86 1,25 1,25 4,2 3,9 87 1,0 1,0 1,5 1,5 1,45 1,55 1,45 1,55 1,45 1,5 3,5 3,9 88 89 90 91 92 ·93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 Столбец О Резистор 2 З,9 З,3 1,0 1,0 3,2 3,1 3,0 2,9 2,8 2,7 2,1 2,1 2,5 0,85 1,15 2,5 2,5 0,85 1,15 2,6 2,6 0,85 1,15 3,4 3,4 0,85 1,15 3,5 3,5 0,5 0,6 0,65 0,7 7,5 3,0 30 3,1 2,9 3,1 0,8 2,9 0,85 0,9 1,0 3,1 3,0 3,0 2,5 3,0 3,0 3,0 . Выходной контакт 1,0 1,0 2,6 Проводник между С1 и С2 1,25 1,25 1,8 1,8 2,0 2,1 1,8 1,8 3,3 3,3 1,5 Конденсатор 1 Конденсатор 2 Резистор 1 125 126 127 128 129 130 131 132 133 2,6 Проводник между вХодной схемой и операционным усиnитеnем 3
Дuаграммы u ltфj графuкu Теперь создадим функцию отображения, преобразующую значения в столбцах В и С в единицы, используемые в диаграмме. Это делается пу­ тем простого линейного преобразования каждого значения. 2. Введите в указанные ячейки следующие значения: Ячейка Содержимое 051 052 3. Смещение Множитепь Выделите ячейки ячейки 4. Ячейка Е51 Е52 Содержимое Ячейка Содержимое о F51 F52 0,1 ЕSЗ х FSЗ у Е54 •Е$51 +Е$52*В54 F54 •F$51+F$52*C54 E54:F54 1Е5 о и перетащите маркер заполнения вниз до F133. Просмотрите таблицу сверху вниз и удалите содержимое всех ячеек в столбцах Е и 5. 6. 7. F, которые соответствуют пробелам в столбцах В и С. Разграфите таблицу, как показано на рис. 3.23. Выделите ячейки E54:F133 и выберите команду Правка>- Копировать. щелкните на сделанной ранее копии диаграммы, чтобы сделать ее доступной для редактирования. · · Выберите команду Правка >- Специальная вставка. В появившемся диалоговом окне включите режим Значения (У) в столбцах и установи­ те флажок Категории (подписи оси Х) в первой строке, затем щелкните на кнопке ОК. ,. ,:/~г IC"ltfa • 10Ei05 ение о Мю:оосмrе~ь 1 ООЕ.о5 Cwe Коорди.наУЫ схемы 1,00 1.00 ·зем.n2'.• 5.ООЕ-ю.t Э.(ХJЕ.о5 0,10 2,3) 1.00 Рез•стор А 2,Э)Е..ОS 0,10 2.за 1~ 2,зое..о5 2.35 •.Ю 2.Э5Е-t05 2.25Е.о5 0,12 0,13 0,1.4 2;25 1,.«1 2,Э5 1,5) 2,Э5Е..ОS 1.00 1.70 2.25E..OS ЦJ 2,ЗО 1,80 2.00 2,3)E-t05 2,зое..оs о;о 2.00 2 •.40 Оnе~ацмонн.~А усмМ"tВ/\ь 2,00E+OS 0,2.4 з.оо 2,50Е..а5 3.00 2,40 2.00E..OS О,ЗQ О;.> 2,ООЕ<Об 0,24 200 8. 0,10 2,25 2,35 2.fJJ 2,00 Рис. 1 З.00 O.tiO -- • о о 2.З5Е.о5 0,15 0,16 0,17 0,16 2.00 3.23. Данные для создания схемы частотного фильтра Вьщелите электрическую схему _ и выберите команду Формат >Выделенный ряд. ~ появившемся диалоговом окне перейдите на вкладку Вид. Включите режим отсутствует в группе параметров
lll~• Гnава 3 ~ Маркер, выберите черный цвет линии черный и сбросьте флажок Сглаженная линия. Затем щелкните на кнопке ОК. 9. С помощью свободного текста (введенного в поле формулы при вы­ деленной диаграмме), создайте четыре окружности по углам схемы (используйте маленькую букву о) и введите обозначения резисторов и конденсаторов. Выберите команду Формат>- Объект. В появившемся диалоговом окне перейдите на вкладку Шрифт и уменьшите размер 10. текста до 8 пунктов. Затем перейдите на вкладку Цвета и линии и от­ мените обрамление и заливку. Щелкните на листе вне окна диаграммы. Готовая диаграмма должна выглядеть, как показано на рис. 3. 24. 0,00 ..___ _ _ _ _ _ ~---~----.-------0-----1 О,!П+ОО Sp:f'•04 1,00€+()5 1 ,5a'.QS 2.0CIE-OS 2,5a'+OS 3,00Е+()5 3,5a'><JS 4.(XJЫJS 4.5(1'+05 .. Рис З.24. График коэффициента передачи частотного фильтра Делианниса. Чертеж электрической схемы выполнен по табличным данным t./ Совет На самом деле существует гораздо более простой способ поместить в диаграмму графический объект: нарисовать его с помощью графического редактора, скопировать рисунок и вставить его в рабочий лист или диа­ грамму. В большинстве графических редакторов работать легче, чем соз­ давать оисvнки в Excef. Резюме В этой главе было показано, как создавать диаграммы на основе таб­ личных данных и улучшать их внешний вид с помощью надписей, меток, легенд и заголовков. Кроме обычных функuий построения трафиков, были исследованы графические возможности Excel, позволяющие вы­ полнять другие типичные исследовательские и инженерные задачи, такие как создание логарифмических, полулогарифмических диаграмм, а также добавление к ним простых рисунков. и трехмерных
дuаrраммы u rpaфuкu 1Ь1 Немного изобретательности - и с помощью описанных в данной гла­ ве приемов вы сможете решить большинство задач отображения и пред­ ставления данных. Для других систем координат, например полярных, применяйте координаты линейное преобразование данных в линейные х- и у­ Сначала постройте -график, а затем добавьте необхо­ ExceJ. димые оси координат и надписи с Помощью графического инструмента­ рия Excel. Дополнительная литература Сопротивление кремния S. М. Sze, Physics of Semiconductor Devices, 2nd ed. (New York: Wiley, 1981), Ch. 1. Коэффициент лавинного умножения электронов в кремнии W. N. Graпt, "Electroп апd Hole Ionizatioп Rates in Epitaxial Silicon at Electric Fields," Solid State Electronic 16 (1973):1189-1203. Нigh Частотный фильтр Делианниса D. G. Fink and D. Christianseп, Electronics Engineers' Handbook (New York: McGraw НШ, 1982). Обзорные задачи 1. 2. Постройте график результатов первой инженерной таблицы в преды­ дущей главе (теплопроводность кремния). Не забудьте подписать оси. Гиперболический синус (siпh) утла в радианах вычисляется по форму­ ле: ех sinh(x) = а. - е-х --- 2 Используя эту формулу, вычислите значения sinh(x) для 40 значе­ ний х от О до 2п радиан. Постройте график по этим значениям и сделайте подписи под осями. Ь. Добавьте на ту же координатную плоскость графики гиперболиче­ ского косинуса (cosh) и гиперболического тангенса (tanh). Создай­ те легенду. ех + е-х cosh( х) = - - - 2 с. Разместите sinh(x) cosh(x) tanh( х ) = - - - - названия кривых возле самих функции подписи данных, а не легенды. кривых с помощью
Гnава ipj 3. 3 Измените пример с уравнением Ван-дер-Ваальса из предыдущей гла­ вы так, чтобы вычислить таблицу трех изотерм уравнения состояния Ван-дер-Ваальса для двуокиси углерода. Пусть объем изменяется от 0,06 до 0,4 л/моль с шагом 0,01. Вычислите в трех столбцах давление при температурах 264 К, 304 К и 344 К. Постройте график зависимо­ сти давления от объема для этих трех изотерм и подпишите под ними значения температуры. 4. Выполните упражнение 3, используя вместо уравнения Ван-дер­ Ваальса закон идеального газа. 5. Выполните 6. плоскости. Постройте логарифмический график гиперболичесюtх функций для значений хот О до 10. Создайте шаблон для графиков в полярной системе координат. На­ упражнение на 2 полулогарифмической координатной чертите на экране оси х и у в диапазоне от -2,5 до +2,5 с точкой от­ счета в центре. Нарисуйте окружности с радиусами 1 и 2, обе с цен­ тром в точке отсчета. Создайте функцию преобразования для пересче­ 7. та координат r и v в значения х и у, которые мoryr быть внесены в шаблон. Постройте график функции "четырехлепестковой розы" в полярной системе координат, созданной в упражнении r = asin(20) 8. О< 0 < 21t а= 6: 2. Постройте график зависимости напряжения в нагруженной балке из примера в главе 2 от положения наrрузюt. В углу графика сделайте чертеж балюt, закрепленной одним . конuом (рис. 2.14). (Нарисуйте прямую бал.ку, а не искривленную.) 9. Постройте по таблице калибровки линейного переменно -диф­ ференциального трансформатора из главы 2 график четырех кривых калибровюt в зависимости от показаний вольтметра. Сделайте в ле­ генде соответствуюшие пометки. 10. Для примера расчета собственной концентрации носителей заряда из главы 2 постройте график зависимости ширины залрешенной зоны и собственной концентрации (логарифмичесюtй) от температуры. Над­ пишите кривые. 11. Создайте трехмерный график функции sin(xxy) для х и у, изменяю­ шихся ОТ -1t ДО +1t. 12. Создайте трехмерный график в виде проволочного каркаса для при­ мера объемного графика, рассмотренного в главе. (На каркасном гра­ фике точки соединены в обоих направлениях, а не в одном, как это было в примере .) Сначала нанесите данные вдоль оси у, как в приме­ ре, а потом еше раз адоль оси z. Результат должен выглядеть как на­ тянутая на точки данных сеть, образуя поверхность в пространстве.
u дuаграммы IQJ графuкu Упражнения 1. Средняя скорость молекул идеального газа вычисляется по формуле: c=f:. где р - плотность (ШIЯ водЫ р = 1000 кr/мЗ), а Р - давление в Н/м2. Вычислите и постройте диаграмму скоростей при давлениях от 0,001 до 100 атм. В случае необходимости используйте логарифмическую шкалу. 2. В главе 2 была создана таблица зависимости оrnосительной и абсо­ лютной величины звезд от расстояния до светила (рис. 2.12). Вычис­ лите эту таблиuу и постройте диаграмму в виде двумерного проволоч­ ного каркаса, используя встроенные проuедуры создания трехмерных диаграмм. 3. Отобразите данные из задачи 2 на трехмерной диаграмме с объемной поверхностью. Сравните результат с задачей 2. 4. Данные из задачи 2 в действительности следует отображать на верти­ кальной .!J.ОГарифмической шкале. Измените вертикальную шкалу на логарифмическую и снова создайте диаграммы в виде проволочного каркаса и объемной поверхности. 5. Изменения эклиптической долготы (Х) и значения наклона эклипти­ ки к экватору (Е) вычисляются .по формулам: х = 50.2564" +о. 00222" t Е= 6. 23°27'8.26" - 0.4684"t, где t - количество лет после 1900 года. Вычислите Х и Е для всех t от О до 100 и постройте диаграмму на основе полученных результатов. Нарисуйте на диаграмме фрагменты рис. 2.7, иллюстрируюшие Х и е. Цистерна диаметром 3 м и высотой 3 м наполнена водой. В ее ниж­ ней части расположена труба диаметром 5 см и миной 30 см . Считая , что давление воды составляет 1 Па/см2 на 1м глубины, постройте диаграмму скорости вытекания жидкости по трубе ШIЯ различных вы­ сот столба воды в uисrерне. См. закон Пуазейля в упражнении 6 гла­ вы 7. 2. Выполните упражнение 6, начертив иа полях диаграммы эскиз uис­ терны и трубы , по которой вытекает вода. 8. Вычислите синус, косинус, тангенс, секанс, косеканс и котангенс ШIЯ утлов в диапазоне от 9. -21t до 21t и на основе результатов создайте диа­ грамму. Не забудьте подписать кривые. Вычислите и отобразите на диаграмме зависимость времени t от ско­ рости вытекания Q воды из цистерны (см. упражнение 6). Закон Пуа­ зейля описывает зависимость скорости вытекания от давления. Дав­ ление - это глубина, помноженная на константу, а глубина - это
IQI Гt1ава объем цистерны, деленный на площадь основания. Сложите все это и получите простое дифференциальное уравнение, 3 - которое можно решить аналитически: Q = KVa е-кz ' где: 4 К= па и 811/А а - • радиус трубы, и воды 0,2 - Па/см2 нам), падение давления на единицу глубины (для v- вязкость, 1- длина трубы, А - площадь поперечного сечения цистерны. 1О. Для примера с термоэлектрическим радиатором из главы 2 (рис. 2.18) преобразуйте калькулятор функции в таблицу. Вычислите и постройте диаграмму термоэлектрического КПД и величины теплопередачи при входном токе, изменяющемся от 20 до 40 А.
Гпава 4 Исnопьзование Visual Basic for Applications ./ ./ ./ Запись макросов Соэдание функций Соэдание припожений В году поддержка макрокоманд компонентами пакета Microsoft в значительной степени расширилась. Разработчики преследовали цель сделать Visual Basic основным макроязыком стандартных приложе­ ний, и программа Excel первой подверглась изменениям. Visual Basic удачно справился с ролью языка для разработки приложений Windows, в 1994 Office чем немалая заслуга визуального интерфейса (пользователь может как бы "нарисовать" приложение) и относительной простоты Многие профессиональные программисты глумятся над желая замечать, что Visual Basic этого Basic, яз.ьrка. упрямо ие является полноправным языком про­ граммирования, поддерживающим блочные структуры, процедуры и объ­ екТЬI. В приложение нием Excel интегрирована неполная версия VВ под назва­ Visual Basic, Application Edition или Visual Basic for Applications, ко­ торая обладает большей частью стандартных функциональных возможно­ стей. Кроме того, эта специальная версия поддерживает объекты , кото­ рые позволяют обращаться к содержимому ячеек и управлять приложе­ нием Excel. Если вы уже имеете опыт программирования иа одной из современ­ ных версий Basic или FORTRAN, то наверняка будете чувствовать себя комфорrnо в среде Visual Basic. Если вы программист иа С или Pascal, переход иа новый язык тоже вряд ли будет болезненным. С другой сто­ роны, программирующим на GW-BASIC или BASICA придется переос­ мыслить некоторые концепции, поскольку современный Basic значи­ тельно отличается от своих предшественников. Visual Basic for Applications является полнофункциональным языком программирования, заслуживающим отдельной книги (уж я-то знаю, по­ скольку написал именно такую книгу). В этой главе будут рассмотрены функциональные возможности, которые окажутся полезными для июке­ неров и научных работников. Тем не менее , дать п олное описание языка программирования в одной главе просто невозможно. Дополнительные сведения о языке можно почерпнуть в одной из книг, перечисленных в
114i Гnава 4 разделе этой rлавы "Дополнительная литература". В поисках описания функций и поддерживаемых возможностей полезно будет заrлянуrь в Ру­ ководство пользователя а также в систему интерактивной справки. Excel, Создание процедур Процедурой в Visual Basic Visual Basic считается фрагмент кода, выполняемый как один блок. Процедура в обязательном порядке имеет заголовок и завер­ шающую инструкцию, между которыми и находится собственно выпол­ няемый код. Синтаксис заголовка процедуры: Sub Имя_Проц(аргум) rде Имя_Проц соответствует имени процедуры, а аргум - всем аргумен­ там, переданным в процедуру. Инструкция завершения End Sub ставится за последним выражением процедуры. Процедуры помещаются в отдельный модуль рабочей книги Excel. Чтоб.ы вставить модуль в рабочую книгу Excel, запустите редактор Visual Basic с помощью команды Сервис Макрос Редактор Visual Basic или > > комбинации клавиш <Alt+F11>. Microsoft Yisual Basic, основное окно которого показано на рис. Рис. 4.1. Редактор окно 4.1. Microsoft Visual Basic Выполните команду Вставка диалоговое В результате будет открыто приложение нового > модуля. Модуль, после чеrо должно появиться Теперь можно выполнить команду
Испопьзованuе Вставка >- Uisual Basic for Applications Процедура. В диалоговом окне Вставка процедуры (рис. 4.2) необходимо задать имя процедуры, ее тип и область определения. Щелк­ ните на кнопке ОК в окне модуля появится заготовка для процедуры - (заголовок и инструкция заверш ения) . П анель инструментов Отладка (рис . 4.3) содержит все необходимые для выполнения и трассировки процедур Vjsual Basic Рис. 4.2. Диалоговое Рис. 4.3. кнопки . окно Вставка процедуры Панель инструментов Отладка Пользователю предоставлена возможность вставлять в создаваемые приложения специальные диалоговые окна (формы) с кнопками, флаж­ ками, переключателями и другими элементами управления, которые яв­ ляются составной 1.Jастью интерфейса приложения. Для создания такой формы следует выполнить в редакторе Vjsual Basic команду Вставка Useгf orm. В результате будет открыто диалоговое окно для >- создания формы и появится панель инструментов Элементы управления (рис. 4.4). Для создания объекта просто щелкните на соответствующей кнопке па­ нели инструментов и нарисуйте объект в диалоговом окне. В предыду­ щих версиях Excel был реализован несколько иной подход к созданию диалоговых окон, однако пользователям не придется рисовать формы в редакторе Yisual Basic или непосредственно на рабочем листе. Дело в том, что при желании в рабочую книгу можно вставить так называемое диалоговое окно Excel. После создания объекта в диалоговом окне ему следует назначить процедуру Visual Basic. Щелкните на объекте правой кнопкой и выберите из контекстного меню команду Программа . Если в предыдущих версиях
lfl:I Гоава 4 можно было · присвоить объекту существуюший макрос, выбрав его из списка, то в Excel 97 процедуру можно написать и самостоятельно . Од­ нако теперь пользователь может определить процедуры для каждого воз­ можного действия над кнопкой (шелчок, двойн ой щелчок, перемешение указателя мыши над объектом и т.д.). Окн о модуля , позволяюшее создать процедуру , показано на рис . Рис. 4.4. Средства 4.5. создани я форм в Microsoft Visual Basic Ptiva t e sub COJrUnandButt onl_Click() :•.-:. End Sub .:~:·:", ... Рис. 4.5. ,. Окно модуля ··:·-·..· .· ~ ::~ .;jij·
Исщ1nьзованuе Uisual Basic for Applications Объектно-ориентированное программирование В соответствии с концепцией объектно-ориентированного програм­ мирования данные (свойства) и код (методы), манипулирующий этими данными, интегрируется в один "контейнер", который и называется объ­ ектом. В Visual Basic кнопка является .объектом, который содержит дан­ ные о расположении в диалоговом окне , размере, цвете и отображаемом тексте. Объект также содержит код для прорисовки кнопкя на экране, мя создания иллюзии нажатой кнопки , а также для запуска заданных пользователем процедур после выполнения над кнопкой определенных действий. Манипуляции с объектом осуществляются либо пугем изменения свойств, либо пугем выполнения присущих ему методов. Например , объ­ ект типа "кнопка" обладает свойствами Left и Тор, которые задают его расположение относительно верхнего левого угла диалогового окна. С ломощью этих параметров проuедура может определять текущее распо­ ложение кнопки и , в случае необходимости, изменять его. Объект такого типа также обладает методом Сору, который после выполнения помещает копию кнопки в буфер обмена. Для поддержки новых и усовершенствованных функциональных воз­ можностей в объектную модель Microsoft Excel 97 Visнal Basic бьmи вне­ сены значительные изменения. Многие объекты, свойства и методы бы­ ли изменены. Для обеспечения возвратной совместимости большая часть замененных компонентов была просто скрыта, а не удалена. Это означа­ ет, что такие компоненты по умолчанию не будут фигурировать в иерар­ хических средствах просмотра объектов, ио существующий код, который использует скрытые компоненты, по-прежнему будет корректно функ­ ционировать. Тем не менее, при создании собственных программ на Basic следует использоватЪ только новые объекты, свойства и методы. Обращение к объектам в Visual Basic for Visual Visual Basic Applicatioпs не принадлежит к полностью объектно­ ориентированным языкам, в которых программист может создаnать соб­ ственные объекты. Однако любой элемент следовательно, доступен из программы Excel является объектом и, Visual Basic. Более того, обра­ шаться можно не только к ячейкам или рабочим листам, но и ко всем командам и функциям приложения Excel. В соответствии с объектной моделью Visual Basic, любая ячейка или Range, который, в свою очередь, являет­ от объекта Worksheet. При обращении к свойству объек­ группа ячеек является объектом ся производным та следует точно указывать всю иерархию контейнеров. Например, для обращения к значению ячейки А1 рабочего листа Тек_расчеты в рабочей книге П_л::\н необходимо использовать следующую конструкцию:
liФI Гnава 4 Application.Workbooks("Плaн"). Shееts("Тек_расчеть1"). Range("A 1"). Value Итак, все объекты разделяются точками. В том случае, если названия объекта и его свойства совпадают, то для обращения к объекту использу­ ется точка, для обращени я к свойству - восклицательный знак (!). Совсем необязаrельно перечисл ять все объекты. Вместо пропущенных "родительских" объектов по умолчанию подразумевается активизирован­ ные в текущий момент. Поэтому в большинстве случаев ДIIЯ обращения к ячейке достаточно указать только рабочий лист и диапазон. Н априм ер : Sheets(''Тек_расчеты") . Range("A 1") Кроме того, существуют специальные объекты, соответствующие ак­ тивизирован ным элементам рабочей КI:iИrи. Sheet Например, объект Active- соответствует выделен ному в настоящее время рабочему листу, а объект ActiveCell - ячейке. Следовательно, для обращения к текущей ячейке текущего рабочего листа можно воспользоватъся конструкцией ActiveSheet.ActiveCell. -.._ Примечание ;:~ij Для ознакомления со всеми свойствами и методами объекта мож­ но воспользоваться диалоговым окном Просмотр объектов (см . рис. 4.6). Чтобы открыть это диалоговое окно , щелкните на кнопке с таким же названием , расположенной на панели инструментов Стандарт редактора Visual Basic. Затем выберите в диалоговом окне библиотеку и сам объект. В результате будет отображен список всех существующих свойств и ме­ тодов объекта. В нижней части окна для каждого выбранного свойства или метода выводится его синтаксис. Чтобы раскрыть посвященный ме­ тоду (свойству) раздел справочной системы, щелкните на кнопке со зна­ ком вопроса (7). Создание процедур с целью автоматизации рутинных задач Большинство элементарных процедур Visual Basic предназначено для автоматизации рутинных операций над рабочими листами. Процедуры._ подобного типа называются командными, поскольку они выполняются как команды меню. Практически любую рутинную задачу (ввод едИнооб­ разных данных, несложные расчеты и т.д.) можно автоматизировать с помощью командных процедур , которые призваны сохранить время пользователям при выполнен ии повторяющихся действий. Кроме того , процедуры оказываются просто незаменимы во время создания автома­ тизированных рабочих листов для неподготовленных пользователей Excel. Потратьте некоторое время на изучение этой главы, и вы сможете удивить своих коллег и друзей рабочими листами, которые будут автома­ тически выполнять необходимые действия без вашего вмешательства.
Испоnьэованuе eJ Collecbon •"' i'1J СоmЬОВох · Uisual Basic for Applications ;=амь;1111м~ ~ CommэndBзr i>!J Command8arBU1: : ·~ CommandBarCo ::с ·~ ~ommand~ar~o::tJ Рис. 4.6. Диалоговое окно Просмотр объектов Запись процедуры Командную процедуру легко создать и еще проще использовать. При­ дайте рабочему листу такой вид, который он должен иметь перед запус­ ком процедуры и выполните команду Сервис В результате появится изображенное на рис. > Макрос >- Начать Запись. 4.7 диалоговое окно. В этом диалоговом окне следует задать название макроса или согла­ ситься с предложенным Excel по умолчанию и (что необязательно) на­ значить для макроса комбинацию клавиш. Последнюю операцию можно будет проделать позже, во время присвоения макроса кнопке панели ин­ струментов. Макрос можно сохранить в текущей рабочей книге, новой книге или личной книге макросов. Если записываемую процедуру пред­ полагается использовать в различных рабочих книгах, ее целесообразно сохранить в личной книге макросов, которая загружается при каждом за­ пуске Excel. Локальные процедуры следует помещать в ту книгу, в кото­ рой они будут использоваться. Чтобы создать краткое описание макроса, введите необходимый текст в поле Описание. Рис. 4.7. Диалоговое окно Запись макроса Если в предыдущих версиях Excel существовала возможность записы­ вать ;>iакросы на различных языках программирования, то теперь пользо­ вателю уже не приходится выбирать язык для создания процедуры.
... Гnава После щелчка на кнопке ОК появится панель 4 инструментов Остановка записи с кнопкой Остановить запись, а приложение Excel начинает записывать все ваши действия, включая открытие и закрытие файлов, создание формул и т.д. Выполнив необходимую последователь­ ность действий, выберите команду Сервис )- Макрос )- Остановить запись или щелкните на кнопке Остановить запись. Если процедура записывалась на листе модуля, него с помощью ярлычков или кнопок прокрутки, переключитесь на расположенных в нижней части окна рабочей книги. -.._ Примечан~е По умолчанию, при записи макроса используются абсолютные ссылки. Макрос, записанный с абсолютными ссь1лками, при выполнении всегда обрабатывает те же ячейки, которые обрабатывались при его записи. Для того чтобы с помощью макроса обрабатывать произвольные ячейки, сле­ дует записать его с относительными ссылками. Для этого щелкните на кноп11:е 1~~~ Относительная ссылка на панели инструментов Остановка записи. }~' Относительные текущего сеанса работы в ссылки будут использоваться до конца Microsoft Excel или до повторного нажатия кнопки. Редактирование существующих макросов Подкорректировать предварительно записанный макрос можно только в редакторе VisuaJ Basic. В меню Сервис приложения Excel установите указатель мыши на пункт Макрос и выполните команду Макросы (или нажмите комбинацию клавиш <Ctrl+FS>). Выберите имя макроса из спи­ ска и щелкните на кнолке Изменить. В результате соответствующий мак­ росу код будет открыт в редакторе Visual Basic. Назначение макроса объекту Вместо того чтобы запускать макрос-процедуру с помощью комбинации клавиш или через меню Сервис, его можно назначить объекту (например, кнопке). Для инициирования макроса достаточно будет щелкнуть на объекте. Кнопку можно создать с помощью соответст­ вующего инструмента панели Формы. В случае необходимости макрос можно назначить любому объекту рабочего листа, включая внедренную диаграмму или графический элемент (прямоугольник или линия). Чтобы назначить процедуру объекту, щелкните на нем правой кнопкой, выбе­ рите из контекстного меню команду Назначить макрос, выберите необхо­ димую процедуру из списка диалогового окна Назначить макрос объекту и щелкните на кнопке ОК.
Испоnьзованuе . Uisual Basic f or RppJications . r::;;;;~:~::~~~~~:~~~~;tf.4t~}~~t~~:~~~.. ' Fcпnat!\ f t<Н4"a21~l ~- ~1 Рис. 4.8. Диалоговое окно Назначить макрос объекту ~ После расположения над объектами, которым уже назначен ~ макрос, указатель ~fыши принимает форму руки. Чтобы поставить в соответствие объекту другой макрос, воспользуйтесь описанной выше процедурой . Запуск команд~ой процедуры Запустить проце~у можно с помощью назначенной ей комбинации <Сtгl+клавиша>, с помощью щелчка на объекте (которому назначен мак­ рос) или путем выполнения команды Сервис Макрос и выбора назва­ >- ния процедуры из списка дИалогового окна Макрос. Рис. 4.9. Диалоговое окно Макрос
11:11 Гnава 4 Процедура форматирования ячейки В качестве примера рассмотрим последовательность действий для соз­ дания процедуры форматирования и обрамления ячейки. В результате должен быть записан макрос , который преобразует содержимое ячейки (или ячеек) в числовой формат с двумя десятичными знаками после за­ пятой и рисует вокруг ячеек прямоугольник. Впоследствии этот макрос можно будет назначить какому-то объекту. 1. Перейдите на новый рабочий лист. 2. Выделите любую ячейку (например, 87) и введите в нее произвольное число. 3. Выделите ячейку А1 и выполните команду Сервис >- Макрос >- Начать запись.· 4. Назовите макрос Formatlt, наберите для него краткое описание, задай­ те комбинацию клавиш и щелкните на кнопке ОК. Рис. 5. 4.10. Диалоговое окно Запись макроса Когда появится панель инструментов Остановка записи , щелкните на кнопке Относительные ссылки (если она еще не нажата). В результате макрос сможет обрабатывать произвольные ячейки. 6. Шелкните на ячейке , которая содержит число, выполните команду Формат >- Ячейки , перейдите на вкладку Число , выберите формат Числовой с двумя десятичными знаками после запятой и щелкните на кнопке ОК. 7. Щелкните на стрелке раскрытия списка возле кнопки Обрамление и выберите необходимый тип контура (например, тонкий внешний контур). 8. Щелкните на кнопке Остановить запись. Теперь перейдите в редактор Visual Basic и в окне Проект щелкните дважды на соответствующем макросу модуле. Записанный код макроса, который соответствует всем выполненным действиям, будет отображен в отдельном окне. На рис. 4. 11 показано, что под заголовком процедуры были автоматически вставлены некоторые комментарии . Сразу за заголовком и блоком комментариев расположена конструк­ ция для выбора ячеек. Она появилась в результате выборе режима отно­ сительной адресации ячеек и последующего вьщеления ячейки 87.
Испоnьзованuе -.... Uisual Basic for Пpplications Примечание Комментариями в Visual Basic счи"Fаtе-тся строки, начинающие с апостро­ фа (') или слова REM , за которым следует пробел. Комментарий может начинаться как в начале строки, так и- после значащей инструкции. По умолчанию комментарии выделяются в тексте зелень1м цветом . Не стес­ няйтесь вставлять комментарии в процедуры - в результате ваши про­ граммы станvт более понятными. ActiveCэll. Offset(6, 1).Range("A 1"). Select Объект ActiveCell в данном случае относится к выделенной ячейке в активизированном рабочем листе (А1). Метод ·offset(6, 1) смешает фокус на 6 строк вниз и 1 столбец вправо, на ячейку 87. Метод Range("A1") возврашает верхнюю левую ячейку в диапазоне смешения. В нашем слу­ чае метод 87. Offset превращает в верхнюю левую ячейку диапазона ячейку В случае выбора нескольких ячеек, методу Range в качестве аргумен­ та будет передан диапазон ячеек. Метод Select присваивает новой ячейке статус активной ; j!; ~· f0Jm<1tlt F O:!.:t-1.!itit М~~;··>:: ПJ.'ОЦед:>'Р<> ActiveCell.Sel ect Selection. NU11ЬerFo raat = •о.оо • Selection.Border, (xlDiagonalDown} .Linestyle = xl None Sele ction.Border,(xlDiagonalUp) .Linestyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlcontinuous .lieight = xlМedium .Colorindex = · xlAutomatic End lii tl'l liith selection.Border5(xlEd9eTop) . LineStyle = x l Continuous . Wei9ht = x1Мedi11111 .Colorindex = xlAutomatic End With With Selection.Borderз(x lEdgeBottom) .LineStyle = xlContinuous .weight = xlJotediurt .Colorindex = xlAut0111atic End Wi th with Select ion.вorders ( xlEdgeRight) .Linestyle = xlContinuous . lieight = xlMediwu .Colorrndex с xlAutomatic End lfith End sub '7;;! Рис. 4.11. Код макроса Formatlt
li:fl Гnава 4 Далее следует ин струкция Selection.NumberFormat, задающая формат вывода чисел в выбранном диапазоне. Две следующие строки определяют диапазон действия инструкций изменения типа обрамления. После опре­ деления типа обрамления с помощью соответствующей кнопки может одновременно изменяться несколько свойств ячейки: тип , толщина и цвет различных линий обрамления . . . _ Примечан~е Все переменные на рис. 4.11 , которь1е начинаются с xl (xIOiagonalDowп. · xlDiagonalUp, xlEdgeleft, xlContinuous и т.д.) являются глобальными кон­ стантами, которые доступны из приложений Visual Basic. Все определен­ нь1е константы описаны в системе справки , а, кроме того, фигурируют в средстве просмотра объектов в разделах библиотек Excel и Visual Basic. Надеюсь, что опытных программистов не следует убеждать в целесооб­ разности использования констант, а начинающие примут этот тезис без -.. лишней иронии. Вы еще не забыли, что наша процедура предназначается для форма­ тирования любых выделенных ячеек (а не только попадающих в диапа­ зон 6 строк вниз и 1 столбеu вниз от текушей ячейки)? Необходимо уда­ лить инструкции выбора ячеек. И мейте в виду, что в том случае, если бы мы записали процедуру, выделив единственную ячейку, никаких допол­ нительных маниnуляuий с кодом макроса выполнять не пришлось бы. Кроме того , нам осталось еще' назначить макрос какому-то объекту. 1. 2. 3. Удалите или закомментируйте первую зн ачашую строку процедуры . Перейдите на необходимый рабочий лист. Если панель инструментов Формы до сих лор не открыта, выполните команду Вид> Панели инструментов> Формы. 4. ~.; Выберите инструмент Кнопка и нарисуйте на рабочем листе соответствующий элемент управления . 5. Щелкните на кн опке правой кнопкой и выполните из контекстного меню команду Назначить макрос. 6. В появившемся диалоговом окне Назначить макрос объекту выберите необходимый макрос и щелкните на кнопке ОК. 7. Выделите курсором мыши текст на поверхности кнопки и задайте для нее описательное с вашей точки зрения название. Имейте в виду, что впоследствии надпись (и сам макрос) можно будет изменить . Вот и все. Введите несколько чисел в ячейки, вьшелите нх и щелкни­ те на только что созданной кнопке. Выделите несколько других ячеек и запустите процедуру непосредственно из списка макросов (команда Сервис>- Макрос> Макросы или комбинация клавиш <Alt+F8>). Вьщели­ те еще один набор ячеек и наж\iите соответствующую макросу комбина­ цию клавиш. Во всех трех случаях вызываемая проuеду ра должна кор­ ректно сработать.
Испопьзованuе Uisual Basic for Rpplications Созданная пр оuедура будет доступна на всех рабочих листах книги , а не только на том, на котором она была записана. Программирование на языке Visual Basic for Applications n Проuедуры вовсе не обязательно должны быть такими простыми, как только что приведенном примере. На языке Visual Basic можно напи­ сать функuионально полную программу, включающую уникальные дИа­ логовые окна и меню, вы полняющую сложные выч исления и операции с файлами , рабочими листами , ячейками и т.д. Более того, существует возможность внедрить в программу Visual Basic процедуру из другого языка высокого уровня , преобразовав ее предварительно в библиотеку динамической компоновки Maciпtosh) и объявив ее в грамма Excel (DLL, Excel с или ресурс CODE для платформ п омощью выражения Declare. Про­ не делает различий между внутренними процедурами и корректно зарегистрированными внешними. В приложении Д читатель найдет все сведения , необходимые для создания и обращения к вн ешн им фу.нкuиям. Обращение к ячейкам В том случае, когда Visual Basic используется для управления Excel . наиболее распространенной операuией будет обращение к ячейкам или диапазонам ячеек. Любой диап азон ячеек рабочей книги, будь то едИнст­ венная ячейка или несколько сотен, является объектом типа Range. Для обращения к диапаз ону ячеек используется метод Range, которому в ка­ честве аргумента передается перечень необходимых ячеек. конструкция 87:F9. Range("B7:F9") Например, выделяет прямоугольный дИапазон Если же п оследовательно обр'1rиться к двум методам ячеек Range, то аргумент второго метода будет относиться не ко всему рабочему листу, а лишь к выбранному первым методом дИапазону (другими словами , коор­ дИнаты ячеек аргумента второго метода являются оnюсительными для начала выбранного первым методом диапазона). Например, конструкция ActiveSheet.Range("B7:F9").Range("B2") = 1 присвоит единицу ячейке С8 , несмотря на то, что фигурирует явная ссылка на ячейку 82. Первый метод выделяет дИапазон 87:F9, второй ме­ тод выбирает в этом дИапазоне ячей ку, которая расположена н а одну строку ниже и один столбец правее верхней левой ячейки предваритель­ но выделенного диапазона. Не менее пол езным оказывается при выделении диапазонов метод которому в качестве аргумента передаются два целочисленных значения , соответствующих строке и столбuу. Метод возвращает ссътку на ячейку, которая находИтся н а пересечении заданных строки и столб­ ца. Чаще всего метод Cells используется в uиклах или других структурах с Cells(),
llФI rnaвa 4 последовательным обрашением к ячейкам по индексам их строк и столб­ цов. Напри мер, конструкция ActiveSheet.Range("B7:F9").Cells(2,2) =1 эквивалентн а при веденной выше и тоже обращается к ячейке СВ. Эк­ вивалентными явл яются также конструкции ActiveSheet.Range(Cells(7,2), Cells(9,6)) = 1 и ActiveSheet.Range("B7:F9") =1 Переменные В Visual Basic Visual Basic for Applications нет необходимости заранее объявлять - они автоматически создаются при первом обращении к переменные ним. Тем не менее, предварительное объявление переменных считается правилом хорошего тона и , кроме того, позволяет сразу же определять орфографические ошибки в именах переменных. Существует инструкция Option Explicit, которая налагает на уровне модуля требование на явное описание всех переменных этоrо модуля. Инструкция Option Explicit при ее использовании должна находиться в модуле до любой процедУРы . При попытке использовать неопи санное имя переменной возникает ошибка во время компиляции . Когда инструкция Option Explicit не используется, Variant (если используемый по помощью инструкции Def Тип). все неописанные переме нные имеют тип умолчанию тип данных не задается с Всегда пользуйтесь описанной инструкцией для того, чтобы избежать не­ верного ввода имени объявленной переменной или возникновения кон­ фликтов в программе , когда область определения переменной не совсем ясна . Переменные объявляются с помощью инструкций ReDim или Static. Ин струкция Dim Dim, Private, PuЫic, описывает переменные и выделяет для них память. Переменные, описанные с помощью ключевого слова Dim на уровне модуля, доступны для всех проuедур в данном модуле. Перемен­ ные , описанные на уровне процедуры, доступны только в данной проце­ дуре. Синтаксис инструкции: Dim [WithEventsJ имя_Переменной[([индексы])J имя_Переменной[([индексы])] [As [New] тиnJ] ... [As (New] тиn] [, [WithEventsJ Все элементы синтаксиса, заключенные в квадратные скобки, явля­ ются необязательными. В таблице приведено описание всех элементов. WithEvents Ключевое слово, указывающее на тот факт, что имя_Переменной является объектной переменной, которая используется nри отклике на события, генерируемые объектом ActiveX. имеет Применяется только в модулях класса. Пользователь возможность оnисэть с помощью ключевого слова произвольное кол ичество отдельных nеременнь1х, однако nри этом не допускается создание массивов. Не допус­ WithEvents кается таюке использование ключевого слова словом WithEvents New с ключеаым
Испоnьзованuе Uisual Basic for Пpplications имя_ Имя переменной, удовлетворяющее стандартным правилам Переменной именования Индексы Размерности переменной массива; допускается описание до 60 размерностей. Для задания индексов используется сле­ дующий синтаксис: [нижний То] верхний [, [нижний То) верхний] ... Если нижний иНдекс не указан явно, нижняя грани­ ца массива определяется инструкцией Option Base. Если ин­ струкция Option Base отсутствует, нижняя граница массива равна нулю New Ключевое слово, указь1вающее на возможность неявного соз­ дания объекта. Если ключевое слово new фигурирует при опи­ сании объектной переменной , новый экземпляр объекта соз­ дается при первой ссылке на объект, поэтому необходимость присвоения ссылки на объект с помощью инструкции Set от­ сутствует. Ключевое слово new нельзя использовать для опи­ сания переменных любых внутренних типов данных, для опи­ сания экземпляров зависимых объектов, а таЮt<е вместе с ключевым словом WithEvents Тип данных переменной. Поддерживаются типы Byte, Boolean, lnteger, Long, Currency, Single, DouЫe, Decimal (с некоторыми оговорками), Date, Stгing (для строк переменной длины) , Stгing *длина (для строк фиксированной длины) , Object, Variant, оп­ тип ределяемый пользователем тип или объектный тип . Для каж­ дой описываемой переменной следует использовать отдель­ ное предложение As тип ./Совет Не забывайте следовать стандартным правилам именования перемен­ ных. Рекомендуется присваивать переменным описательные имена , от­ ражающие одновременно их тип . Например, целочисленному счетчику было бы целесообразно присвоить имя intCounter, а строке - strFileName. В приведенной ниже таблице вкратце описаны поддерживаемые Basic VisuaJ типы данных, а также перечислены рекомендуемые дпя именования переменных префиксы. Тип Префикс lnteger int Описание Целочисленное значение (2 байта) в диапазоне от - 32 768 до 32 767 Long lng Целочисленное длинное значение (4 байта) в диапазоне от -2 147 483 648 до 2 147 483 647
1рп1 Гnава Тип Префикс Single sпg 4 Описание Число с плавающей точкой обычной точности (4 байта) в диапазоне от -3.402823Е38 до -1.401298Е-45 для отрицательных значений и от 1.40 1298 Е-45 до 3.О2823Е38 для положительных значений DouЫe dЫ Число с плавающей точкой двойной точности (8 байт) в диапазоне от -1. 79769313486232Е308 , до -4. 94065645841247Е-324 для отрицательнь1х значений и от 4.94065645841247Е-324 до 1. 79769313486232Е308 для положительных значений Curreпcy cur Используется для представления денежных сумм (8 байт) в диапазоне от -922 337 203 685 477.5808 922 337 203 685 477.5807 Date date Используется для представления даты и времени (8 байт) в диапазоне от 1 января 1оо 31 де кабря 9999 r Striпg str до г. до Используется для представления текстовой строки произвольной или заданной длины. Размер перемен- ной определяется длиной строки Variant var Используется для представления данных числовых· (16 байт) или строковых (22 байта+ длина строки) подтипов Вооlеап f Используется для представления логических значе- ний True или False. Занимает 2 байта Тип данных, в зависи- Размер и диапазон каждого элемента определяется определяе- мости от его типом данных мый пользо- объекта вателем с помощью ключевого слова Туре Decimal dec Масштабируемое целое значение (14 байт) в диапазоне +/-79 228 162 514 264 337 593 543 950 335 без дробной части или +/-7,9228162514264337593543950335 с 28 знаками справа от запятой В предыдущих версиях Visual Basic существовал также тип данных Excel 97 VВА собственно тип дан ных Array отсутствует - вместо нее появилась функция с таким же названием. ФунКllИЯ возвращает значение типа Variant, содержащее массив последовательно индексированных элементов. Array, который позволял организовать масси вы переменных. В
, Испоnьзованuе Uisual Basic f or Rpplications ~ Примечание Тип данных Variant является особым тиnом, к которому относятся все пе­ ременные, не описанные явно с другим типом данных (с помощью инст­ рукций Dim, Private, PuЫic или Static). Переменные этого типа могут со­ держать любые данные, за исключением строк фиксированной длины и определяемых nользователем типов . Переменная типа Vaгiaпt может таюке содержать специальные значения Null. Для указа н ия характера подтипов типа Variaпt предназначены функции Var- Type и TypeName. Empty, Error, Nothiпg и Следует таюке учитывать тот факт, что реальный тип переменных Variaпt проверяется во время выполнения , а не во время трансляции, что может послужить причиной ошибки. Синтаксис инструкций Private и PuЫic не отличается и совпадает с рассмотренным выше синтаксисом инструкции Dim. Private [WithEveпts] имя_Переменной[([индексы])] [As [New] тип] [, [WithEveпts] имя_Переменной[([индексы])] [As [New] тиnn". PuЫic [WithEvents] имя_Переменной[([индексы])] [As [New] тип] [,[WithEveпts] имя_Переменной[([индексы])] [As [New] тип]]". Обе инструкции применяются на уровне модуля. ' Переменные типа Private доступны только в модуле, в котором они описаны. Переменные, описанные с помо щью инструкции PuЫic, доступны для всех процедур во всех модулях всех приложений (если не действует инструкция Option Private Module). В последнем случае переменные являются общими толь­ ко внутри того проекта , которому они принадлежат. Запреща ется ис­ пользовать инструкцию PuЫic в модуле класса для описания строковых переменных заданной длины. -._Внимание Использовать глобальные переменные, которые доступны ао всех моду­ ля х. очень удобно , однако не следует сбрасыват1:> со счетов возможность их некорректной модификации . При обращении из процедуры к необъяв­ ленной глобальной переменной . ее значение изменится . Инструкция ReDim применяется на уровн е процедуры для задания или. ИJМенения размера динамического массива, который уже был фор­ мально описан с помощью инструкuии Private, PuЫic или Dim без указа­ ния размерности . Ее синтаксис ReDim [Preserve] имя_Переменной(индексы) [As тип] [, имя_Переменной(индексы) [As тип]]". В данном случае Preserve является необязательным ключевым словом, которое используется с uелью сохранения дан ных существующего масси­ ва во время изменения ero размерности .
lфj Гnава Инструкция Ее синтаксис: Const [PuЫic 1 Private] 4 объямяет не переменную, а постоянное знач:ение. Const имя_Константы [As тип] =выражение Все обнаруженные в коде программы ссылки на объявленные кон­ станты заменяются соответствующими литералами. Поскольку литераль­ ные знач:ения констант вставляются в код на этапе компиляции, их не­ возможно изменить во время выполнения программы. Константы позво­ ляют сделать программы более доступными дпя исправлений и понимания. Для описания переменных, сохраняющих свое значение во время выполнения программы, предназнач:ена инструкuия Static. Ее синтаксис: Static имя_Переменной[([индексы])] [As [New] тип] [, имя_Переменной[([индексы])] [As [New] тип]] ... После запуска программы переменные модуля, описанные с помощью инструкции Static, сохраняют свои знач:ения до сброса или перезапуска модуля. Инструкция явного описания Static применяется в нестатич:еских процедурах для переменных, видимых только в этих процедурах, но имеющих время жизни, равное времени жизни модуля проuелуры. -.... Примечание Инструкция Static и ключевое слово Static похожи, но предназначены для получения различных результатов. При описании процедуры с ключевым словом Static (например, Static Sub CountSales()), память для всех локаль­ ных переменных nроцедурь1 выделяется только один раз, а результате . чего значения этих переменных сохраняются на все время выnолнения программы. Для нестатических процедур память для переменных выде­ ляется при каждом вызове процедуры и освобождается при завершении процадуры. Инструкция Static используется в процедурах для описания тиnа данных переменной, которая сохраняет свое значение в промежутках между вызовами процедуры и обычно помещается в начало процеду­ рь1 вместе с доvгими инстоvкциями описания, как-то Dim . ./Совет Рекомендуется поместить объявления всех глобальных переменных и констант в отдельный модуль. В результате искать и радактировать их в слvчае необходимости станет намного легче. Программирование математических выражений Запрограммированные математич:еские выражения (вычисляющие значение и присваивающие его переменной) во многом похожи на соот­ ветствующие им алгебраические выражения. Слева от оператора при­ сваивания (знака равенства) располагается переменная, которой следует присвоить вычисленное знач:ение. Собственно формула для расчета рас-
Испоnьзованuе Uisual Basic for Applications полагается справа от знака равенства. Для обозначения операций сложе­ ния, вычитания, умножения и деления используются стандартные алгеб­ раические символы. Для возведения в степень используется оператор л. Математические функции имеют такие же названия и работают точно так же, как используемые в формулах рабочих листов функции. Более того, .zюпускается 'Использование функuий рабочих листов в выражениях Visual Basic. Например, формула из главы 2, µо (Т/7;, ) -Б µ = ( 1+ ( Е, Ее )Р) i;p соответствует следующему выражению Visual Basic: u = (uO"'(ТfТO)л(-delta))/((1 +( Е/Ес)лЬеtа)л(1 /Ьеtа)) Обратите внимание н а расставленные скобки, которые позволяют проводить вычисления в корректном порядке. ~ Предупреждение Старшинство операторов, определяющее порядок выполнения вычисле­ ний в ли в Visual Basic и формулах рабочих листов , несколько отличается. Ес­ Visual Basic fог Applicatioпs возведение в степень осуществляется перед отрицанием , то на рабочих листах дело обстоит иначе. Например, результат вырежения -1л2 в Visual Basic равен -1, а на рабочем листе - 1. Чтобы добиться одинаковых результатов в Visual Basic и рабочих лис­ тах следует явно задаветь порядок вычислений с nомошью кавычек: Н )л2. В Visual Basic не последнюю роль играет тип переменных, с которыми выполняются вычисления. Во время обработки выражения, которое со­ держит различные типы данных, Vistial Basic автоматически осуществляет приведение переменных к необходимому типу. Вычисленный результат приводится к типу переменной, которой он присваивается. Как правило, приведение типов переменных не оказывает влияния на общий резуль­ тат. В противном случае с помощью специальных функций перед выпол­ нением вычислений преобразуйте все переменные к одному ти пу. Обработка операций ввода/вывода Для ввода пользователем текстовой строки исп ользуется функция Для вывода сообщения предназначена функция MsgBox. Обе lnputBox. функuии отображают диалоговое окно с текстовой информацией и кноп­ ками. Кроме того, функuия lnputBox отображает также поле ввода, кото­ рое должно быть заполнено пользователем. Содержимое этого поля и возвращается функцией. Помимо использования стандартных диалоговых окон , пользователю предоставлена возможность создать свои собсгвенные.
,,,, Гnава 4 Для этоrо необходимо вставить модуль UserForm и с помощью панели ин­ струментов Формы нарИсовать необходимые элементы управления. Для обращения к хранящимся на диске файлам используются стан ­ дартные диалоговые окна Windows функuии, отображающие привычные диалоговые Открь1тие документа и Сохранение документа, которые по­ зволяют выбрать или задать имя необходимого файла. В действительно­ сти стандартные диалоговые окна не открывают файл, а просто возвра­ щают корректное имя и путь к файлу. Для обращения к лвум стандарт­ ным диалоговым окнам используются следующие конструкции: результат= Appllcation.GetSaveAsFllename (стр_Имя _Файла, стр_ Фильтр) результат= Appllcatlon.GeIOpenFllename (стр_Имя _Файла, стр_Фильтр) Полный синтаксис этих функuий включает еще несколько аргумен­ тов , однако функuий. перечисленных достаточно для успешного использования В к;iчестве результата функции возвращают имя и полный путь к файлу, который необходимо открыть. Параметр стр_Имя_ Файла содержит имя файла, которое будет вставлено в диалоговое окно Сохранение документа. Пользователь не обязан использовать предпожен­ ное по умолчанию имя файла и может его изменить . Параметр стр_Фильтр содержит маску мя отображения файлов в диалоговом окне. Если не за­ дать маску-фильтр, в лиалоrовом окне будут перечислены все файлы. После определ ения имени фай!ш и пути к нему сле.Zlует с помощью инструкции Open подготовить файл к доступу. Синтаксис Open имя_Файла For Доступ As #номер_Файла инструкuии: Параметр имя_Файла, как всегда, соответствует имени файла и пути к Append. Binary, lnput, Output или Random. По умолчанию, файл открывается для доступа в режиме Random. Параметр номер_ Файла задает порядковый номер файла в диапазоне от 1 до 511. Именно этот номер однозначно определя­ ет файл для методов lnput и Write. Синтаксис инструкции Open ropaз.Zlo нему. Аргумент · определяет режим доступа к файлу: шире , но в большинстве ситу:ший .:~остаточн о рассмотренных параметров. Запись данных в открытый файл осуществл яется с помощью процедур Write и Print. Их синтаксис: Write #номер_Файла, имя_Переменной, имя_Переменной". Print #номер_Файла, имя_Переменной, имя_Переменной ... В качестве аргументов эmм методам передается номер файла и спи­ сок переменных, которые следует записать в файл. Между методами су­ ществуют значительные отличия - Print генерирует данные, которые могут быть впоследствии выведены на экран или принтер. Значения рас­ печатываются столбцами и могут быть отформатированы, содержимое строки переменных может быть выве.Zlено без пробелов. С другой сторо­ ны, метод Write соз.Zlает файлы, которые впоследствии проще считывать Visual Bask. Все записываемые переменные отделяются оп­ из программ ределенными символами, <tто облегчает их визуальное восприятие и счи­ тывание. Каждая выведенная строка заклJQчается в кавычки, между ком­ понентами строк.и обычно ставятся запятые.
Исnоnьзованuе Uisual Basic for Rpplications Для считывания данных из файла используются ключевые слова lnput Line lnput. Их синтаксис. lnput #номер_Файла, имя_Переменной, имя_Переменной." Line lnput #номер_Файла, строковая_Переменная lnput считывает данные из файла до тех пор, пока не будут заполнены все переменные. Line lnput считывает из файла данные в строковую пере­ и менную до тех пор, пока не встретит символ возврата каретки или сим­ вол перевода строки. Инструкция lnput является дополнением к Write и позволяет считывать данные именно в том формате , в котором те были записаны. Считывание строк, з<~писанных в файл с помощью Print, по­ требует дополнительной их обработки. Например, состоящая из разде­ ленных запятыми выражений строка может быть выведена в файл с по­ мощью инструкций Write или Print. Разниuа заключается в том, что выве­ Write строка будет помещена в кавычки. В этом слу­ чае инструкция lnput будет корректно обрабатывать запятые при считы­ вании строки. Поскольку инструкция Print не заключает строку в кавыч­ ки, lnput будет рассматривать запятую в ка'1естве разделителя и прекратит денная инструкцией считывать строку при обнаружении первой же запятой. Инструкuия Line lnput позволяет считывать данные из файла построч­ но. При этом все разделители, кроме символа возврата каретки и симво­ ла пер евода строки, игнорируются. В считываемую строку включаются . все символы, включая запятые, кавычки и т.д ..... Примечание На машинах, работающих nод управлением MS-DOS или Windows, иден­ тификатором новой строки являются последовательно расположенные символ возврата каретки и перевода строки. На платформах символ возврата каретки , на машинах UNIX - Macil)tosh это символ перевода строки. ЗавершИв все манипуляuии с файлом , заt..--ройте ero с помошью инст­ рукции Close. Ее синтаксис : Close #номер_Файла 4' Предупреждение Если в программе открывается файл, а сама программа ненормальным образом прерывает выполнение до закрытия файла с помощью инструк­ ции Close, файл останется открытым до завершения сеанса работы с Ex- cel. При следующем запуске программы во время повторного открытия файла возникнет фатальная ошибка. Чтобы закрыть файл, выполните в окне отладки инструкцию Close. При желании можно создать несложную процедуру, поместив в нее инструкцию Close без аргументов. Такая про­ цедура будет закрывать все открытые файлы .
105 гnава 4 Управление процессом выполнения программы Очередность выполнения операторов в программе управляется цик­ ла."1И, переходами, условиями , а также вызовами функций и процедур. Циклы реализуются с помощью ключевых слов Each/Next. Инструкция For/Next For/Next, Do Loop н For используется для выполнения наборов инструкций заданное количество раз. Ее синтаксис: For счетчик= нач_значение То кон_значение Step шаг Инструкции Next счетчик For Все циклы используют в качестве счетчика переменную, значение которой увеличивается или уменьшается при каждом выполнении цикла. В начале цикла счетчику присваивается нач_значение. В цикле счетчик инкрем енrnруется на шаг до тех пор, пока не будет достигнуто заданное кон_значение. В следующем примере счетчик 1 изменяется с щагом 2 при каждом выполнении цикла и , соответственно, принимает значения 2, 4, 6, 8, 10, 12, 14, 16, 1~ и 20. = For 1 2 То 20 Step 2 Инструкции Nextl Если инкремент счетчика равен единице, задавать его явно необяза­ тельно (т.е . инструкцию шаг= Инструкция Do/Loop 1 можно опустить) . используется для выполнения наборов инструк­ ций до тех пор, пока не будет выполнено заданное условие. Некоторой разновидностью этой инструкции является While/Wend, которая н аобо­ рот, выполняет цикл до тех пор, пока заданное условие ложно. Синтак­ сис инструкции Do/Loop: Do [Whlle (лоrическое ycnoeиe)IUntll (логическое условие)] Инструкции Loop [Whlle (логическое ycnoвиe}IUntll (логическое условие}] Только одна из четырех инструкций While и Until может быть исполь­ зована для организации цикла. Расположение инструкции While или Until определяет время проверки логического условия. Если инструкция ста­ вится в верхней части цикла, сформулированное условие проверяется пе­ ред первой итерацией. Если же инструкция расположена в нижней части цикла, перед проверкой лоrич~кого условия весь код цикла будет вы­ полнен как минимум один раз. Если использована инструкция While, цикл будет выполняться до тех пор, пока условие истинно. Действие ин­ струкции Until ловие ложно. противоположно - цикл выполняется до тех пор, пока ус­
Испоnhзованuе Uisual Basic for Rpplications Например, следующий цикл продолжает вычисления до тех пор, пока значение переменной А равно 10. Логично будет предположить, что внуrри цикла находятся какие-то инструкции, в конечном счете, при­ сваивающие переменной необходимое значение, поскольку в противном случае цикл продолжается _вечно. Do Untll (А= 10) Инструкции Loop Для организации циклов по массивам объектов или переменных ис­ пользуется инструкция For Each/Next. Имена всех множественных объек­ тов дояжны быть коллекциями, например, Worksheets или TextBoxes. Коллекция Worksheets содержит все объекть1 Worksheet рабочей книги . Как правило, для обращения к отдельному рабочему лисrу достаточно указать его имя в коллекции Worksheets. Для выполнения одинаковых манипуляций со всеми членами коллекции (или над каждым элементом массива) организуйте Цикл For Each/Next: For Each объект ln коллекция Инструкции Nехtобъект Естественно, что тип переменной объект должен соответствовать типу коллекции объектов. массив переменных В - качестве коллекции допускается использовать следовательно, переменная объект в этом случае должна быть элементом массива. Поскольку значение переменной объект изменяется при каждой итерации цикла, вычисления выполняются над каждым объектом коллекции или элементом массива. Нельзя обойти вниманием инструкцию lf, которая анализирует логи­ ческое условие и принимает решение о выполнении (либо невыполне­ нии) фрагмента кода в зависимости от полученного значения . Синтаксис конструкции lf: Jf(ycлoвиe_1)Then Фрагмент кода 1 Elself (усnовие_2) Фрагмент кода 2 Else Фрагмент кода З End Jf
Глава 10:1 4 В начале выполнения блока lf проверяется первое логическое условие. Если условие истинно. выполняется Фрагмент кода 1. В противном слу­ чае проверяется второе логическое условие. Если условие это истинно, выполняется Фрагмент кода 2. Для проверки различных условий в один блок lf можно включать несколько инструкций Elself, однако, выполнен будет код только того условия, которое первым примет значение True. Все остальные фрагменты будут проигнорированы даже в том случае, ес­ ли их условия истинны. Если ни одно из сформулированных условий так и не приняло значения щий инструкции Else. True, выполняется фрагмент кода, соответствую­ Инструкции Elself и Else не являются обязатель­ ными. Инструкция Select Case позволяет поставить в соответствие каждому возможноцу значению переменной определенный фрагмент кода. Син­ таксис этой инструкции: Select Case выражение [Case список_Выражений-п [инструкции-n]] ... [Case Else [инструкции_еlsе]] End Select Значение переменной выражение сравнивается со списком значений список сnисок_Выражений. В случае обнаружения соответствия выполня­ ется соответствующий фрагмент кода. Если же соответствия не найдено, выполняется фрагмент кода, следующий за инструкцией Case Else. Если выражение соответствует сразу нескольким значениям из списка, выпол­ няется только первый подходящий фрагмент кода. Остальные будуr _ про~ игнорированы. Вызов других процеду.р В качестве процедур могут выступать как независимые программы , так и логические фрагменты большой структурированной программы . Если одни и те же инструкщш повторяются в различных частях про­ граммы, можно просто скопировать соответствующий код несколько раз или же преобразовать код в процедуру, которая и заменит его. Структу­ рирование кода, соответствующего повторяющимся задачам, уменьшает размер программы и упрощает ее отладку. Кроме того, разбиение боль­ шой программы на меньшие части позволяет лучше осмыслить задачи, которые необходимо реализовать. Для обращения из одной процедуры к другой процедуре типа Sub просто наберите ее имя. Если процедуре необходимо передать аргументы, перечислите их через запятую . Ни в коем случае при вызове процедуры не берите перечень аргументов в скобки (даже если в заголовке процеду­ ры аргументы указаны в скобках).
Исnоnьзованuе Uisual Baslc for Rppllcations Для вызова процедуры можно использовать инструкцию Call, указав для этого после инструкции имя процедуры и необходимые аргументы. В этом случае все__ перечень ергументо~ долж_ен быть указан в скобках Вызов пользовательских функций ничем не отличается от вызова встроенных функций. В правой части формулы наберите имя процедуры , левую скобку, список аргументов и правую скобку. Результат функции (процедуры) возвращается через ее имя и может (в свою очередь) ВЫС'I)'­ патъ в качестве аргум ента другой проuедуры . Создание фор~ Пользователю предоставлена возможность создания собственных диа­ логовых окон или, как их еще называют, форм. Для создания диалого­ вого окна достаточно открыть панель инструментов с названием Формы , проиллюстрированную на рис. 4.12. Имейте в виду, что воспользоваться созданной формой можно будет только после сохранения ее в формате шаблон и создания на ее основе нового документа. Рис. 4.12. Панель инструментов Формы Рисование формы Для создания нового объекта необходимо щелкнуть на одной из кно­ пок панели инструментов и нарисовать элемент управлен.ия на форме. Внешний вид и поведение объекта зависят от его свойств. Все свойства объекта доступны как в контекстном меню , так и непосредственно из программ Visual Basic, что позволяет оперативно ИЗf"енять их с помощью соответствуюших инструкций. В приведенной ниже таблиuе описаны все кнопки панели инструмен­ тов Формы. Надпись Позволяет отобразить в форме текст, не подлежащий редактированию , например , сообщение для пользователя Текстовое Этот компонент диалоговых окон содержит вводимый и поле редакти~уемый пользователем текст Рамка Позволяет сгруппировать элементы управления. Перед группированием следует сначала создать рамку, а затем внутри нее расположить необходимые объекты
f4Фi Гnава Кнопка 4 Создает кнопку, после щелчка на которой будет выпол­ няться ооределенная команда Флажок Вставляет элемент управления , позволяющий включить или отключить определенный параметр Переклю­ Вставляет элемент управления , позволяющий задать од­ чатель но из предопредеnенных значений параметра Список Вставляет список выбираемых пользователем элементов. Допускается прокручивание списка, если не все его эле­ менты видны одновременно ~ ~ Поле со Вставляет объект, являющийся сочетанием списка и по­ списком ля. Пользователь может либо выбрать нужное значение из списка, либо ввести его .в поле Поле со Вставляет некоторую комбинацию списка и поля со спи­ списком ском. Пользователь может либо выбрать значение из {еще одно) списка, либо ввести его самостоятельно в поле Поле с рас­ Вставляет некоторую комбинацию списка и поля со спи­ крываю­ щимся спи­ ском. Пользователь может либо выбрать значение из списка (предварительно открыв его), либо ввести его са­ ском мостоятельно в поле Полоса Вставляет стандартную полосу прокрутки. Этому элемен­ прокрутки ту управления соответствует определенное числовое значение , изменяющееся в зависимости от положения бе­ гунка полосы прокрутки Счетчик Вставляет прокручивающий элемент управления, который используется совместно с другими элементами для уве­ личения или уменьшения числовых значений . Допускает­ ся его использование для выбора объекта из диапазона • . ' значений или из списка элементов Свойства После щелчка на этой кнопке открывается диалоговое ок­ элемента но Формат элемента управnения для выбранного в на­ управления стоящий момент объекта Текст про­ Эта кнопка открывает диалоговое окно с текстом макроса, граммы назначенного объекту. Название макроса фигурирует в OnAction свойстве • Сетка Кнопка отображает и скрывает сетку на форме Отобразить Запускает процедуру окно Используется во время отладки форм Visual Basic, назначенную объекту. ._ Примечание Свойство sic, OnAction содержит текстовую ссылку на имя макроса Visual Ba- который будет запущен после щелчка на элементе управления .
Испоnьзованuе Uisual Basic for Appllcati~ns Особое внимание следует обратить на панель Элементы управления , проиллюстрированную на рис. 4.13. Расположенные · на панел и инстру­ ментов кнопки соответствуют элементам ActiveX. Элементы ActiveX ана­ логичны элементам управления Visual Basic, их точно так же можно до­ бавить к форме, созданной с помощью редактора бавлении элемента ActiveX Visual Basic. При до­ на лист создается макрос, который сохраняет­ ся непосредственно вместе с элементом управления , а не только запуска­ ется при его выборе. Рис. 4.13. Панель инструментов Элементы управления Настройка элементов ActiveX осуществляется ActiveX обладают торых их свойств. Элементы путем изменения неко­ множеством различных макрокоманд или событий, которые могут проявляться, например, в из­ менении формы· указателя МЫШИ В ТОТ момент, когда ОН Н3ХОДИТСЯ Над элементом управления . Элементы ActiveX используются для создания форм и окон диалога для пользовательских программ Visual Basic. Панель инструментов Элементы управления содержит некоторые элементы управления , которые отсутствуют на панели инструментов Формы, на­ пример, выключатель и рамки объекта. Кроме того, доступны специаль­ ные элементы управления , созданные другими приложениями . Отображение диалогового окна Необходимо располаrать какими-то средствами для отображения соз­ данного диалогового окна из выполняемой этого предназначен метод Show объекта типа программы. Именно для или UserForm. Син­ Dialog таксис: [объект.]Shоw Необязательный прототип объект представляет собой объектное вы­ ражение . Если этот элемент синтаксиса опущен, объектом является форма Userform, связанная с предполагается, активным что модулем Userform. Сокрытие диалогового окна После завершения манипуляций с диалоговым окном от него следует каким-то образом избавиться, поскольку в противном случае программа не сможет продолжить работу. Тут на помощь придет метод Hide, кото­ рый , как правило, назначается кнопке ОК диалогового окна. Его синтак­ сис: [объект.]Нidе
t4~tJ глава 4 Прототип объект представляет собой объектное выражение. Если этот элемент синтаксиса опущен , предполагается, что объектом является об­ ладающая фокусом форма UserForm. Назначение процедур элементам управления диалоrоаоrо окна Чтобы заставить диалоговое окно выполнять какие-то действия, его элементам управления следует назначить процедуры. Каждый элемент управления обладает свойством OnAction, которое содержит имя проце­ дуры , выполняемой при обращении к элементу . Действие-условие вы­ полнения процедуры заnисит от типа элемента управления. Для кнопки таким действием считается щел•юк, для поля - изменение содержимого. Если необходимо задать значение свойства OnAction, выделите эле­ мент управления (при этом желательно удерживать клавишу <Ctrl>), щел кните правой кнопкой, выполните и з контекстного меню команду Назначить макрос и выберите из предllоженн оrо списка необходимую процедуру. Аналогичная процедура позволяет изменить свойство Visual Basic. Например, код назначает объекту myControl проuедуру MySub: myControl.OпAction ="MySub" tion. Свойство доступно из программ .... OnAc- следующий Пр_~мечание Имя процедуры, назначаемой элементу управления , обычно составляют из названия объекта и названия действия, после которого выполняется процедура . Например, Buttoп1_Click является именем процедуры, кото­ рая запускается после щелчка на ~ноnке Button1 . Создание функций В заголовке процедуры в обязательном порядке фигурирует инструк­ ция Sub или Function. Если процедура типа Sub просто выполняет пред­ Function еще и возвращает ре­ процедура Function в состоянии вы­ писанные ей действия, то процедура типа зультат. Однако это не значит, что полнять только те действия, которые необходимы для вычисления ре­ зультата. Простейшие (и наибо:Iее распространенные) проuедуры­ функuии возвращают единственное значение . Тем не менее, в случае не­ обходимости можно создать проuедуры, которые значений и обрабатываются при этом приложением возвращают массив Excel как стандарт­ ные интегрированные функции. Создание функции-макроса Пользовательские проuедуры-функции имеет смысл создавать только в том случае, когда поставл енную задачу н евозможно решить с помощью
Испол1.зованuе Uisual Basic for Rpplications стандартных функций Excel или их комбинации. В главе 2 для расчета внутренней плотности носителей заряда необходимо было узнать энер­ гию перехода для кремния. В приложении Excel функция для вычисле­ ния энергии перехода отсутствует, но ее полезность для занимающихся физикой твердого тела научных сотрудников очевидна. Во второй главе исходными данными для вычисления являлся один столбец, результаты же записывались в другой столбеu. . В соответствии с формулами из последней главы энергия перехода кремния является несложной функцией от температуры. Создадим функ­ цию-макрос, которая для переданной в качестве аргумента температуры возвращает вычисленное значение температуры. Чтобы результат воз­ вращался в электрон-вольтах, а не в Джоулях, в формуле следует опус­ тить компонент 1. q. Перейдите в редактор Visual Basic . и с помощью команды Вставка >- Модуль вставьте новый модуль 2. В окне модуля наберите следующий код: 'Функция для вычисления энергии перехода ' Function EnergyGap(T As DouЬle) As DouЫe Const EgO 1. 17 Const Eg1 0.000473 Const Eg2 = 636 EnergyGap = EgO - (Eg1 * Т л 2) / (Т + Eg2) End Functioп = = Вот и все. Теперь функция с названием EnergyGap бУ,дет доступна не­ посредственно на рабочих листах. Собственно процедура начинается с трех строк описательных комментариев. За ними следует заголовок про­ цедуры, свидетельствующий о принадлежности ее к типу функций. Заго­ ловок также определяет имя функции, имя и тип ее единственного аргу­ мента и тип данных. Затем следуют три инструкции Const, которь1е оп­ ределпют три фигурирующие в формуле константы, и собственно мате­ матическое вь1ражение для вычисления результата формулы. В левой час­ ти выражения должно быть указано имя функции, с помощью которого результат вычислений будет передан в рабочий лист. Наконец, в послед­ ней строке расположена завершающая инструкция. Чтобы воспользоваться функцией на рабочем листе, достаточно на­ брать ее имя и перечислить необходимь1е арrументь1 в скобках. Напри­ мер, если ячейка АЗ содержит значение температуры, то следУЮщая фор­ мула, набранная в некоторой иной ячейке, вернет значение энергии пе­ рехода в электрон-вольтах: =EnergyGap(AЗ) Если функция принадлежит другой рабочей книге, перед ее именем следует указать все ссылки на соответствующие контейнеры. Например: =ch4.xls!EnergyGap(AЗ)
tnaвa 4 ~ Проще всего вставить функцию в формулу с помощью мастера ~ Вставка функции . Поместите курсор в ячейку с формулой и щелкн ите на кнопке Вставка функции , которая расположена на стандарт­ ной панели инструментов. В открывш емся дИалоговом окне (рис . 4.14) выберите в категории пользовательских функций название необходимой процедуры . Рис. 4.14. Первое диалоговое окно мастера Вставка функции После щелчка на кнопке ОК ссылка на функцию будет вставлена в формулу , а вам будет пре.rоrожено определить конкретные аргументы функции (см. рис. Рис. 4.15. 4.15). Первое диалоговое окно мастера Вставка функции Соэдание функций, возвращающих массивы значений Уже шла речь о том, что функции могут возвращать и массивы значе­ ний . Несл ожная функция, код которой представлен ниже , в зависимости от значения передан ного аргумента вычисляет массив nеременных.
Испоnьзованuе ' ' . Функция Uisual Basic for Appllcations Array Пример функции, возвращающей массив Function ArrayTest(n As lnteger) As Variant Dim А(2, 3) As lnteger А(О, О)= n А(1 , О)= n + 1 А(О, 1) n + 2 А(1, 1) n + 3 А(О, 2) = n + 4 А(1, 2) = n + 5 ArrayTest =А End Function = = Как и раньше, функция начинается с описательных комментариев и заголовка. Обратите внимание, что возвращаемый функцией тип данных определен как Variant - только в этом случае функция сможет возвра­ тить массив . Затем идет определение массива и вычисление его значе­ ний. Вычисленный массив присваивается имени функции. В конце функции расположен завершающий идентификатор . Чтобы воспользоваться функцией на рабочем листе, выделите область размером три ячейки на две ячейки , наберите в строке формулы имя функции с необходимыми аргументами и нажмите комбинаrщю клавиш <Ctrl+Shift+Enter> (<Cmd+Shift+Enter> на IUiатформ ах Macintosh). Функция заполнит выделенные ячейки вычисленными значениями. Наприм ер, ес­ ли выбрать ячейки D2:F3 и выполнить функцию =ArrayTest(5) будет получен следующий результат: ~ Создание программ на VisuaJ Basic Visual Basic позволяет создавать не . только простые вычислительные процедуры , но и функцирнально полные проrраммы , с помощью кото­ рых можно обрабатывать ввод с клавиатуры и критические ситуации, вы­ водить сообщения о ошибках, выполнять сложные вычисления и т.д. В качестве наглядного примера давайте рассмотрим программу, которая преобразует рабочие листы в другой формат.
f4ФJ Гnава 4 Программа для преобразования рабочих листов в FORTRAN Excel Процесс преобразования большого рабочего листа в формат другого приложения достаточно уrомителен и плителен. Кроме тоrо , вероятность возникновения ошибки во время преобразования достаточно высока. Предположим, что возникла необходимость преобразовать рабочий лист с тысячами FORTRAN. заполненных ячеек в скомпил ированную программу Вместо тоrо чтобы выполнять эту неблагодарную работу вручную, напишите программу ходимые действия за вас. Visual Basic, которая выполнит nce необ­ Приведенные в этом разделе процедуры не полностью конвертируют рабочий лист в FORTRAN, но результат _преоб­ разования можно считать более чем удовлетворительным. Программа создает и открывает текстовый файл, после ч~rо отобра­ жает диалоговое окно, предл агающее пользователю выбрать ячейки для преобразования. После выбора ячеек макрос построчно сканирует выде­ ленную область, пытаясь определить ячейки с числовыми значениями , формулами или текстом. · Если ячейка содержит текст, макрос преобразует его в комментарий FORTRAN . Если ячейка содержит значение 1ши формулу, макрос сгене­ рирует соответствующие инструкции FORTRAN, формируя для этоrо текстовую строку, состоящую из шести пробелов , ссылки на ячейку и собственно формулы или значен ия. Затем следующее выражение анали ­ зируется на предмет поиска стрелки вверх (оператора возведения в сте­ пень) , которую следует преобразовать в соответствуюшую инструкцию FORTRAN . Сформированная таким образом текстовая строка .записыва ­ ется в файл . Следует сразу же обратить ваше внимание на тот факт, что программа не проверяет корректность определения значений перед их использова­ нием. Однако. поскольку большая часТh рабочих листов составляется сверху вниз и слева направо, обычно проблем не возникает. После за­ вершения преобразования следует в обязательном порядке проверить по­ лученные результаты и убедиться в том , что все массивы и переменные объявлены .корректно. Создание диалогового окна и элементов управления Диалоговое окно, которое необходимо нарисовать, показано на рис. 1. 4.16. Щелкните правой кнопкой на ярлычке одного из рабочих листов и выберите из контекстного меню команду Добавить. 2. В появившемся диалоговом окне Вставка перейдите на Общие и дважды щелкните на пиктограмме Окно диалога (рис . 3. вкладку Excel 5.0 4.17). В резул ьтате в рабочую книгу будет встаВлен новый лист Диалог1 . Пе­ реименуйте его в Конв_диалог. На листе уже расп оложен а заготовка для диалогового окна, которое предстоит создать .
Испоnьзованuе Uisual Basic for Applications Рис. 4.16. Диалоговое окно программы Excel в формат FORTRAN Рис. 4. 4.17. преобразования рабочих листов Вставка диалогового модуля Выделите надпись Заголовок окна диалога в заготовке и наберите текст Выберите диапазон ячеек . 5. Используя рис. 4.16 в качестве образца, нарисуйте с помощью инст­ румента Надпись в верхней части диалогового окна область мя текстовой строки . Выделите содержимое области и наберите Задайте диапазон ячеек для преобразования . 6. ~Активизируйте инструмент Текстовое поле и нарисуйте область ~редактирования.
f4ФI 7. Гnава 4 Не снимая выделения с области редактирования, наберите в поле имени текст SelectionBox и нажмите клавишу <Enter>. Если клавишу не нажать, имя элемента управления не изменится . Создаваемая программа будет в состоянии обрабатывать стандартные инструкции присвоения , а также инструкции присвоения одномерным и двумерным массивам. Поэтому следует вставить в диалоговое окно соот­ ветствующий переключатель. Активизируйте инструмент Рамка и нарисуйте в нижней части 8. диалогового окна рамку для переключателей. Выделите заголо­ вок рамки и наберите Обработать как. Активизируйте инструмент Переключатель и нарисуйте в рамке 9. три переключателя. Измените их заголовки на Выражение" массив и 2D- 1О-массив. 10. Измените названия переключателей соответственно на Выражение, Как2D, Как1D. l l. l~J Выберите кнопку ОК и измените ее название на OKBtn. Не ::!~~Н снимая выделения, щелкните на кнопке Свойства панели инструментов Формы . На вкладке Элемент управления появившегося диалогового окна формат элемента управления в разделе параметров Функция кнопки опустите флажок не определена. 12. Расположите элементы управления так, 13. Щелкните правой кнопкой на сером {с как это показано на рис. 4.16. точками сетки) фоне диалого­ вого окна. Выполните из контекстного меню команду Последователь­ ность перехода - в результате должно появиться дИалоrовое окно с таким же названием {рис. 4.18). С помощью клавиш управления кур­ SelectionBox на самую верхнюю позицию сором переместите элемент списка. Рис. 4.18. Диалоговое окно Последовательность перехода Список диалогового окна определяет последовательность передачи фо­ куса между Элементами уnравления при нажатии клавиши <ТаЬ> . Чтобы содержимое областИ редактирования автоматически выделялось при каж­ дом обрашении к диалоговому окну, элемент уnравления SelectionBox должен быть расположен на первой позиции списка. Итак, создание соб­ ственно диалогового окна полностью завершено.
Испоnьзованuе Uisual Basic for Applications Создание процедур для элементов управления Теперь осталось создать проuедуры и назначить их элементам управлен ия пиалоrовоrо окна. 1. Перейдите в редактор • Visual Basic и вставьте новый модуль (команда Вставка,.. Модуль). 2. В окне модуля (скорее всего, что это будет Модуль1) наберите сле­ дующий код, соответствующий общему заголовку и главной процедуре: Option Explicit 'Требование на явное описание всех переменных. PuЫic fCancelNotPushed As Boolean ' Проверка состояния кнопки ' Отмена. Sub Excel2For() ' Начало программы. Dim strfilter As String Dim strFileName As String Dim answer As Variant 'Фильтр для файлов с исходным кодом Fortran и имя файла по умолчанию. strFilter = "Fortran Source (".FOR),*.FOR" strFileName = "prog.for" 'Вывод диалогового окна SaveAs. answer =Application.GetSaveAsFilename(strFileName, strFilter) lf answer = False Then Exit Sub ' Пользователь щелкнул на кнопке ' Отмена, выйти из программы. 'Удал ение из имени файла пробелов и его открытие. strFileName = Trim(answer) Open strFileName For Output As #1 fCancelNotPushed = True 'Отображать диалоговое окно до тех пор, пока 'пользователь не щелкнет на кнопке Отмена. =Тгuе Sheets("Koнв_диaлor'').Show Do While fCancelNotPushed Loop 'Закрыть файл и выйти из nроrраммы . Close#1 End Sub В заголовке с помощью инструкции Option Explicit накладывается ус­ ловие явного описания всех переменных модуля. В результате использо­ вания инструкции PuЫic флаговая переменная fCancelNotPushed объявля­ ется глобальной. Процедура Excel2For является основным модулем программы. В ней стандартный метод GetSaveAsFilename используется для составления Имени текстового файла, в который будет записан код. Перед обращени­ ем к методу необходимо задать фильтр для файлов и предлагаемое по умолчанию имя файла. В данном случае филъТр состоит из двух частей, разделенных запятой. Первая часть соответствует тексту, который буD:еТ выведен в строке Тип файлов диалогового окна Save As. Вторая часть со-
141~• Гnава 4 ответствует собственно фильтру (или маске), который будет использован при отображении имен файлов. Пользователям DOS должны быть зна­ комы основные концепции составления масок. StrFilter = "Fortran Source (•.FOR},*.FOR" Если пользователь щелкает на кнопке Отмена, диалоговое оюю со­ хранения файла возвращает в программу значение False. Для lf. Если возвращенного значения предназначена конструкция проверки пользова­ тель не задал имя файла, программа завершает свою работу. В противном случае из имени файла удаляются пробелы, а затем создается соответст­ вующий текстовый файл. Открытому файлу назначается идентификатор Pushed присваивается значение тором с помощью метода Show True, # 1, флагу fCancelNot- после чего организуется цикл, в ко­ отображается диалоговое окно. Цикл бу­ fCancelNotPushed не будет Close закрывает файл и на дет продолжаться до тех пор, пока флагу при­ своено значение этом False. Инструкция программа завершает работу. 3. Наберите в окне модуля следующую процедуру: ' Процедуры типа Sub ' 'CancelBtn_Click() ' Sub CancelBtn_Click() ' Как топько пользователь щелкнет на кнопке Отмена, 'флаrу будет присвоено значение False, ' после чего диалоговое окно будет закрыто. fCancelNotPressed False Shееts(''Конв_диалоr"). Hide End Sub Процедуру CancelBtn_Click() следует назначить = кнопке Отмена диа­ логового окна. После щелчка на кнопке процедура опустит флаг и спря­ чет диалоговое окно. 4. Наберите в окне 'OKBtn_Click Масго модуля следующую процедуру: ' Эта процедура преобразует содержимое выделенных ячеек ' в соответствующие инструкции FORTRAN. ' Sub OkBtn_Click( ) Dim rngSelArea As Range Dim intConvType As lnteger Dim strAddress As String Dim strCellAddress As String Dim mgCell As Range Dim strFormula As String
Исnоnьзованuе Uisual Basic f or. Пpplications Dim strFormula2 As String Dim intRows As lnteger Dim intCols As lnteger Dim intl As lnteger Dim intJ As lnteger Dim intCeHType As lnteger Dim strNote As String Dim strName As String Const AsStatements =1 ' Режим преобразования Const As2DArray =2 Const As1 DArray = 3 ' Тип содержимого ячеек Const AFormula = 1 Const АValue = 2 Const Alabel = 3 ' Взвести флаг fCancelNotPushed fCancelNotPushed True ' Скрыть диалоговое окно. = Shееts("Конв_диалог").Нidе ' Выделить диапазон ячеек, указанный в диалоговом окне. ActiveSheet. Range( Sheets("Koнв_диалог"). EditВoxes("SelectionBox") .Text). Select ' Сохранить выделение как объект Range. • Set rngSelArea =Selection ' Определить режим преобразования по состоянию переключателей 'в диалоговом окне. = = lf Shееts("Конв_диалог"). OptionButtons("Bыpaжeниe"). Value 1 Then intConvType =AsStatements Elself Sheets("Koнв_диaлoг").OptionButtons("Kaк2D").Value 1 Тhеп intConvType As2DArray Else intConvType =As1 DArray · End lf ' Преобразовать адрес верхней левой ячейки ' выделенного диапазона в строку. strAddress =rngSelArea.Cells(1, 1).Address(False, False) ' Определить количество строк и столбцов в выделенном диапазоне. intRows = rngSelArea.Rows.Count 1ntCols mgSelArea.Columns.Count ' Цикл по всем ячейкам выделенного диапазона. For intl = 1 То intRows , For intJ = 1 То intCols ' Передать фокус очередной ячейке. Set rngCell = rngSelArea.Cells(intl, intJ) ' Преобразовать формулу ячейки в строку. strFormula rngCell.Formula = = = 'Преобразовать едрес ячейки в строку и в том случае, если 'выбран переключатель Выражение, изменить
Гnава 4 'ссылку на выделенный диалазон адресом ячейки. strCellAddress =mgCell.Address(False. False) lf intConvType 1 Then strAddress = strCellAddress End lf ' Определить тмп содержимого ячейки lf mgCefl.Hasformufa Then intCellТype Aformula Elself Application.lsNumber(mgCell.Value) Then intCeПType = AValue Else = = intCellТype =ALaЬef End lf ' Преобразовать примечание. сооmетствующее ячейке, ' в комментарий. strNote = mgCell. NoteText lf strNote <> "'' Then Print #1, "с " + strAddress + ": Примечание:" + strNote End ff • Преобразовать содержимое ячейки в выражения Fortran. lf intCellType Aformula Then ' Содержимое является формулой, преобразовать его в выражения Select Case intConvType Case AsStatements strformuta + strAddress + strformula strFormula2 Case As2DArray strFormuta =" "+ strAddress + "(" + Str(intl) + "," + Str(inU)+ ")" + strformula ' В том сnучае, есnи в формуле фигурирует явная ссылка на ' ячейку, обработать формулу сооmетспsующим образом. strformula2 =" "+ strCellAddress + "=" + strAddress + "(" + Str(intl) + "," + Str(inU) + ")" Case As1DArray strFormula =" "+ strAddress + "(" + Str(intl + (inU - 1) * intRows) + ")" + strFormula strformula2 =" "+ strCellAddress + ''=" + strAddress + "(" + Str(intl+ (inU -1) * intRows) + ")" End Select Elself intCellТype =AValue Тhen ' Еспи содержимое ячейки является значением, ' преобразовать его а выражение Select Case intConvType Case AsStataments strFormula =" "+ strAddress + ''=" + strFormula strFormula2 ='"' = =" " ='"'
Испоnьэованuе Uisual Basic for Rpplications Case As2DArray strFormula::: 11 "+ strAddress + ''(" + Str(iпtl) + "," + Str(iпU) + ")=11 + strFormula strFormula2 11 "+ strCellAddress + "=" + strAddress + "(" + Str(intl) + "," + Str(inU) + ")" Case As 1DArray strFormula:::" '' + strAddress + "(" + Str(intl + (inU ~ 1) * iпtRows) + '')=" + strFormula strFormula2 =" "+ strCellAddress + ":::" -+JstrAddress + "(" + Str(intl + (inU - 1) * iпtRows) + '')" End Select Else' Метка strFormula::: "с "+ strCel!Address + ": "+ strFormula Endlf ' Преобразовать в синтаксис Fortran. lf intCellType ::: AFormula Then strFormula::: Application.SuЬstitute(strFormula, "л", ·-·) ' Заменить л на ** End lf • Вывод результатов. Print #1, strFormula lf strFormula2 <> "" Тhеп Print #1, strFormula2 ' Если ячейка является поименованной, создать еще одну ' формулу с перекрестными ссылками. ' В обязательном порядке необходимо проверять возникновение ' ошибки в случае обработки неименованной ячейки. Оп Error Resume Next strName = rпgCell.Name.Name lf Err О Тhеп Priпt #1, " " + strName + " = " + strCellAddress End lf 'lf lsNull(mgCell.Name!Name) Тhеп ' Print #1, " " + mgCell.Name.Name + "=" + strAddress 'Епd lf ' Этот фрагмент кода следует закомментироаать. = = NextiпU *·-·--· Next intl Print #1, "с ......." ......... Епd Sub Процедура OKBtn_Click назначается кнопке ОК диалогового окна. Именно эта процедура выполняет преобразование содержимого ячеек ра­ бочего листа в соответствуЮщие инструкции FORTRAN. Для наглядности после каждого абзаца с описанием фрагмента проце­ дуры приводится соответствующий блок кода. Первый фрагмент соответ- ствует заголовку процедуры и объявлению переменных и констант. · ·
,,,, Гnава 4 ..... Пр!tмечание Присвоение константам описательных имен считается правилом хороше­ го тона. В резуr~~;.тате "'iит~~ельнос:т:~:: КС?д.с:~ значи.-г_е.~~~() повыwа.~:т:С:~·-- .! 'OKBtn_Click Macro ' Эта процедура преобразует содержимое выделенных ячеек ' в соответствующие инструкции FORTRAN. ' Sub OkBtn_Click() Dim rngSelArea As Range Dim intConvType As lnteger Dim strAddress As String Dim strCellAddress As String Dim rngCell As Range Dim strFormula As String Dim strFormula2 As String Dim intRows As lnteger Dim intCols As lnteger Dim intl As lnteger Dim intJ As lnteger Dim intCellType As lnteger Dim strNote As String Dim strName As String Const AsStatements = 1 Const As2DArray = 2 Const As1 DArray З Const AFormula = 1 Const AValue =2 Const Alabel З 'Режим преобразования = ' тип содержимого ячеек = В 'следующем фрагменте кода диалоговое окно скрывается, после чего определяется состояние его элементов управления. Затем указанные в диалоговом окне ячейки преобразуются в объект Range. Блок lf позволя­ ет определить активизированный переключател ь группы Обработать как. Переменной intConvType присваивается соответствующе типу режиму преобразования значение. ' Взвести флаг fCancelNotPushed fCancelNotPushed True ' Скрыть диалоговое окно. = Sheets("Koнв_диалог").Нidе ' Выделить диапазон ячеек, указанный в диалоговом окне. ActiveSheet. Range( Sheets("Koнв_диaлoг").EditBoxes("SelectionBox"). Text).Select ' Сохранить выделение как объект Range. Set rngSetArea = Selection
Испоnьзованuе Uisual Basic for Rpplications ' Определить режим преобразования по состоянию переключателей ' в диалоговом окне. lf Sheets("Koнв_диaлor'').OptionButtons("Bыpaжeниe'').Value = 1 Then intConvType =AsStatements Elself Sheets("Koнв_диaлor'').OptionButtons("Kaк2D").Value 1 Then intCoпvType As2DArray Else intConvType =As1DArray End lf = = В следующем фрагменте определяется адрес выделенного диапазона и его размер в строках и столбцах. ' Преобразовать адрес верхней левой ячейки ' выделенного диапазона в строку. strAddress = rngSelArea.Cells(1, 1).Address(False, False) ' Определить количество строк и столбцов в выделенном диапазоне. intRows =mgSelArea.Rows.Count intCols rngSelArea.Columns.Count = Затем для перебора всех ячеек выделенного диапазона организуется два цикла. В цикле каждой ячейке передается фокус и определяется ее адрес . Адрес ячейки используется для преобразования ее содержимого (если это формула) в соответствующие выражения Fortra11. Если выбран переключатель В~1ражение , ссылка на весь выделенный диапазон заменя­ ется адресом конкретной ячейки . intl = 1 То intRows For intJ 1 То intCols ' Передать фокус очередной ячейке. Set mgCell = mgSelAreв. Cells(intl. intJ) Fог = 'Преобразовать формулу ячейки в строку. strFormula =rngCell.Formula • Преобразовать адрес ячейки в строку и в том случае, если ' выбран переключатель Выражение, изменить ' ссылку на выделенныИ диапазон адресом ячейки. strCellAddress mgCell.Address(False, False) lf intConvType = 1 Then strAddress strCellAddress End lf = = Код приведенного ниже листинга определяет тип содержимого ячей­ ки. Метод HasFormula возврашает значение True в том случае, если ячей­ ка содержит формулу, метод lsNumber - если ячейка содержит числовое значение. Обратите внимание на необходимость использования объекта Application с целью определения содержимого ячейки как формулы. Если содержимое ячейки не удалось определить как числовое значение нли формулу, он о считается меткой.
Гnава 4 FORTRAN и ' Определить тип содержимого ячейКJ11 lf mgCell.HasFormula Then intCellType AFormu!a Elself Apptication.tsNumber(rngCet!.Vatue) Then intCetlType = AValue Etse intCeJtType ALabet End lf = = Примечания ячеек преобразовываются в комментарии записываются в текстовый файл. В соответствии с форматом вывода в первой позиции строки помещается символ с {превращающий строку в комментарий), затем следует текст: Примечание: и сам текст примечания . ' Преобразовать примечание. соответствующее ячейке, ' в комментарий. strNote = rngCell.NoteText lf strNote <> "" Then Print #1 , "с " + strAddress + ": Примечание:'' + strNote End lf Собственно преобразование выражений выполняет следующий фраг­ мент кода. Если ячейка сопержит фсрмулу, для преобразования ее в вы­ ражение FORTRAN своения (=) остается только расnоложить слева от символа при­ имя переменной . В зависимости от режима преобразования выражений будут выполняться соответствующие инструкпии блока Select Case. Если преобразование выполняется "по выражениям", в качестве имени п еременной испол ьзуется ссылка на ячейку. Если же преобразо­ вание выполня ется в одно- или двумерный массив, в качестве им ени массива используется адрес верхней левой ячейки диапазона, а в качест­ ве индексов используются текущие значения переменных lntl и lntJ. Кро­ ме тоrо, поскольку в формуле может фигурировать явная ссылка на ячейку (а не как на элемент массива), формируется перекрестная ссы лка, которая заменяет конкреrnый адрес ячейIЩ на соответствующи й элемент массива. ' Преобразовать содержимое ячейки в выражения Fortran. lf intCellType =AFormula Then ' Содержимое явnяется формулой, преобразовать его в выражения Select Case intConvType Case AsStatements '' + strAddress + strFormula strFormula = " strFormula2 Case As2DArray strFormula =" "+ strAddress + "(" + Str(intl) + ''." + Str(intJ)+ ")" + strFormula ='"' ' В том случае, если в формуле фигурирует явная ссылка на ' ячейку, обработать формупу соответствующим образом . strFormula2 "+ strCellAddress + ''=" + strAddress + "(" + Str(intl) + ''," ='
Исnоnьзованuе Uisual Basic for Applications + Str(intJ) + ")" Case As1 DArray strFormula =" " + strAddress + "(" + Str(intl + (intJ - 1) * intRows) + '')'' + strFormula strFormula2 =" "+ strCel!Address + "=" + strAddress + "(" + Str(intl+ (intJ - 1) * intRows) + ")" End Select Если же ячейка содержит значение, при выводе в текстовый файл его необходимо предварить именем переменной и знаком равенства. Опять же, в зависимости от режима преобразования, выполняются соответст­ вующие инструкции блока Elself intCellType ' Если Select Case. AValue Then = содержимое ячейки явnяется значением, ' преобразовать его в выражение Select Case intConvType Case AsStatements strformula = " " + strAddress + "=" + strFormula strFormula2 ="'' Case As2DArray strFcrmula =" "+ strAddress + "(" + Str(intl) + "," + Str(intJ) + ")='' + strFormula strFormU:a2 =" " + strCellAddress + "=" + strAddress + ''(" + Str(intl) + "," + Str(intJ) + ")" Case As1 DArгay strFormula =" "+ strAddress + "(" + Str(intl + (intJ - 1) * intRows) + ")=" + strFormula strformula2 = " " + strCellAddress + "=" + strAddress + "(" + Str(intl + (intJ - 1) * intRows) + ")" End Select И, наконец, носледНЯЯ возможная ситуация, когда содержимое ячей­ ки является меткой. Путем добаRJJения в первую позицию строки симво­ ла с, вывода адреса ячейки и его содержимого метка преобразуется в комментарий FORTRAN. Else' Метка strformula ="с " + strCellAddress + ": " + strFormula End lf Синтаксис операторов возведения в степень FORTRAN и Visual Bask не совпадает, поэтому обнаруженный в формуле символ л должен быть заменен на символы'"'. Все оснuтьные (необходимые с вашей точки зре­ ния) преобразования синтаксиса должны выполняться здесь же. ' Преобразовать в синтаксис Fortran. lf intCellType =AFormula Then strFormula = Application.Substitute(strFormula, """, "**") ' Заменить л на ** End lf
141:1 Гnава 4 Составленное выражение FORTRAN, которое включает формулу и перекрестную ссылку на имя я•1ейки, необходимо вывести в текстовый файл . ' Вывод результатов. Print # 1, strFormula lf strFormula2 <> "" Then Print # 1, strFormula2 Если ячейка является именованной , ее имя может фигурировать в формуле и поэтому должно быть указано в перекрестной ячейку. ссыл ке на К сожалению, определить, является ли ячейка именованной, можно только эксперименпu~ьны м путем. Для этого с помощью инст­ рукuии On Error необходимо активизировать подпро грамму обработки ошибок. Данная инструкuия определяет возможность продолжения вы­ полне ния программы в случае возникновения ошибки. В нашем случае возникновение ошибки выполнения приводит к передаче управления на инструкцию, непосредственно с,1еду ющу ю за инструкцией, при выпол­ нении которой возникла ошибка. Ес.'1 н ин струкuию On Error опустить, при попытке обработки любой неименованной ячейки будет воз никать ошибка НЫJ10.1 НСJ-tИЯ . -~ Прим~ч~~-~е Инструкция Оп Егrог позволяет обойти некоторые недостатки языка Basic Visual . путем продолжения выполнения программы после возникновения фатальной ошибки . Та ким образом , программисту предоставляется воз- · , можность создания процедур-обработчиков ошибок. В данном случае после активизации обработчика ошибок предпринима­ ется попытка сформировать из ссылки на диапазон имя ячейки . Конструк­ ция Name.Name является необходимой, поскольку первая инструкция Name извлекает объект ти па Name. а вторая извлекает из этого объекта текстовую строку. Если ячейка не обладает именем , возникает ошибка и обработчик заставляет программу выполнять инструкции после выраже­ ния Егr = О. В случае возникновения ошибки функция Егг воз вращает ее код. Отсутствию ошибки соответствует возвращенное нулевое значен ие . Если ошибки_ не произошл о, следовательно, ячейка обладает именем и преобр~зо~а..t:t.~е между и_r.-~ене_м и адресом ячей~-~ -8.-~~~.!?.-~Н_С?:. 'Если ячейка является поименованной. создать еще одну ' формулу с перекрестными ссылками. ' В обязательном порядке необходимо проверять возникновение ·ошибки в случае обработки неименованной ячейки. On Error Resume Next stгName = mgCell.Name.Name lf Егг = О Then Print #1, " " + strName + " Епd lf ="+ strCellAddress
Исnользованuе Uisual Basic for Rpplications Посл едний фрагмент кода содержит завершающие ин струкции орга­ низованных выше циклов, а также инструкuию вывода комментария в конuе каждого раздела. ' Этот фрагмент кода следует закомментировать . Next intJ Next intl Print #1, ''с ******•*********************'' End Sub 5. Н аберите в окне модуля следующую п роцедуру: ' Процедура Close_File для закрытия ' в проце ссе отладки программы . . файлов на диске Sub Close_File( ) Close End Sub Посл едняя п роцедура окажется полезной при отладке. Если процеду­ ра по каким -то прич ин ам завершает сво ю работу не нор мальн ым спосо­ бом. rзсе файлы остаются открытыми . П ри попытке повторного открытия файла воз никает фатальная ошибка. После выполнения приведенной ко­ ротк ой проuедуры все открытые файл ы будут закры ты . В сегда запус кайте эту процедуру после того , как процедура Excel2For завершает сво ю рабо­ ту ненормальным образом . Теп ерь остал ось назн ачить проuедуры двум клав иш ам диалогового окна. 6. Перейдите на рабочliй лист Конв_диалог и щелкните н а кнопке ОК правой кнопкой мыш и. Выполн ите из контекстного меню команду Назначить ма крос. В списке выберите макрос ?. OKBtn_Click и щелкните на кнопке ОК . Аналогичную проuедуру продел айте с кнопкой Отмена. н азн ачив ей макр ос CancelBtn_Click. Программа уже создан а. Откройте любой рабочий лист и примените к нему пр ограмму. Если вы не сделали ошибок при наборе кода , програм­ ма должна работать. Если же программа не работает должным образом, ее придегся отлажи вать , о чем и пойдет речь в следующем разделе. Для наглядности применим программу к рабочему л и сту Bandpass Circuit, созданн ому в главе 3. 1. Откройте создан ны й в главе 3 рабочий (это рабочий лист Рис. 3.21 лист Delyiaпnis Delyiannis Bandpass Circuit в рабочей книге chOЗrus.xls на отдельно распространяемой дискете). 2. Перейдите к рабочему листу Конв_диалоr и скопируйте его в книгу ch04rus.xls. Для этого выполните команду Правка ~ Переместить/ско­ пировать лист. В поя вившемся диалоговом окне (ри с. 4.19) укажите кн игу, в которую следует скопировать текущий лист. Кроме того, не забудьте установить флажок Создавать копию .
Гnава _ Рис. 4.19. Диалоговое окно 3. 4 Переместить или скопировать Затем перейдите в редактор Visual Basic и в окне проекта перетащите соответствующий созданным процедурам модуль (Модуль 1) в рабочую книгу 4. ch04rus.xls. Теперь вновь откройте рабочий лист Рис. З . 21, выполните команду Сервис>- Макрос>- Макросы, выберите в диалоговом окне программу Exce12For 5: и щелкните на кнопке Выполнить. В появившемся диалоговом окне Сохранение документа согласитесь с предложенным по умолчанию именем файла , в который будуг зап и­ саны выходные данные, и щелкните на кнопке ОК. 6. В результате выполненных действий будет открыто созданное вами диалоговое окно . Задайте в области редактирования ссылку на диапа­ зон ячеек ВЗ:С5, как это показано на рис. 7. 4.20. Выберите переключатель Выражение и щелюште на кнопке ОК. RESA RESB 32 10 1.69Е+О5 Рис. 4.20. Выбор диапазона FORTRAN ячеек для преобразования в инструкции ?
Испоnьэованuе 8. Uisual Basic for Rpplications Когда диалоговое окно появится вновь, задайте ссылку на диапазон ячеек 89:С11, выберите переключатель 2D-массив и щелкНите на кнопке ОК 9. Чтобы закрыть файл и завершить работу программы, щелкните на кнопке Отмена . .__ Примечание Чтобь1 упростить процедуру отладки, с помощью панели инструментов 1 Формы нарисуйте на рабочем листе две кнопки. Одной из них назначьте процедуру Excel2For, второй - CaпcelBtn_Click. Теперь для запуска npoграммы достаточно бvдет щелкнуть на кнопке, а. н~ бродить по меню. СоЗданный в результате выполнения программы текстовый файл со­ держит следующую информацию: с с ВЗ: RES1 СЗ=10 RES1 = СЗ 84: RES2 С4=10 с RES2 = С4 BS:K С5=1 +RESA/RESB К=С5 с "'*'****"******'**************** 89( 1, 1)=10000 89=89( 1, 1) 89( 1, 2)=(89/(RES1*CAP2*(1-1/K)))/SQRT((WP"2B9**2)**2+WPQP**2*89**2) С9=89( 1, 2) 89( 2, 1)=20000 810=89( 2, 1) В9( 2, 2)=(B10/(RES1*CAP2*(1-1/K)))/SQRT((WP"*2B 10"'*2)**2+WPQP**2*B10**2) С10=89( 2, 2) 89( з. 1)=30000. 811=89( з. 1) 89( З, 2)=(811/(RES1*CAP2*{1-1/K)))/SQRT((WP*"2B11 "*2)**2+WPQP**2*811 **2) С11 =89( З, 2) с ...*********'***************** Сгенерированный листинг будет без проблем транслироваться как компилятором FORTRAN, так и другими расnространенными компиля­ торами. Однако по-прежнему необходимо проверять порядок выражений с тем, чтобы. исключил. возможность использования значений перед их присвоением. Желательно также переписать инструкции lf и следить за
f}}j Глава тем, чтобы ДТJИНа строки составляла не более компилятор 72 символов, поскольку все равно болезнен но отреагирует на подобные FORTRAN проблемы. Обратите внимание на способ преобразования меток ячеек и 84 4 83 в комментарии к программе, а также на манипуляции со значением и названием яt1ейки СЗ. Все возможные названия теперь доступны ДТJЯ использования в формулах программы. Ячейки DЗ:Е5 были преобразованы в двумерный массив. Однако, по­ скольку первый столбец содержит только метки, он отсутствует в тексто ­ вом файле. В качестве названия массива используется название ячейки в верхнем левом углу преобразуемого диапазона. Отладка макропрограмм Во м н о гих случаях программы Visual Basic не желают корректно рабо­ тать при первом запуске. Чтобы понять , где именно вы допустили ошиб­ ку, необходимо определить действия nро11едурь1 на каждом шаге. После возникновения ошибки выполнения выводится диалоговое окно (рис. 4.21), предлагающее завершИть программу, продолжить ее или переклю­ читься в режим отладки . Рис. 4.21. Диалоговое окно, информирующее о возникновении ошибки вы­ пол нения В больш инстве случаев наиболее разум ным решением будет переклю­ чение в окно редактора Vjsual Basic, изображенное на рис. 4.22. ~ Внимательный читатель уже заметил причину возникновения ~ошибки я закомментировал инструк.uию Оп Error, которая активизировала обработчик ошибок. Естественно , что все возникающие ошибки теперь приводят к прекращению выполнения программы. Н а данном этапе, чтобы узнать текушее значение любой переменной, доста ­ точно выделить саму переменную и щелкнуть на кнопке Контрольное значение панели инструментов Отладка.
Исnоnьзованuе Uisual Basic f or Rpplications :;d1al.xls - Моаупьl (Программа) ' '! Р.!1[.i!)ЕЗ Ес.11и ячейка .о;:вля-:тся пою-1Е:ноьанной, Ф"'Jj.Jмулу с пе}';f~:1tрестньr~1и 1 В ~r)я·з .~'r 1:слt·Н(л""I Пl.':ря,:~1.:f:~ ! ~~ибки в слуt!ае сс.здать о::ще одну r~·съ.:..пкс1r.·н~" Ht~~i-:;r)z<':диt...тo Еr;:·:..ьсря·rь r:.•::':·:-:ни1<н"~I~~:::~н~ !)5рабоТI(И ~ On Error Re5urne Next strName ~ rngCell.Name.Name If Err ~ О Then Print #1, " " + strName + " End I f " + strCellAddress Print #1, " If ' Епd ' Этvт ф~ар;~":'<::·н 1г J::С!да сл·(·Д?СТ :·~.:.~I1~(.':MJ·.·к·нт·иpcт;aгl'1:­ intJ Рис. 4.22. Инструкция, в результате выполнения которой возникла ошибка, выделена желтым цветом В данном случае очень интересно было бы узнать значение перемен­ ной Егг (оно должно быть рав~о 1004). Для того, чтобы постоянно отсле­ живать значение переменной, щелкните на кнопке Добавить диалогового окна Контрольное значение (рис. 4.23) . .;; 'ijOkBtn_Cliclc " Б·:=-.:·н1 .ячей?'.~ Я!';._r:я::::~т·:-~ n.:"~;м~::-нс:~.:.:";ной" фс_)рz..~улу с rl~pe;<;~~c 'J'Н~ми -::;с~-.l.:н~е:.11,.1и :;·:·~~.1,-эт:_" С'Ше сд11у _ llAddre:;is :+:: ~~1/ ·•ш Рис. ·:ir:-c~'I" фр~РМL'Н'Г 1:е:дн -::"nед~/е'!' 3.J.)~·.:.:!'-fJ"'feт·rтиp~sa'f·ь. Neкt intJ 4.23. Диалоговое окно Контрольное значение
1141 Гnава 4 В результате переменная и ее значение будет постоянно отслеживать­ ся на п анел и Контрольные значения. ' С1.iН:бУ.И • ·.)t: .:;.t;·,"\{.~~ О~,р~.бО Т!~~~ 3 Е~: ~>~• t: R7.:=;t~1~·!7= strName ~ I f E:rr : ~J(·~X1; rngCell.Na~e.Name О Тhen + • Pri n'L IJl, • • + strCellAddress E: nd l f 'I:f. ' • . тз.~~"J l (·r: .i t: t <::~~,: l. ~ rлgce l l . N":1::;;·; 1:,J.:ir-:e:·} #1 ! r f! ·~"r.e:·; " ::. -~-.. _;,;; Next intJ ~ • ~ 1:•· .. _;·t . · ·О:rн-: .~", ~а eыi>U<fi!~t ·'''''""<' ~ . ·. ··13.ti.,.\ii.;O. : . : ..• ·. -.._. -: .. 'l:r~n ' : ' ·· · ' ... :_· -. ·. ·Н•ко;nе~~ '· · : • :. ~. « . 7 :: •-.;.. Mwдy.n-.1 . 0kBtr;_Cli,;;k Рис. 4.24. Теперь текущее значение переменной отслеживается постоянно Не менее эффективным способом поиска некорректной инструкции является выполнение кода в пошаговом или построчном режиме, коrда вам предоставлена возможность отслеживать значения переме нных до тех пор, пока не произойдет ошибка. Чтобы быстро добраться до проблем­ ного фрагмента кода , выберите выражение п еред ним и щелкните на кнопке Точка останова . Все инструкции до заданной точки останова вы­ полняются с нормальной скоростью , после чего пользователю предостав­ ляется возможность отладить программу в пошаговом режиме. Резюме Yisнal Basic в зн<tчительной степени расширяет функциональны е воз­ можн ости Excel, позволяя автоматизировать . трудоемкие рутинные зада­ чи . Кроме того, в случае необходимости можно будет не только р асши­ рить диапазон функций рабочего листа, но и написать отдельную про­ грамму , предназн аченную дnя выполнения сложной зааачи . Ехсе\ позволяет п реобразовать выполняемую последова~л ьность дей­ ствий в набор инструкций Yisual Basic. Этот н абор инструкuий можно с успехом использовать в кач естве подпрограммы . Редактор YisuaJ Basic предоставляет все средства, необходимые для отл адки процедур , позво­ ляя отслеживать текущие значения переменных и выполнять в пош аговом режиме. программу
Испоnьзованuе Шsual Basic for Rpplications В такой небольшой главе невозможно полностью раскрыть широкие функциональные возможности Visual Basic. Этому языку программирова­ ния посвящены целые книги, поэтому, если вы действительно заинтере­ сованы в изучении Visual Basic, приобретите одну из них. Дополнительная литература Visual Basic for Applications W. J. Orvis, Visиal Basic for App/ications. Ву Example, Indiaпapolis, IN: QUE, 1994. Microsoft, Руководство пользователя Visual Basic, а также система справки Visual Basic, входящая в комплект поставки Excel. В.В. Волков, Работа на персональном компьютере. Практический к.урс, К., Юниор, 1999 r. Обзорные задачи 1. Напишите процедуру для автоматического создания рабочего листа, показанного на рис. 2. 2.5. Напишите процедуру для автоматического создания рабочего листа, показанного на рис. 3.15-3.17. Вместо таблицы с данными температу­ ры воспользуйтесь альтернативной формулой. 3. Напишите процедуру, которая выводит в диалоговом окне вопрос Сохранить рабочую книгу? и ожидает, пока пользователь щеМJiет на кнопке Да или Нет. Если пользователь щелкнул на кнопке Да, проце­ дура должна сохранить рабочую книгу в текущем каталоге, заменив при этом предыдущую версию, и вывести в строке состояния сообще­ ние Рабочая книга сохранена. Если пользователь щелкнул на кнопке Нет, процедура должна вывести в строке состояния. сообщение Рабочая книга не сохранена. 4. Напишите процедуру, которая предлагает ввести в диалоговом окне дату вашего рождения, после чего выводит ваш возраст в днях в дру­ гом диалоговом окне. 5. Напишите процедуру, которая автоматически создает таблицу углов х и значений гиперболического синуса для одиннадцати углов в диапа­ зоне от О до 4, ех используя при этом следующую формулу: - е-х sinh(x)=--2 6. Напишите процедуру для представления данных предыдущей задачи в виде графика. Не забудьте вывести по обеим осям разметку. 7. Напишите проuедуру для автоматического создания рабочего листа, показанного на рис. 8. 2.8. Напишите процедуру для транспонирования матрицы размером ЗхЗ (А). В транспонированной матриuе (At) значения переставлены сим-
111& Глава 4 метрич:но ее главной диагонали. Использовать стандартную функцию ТРАНСП нельзя. А= А В с D Е Н f G 9. , А1 = а d g Ь е h с f j Напишите процедуру, которая считывает значения двух ячеек и фор­ мирует из них текстовую ссьшку на третью ячейку. Первое число со­ ответствует номеру столбца, второе - номеру строки. Номер столбца необходимо преобразовать в соответствующий буквенный индекс (1 А, и 2 в В и т.д.). Например, если в ячейках записаны значения 3 в 5, процедура должна вернуть строку С5. 1О. Напишите процедуру, которая прокручивает рабочий лист вниз иа один экран, перемещая при этом активную ячейку в верхнюю часть экрана. Напишите вторую процедуру, которая прокручивает рабочий лист вверх на один эJ<tран, перемещая активную ячейку в нижнюю ч:асть экрана. Напишите еше две аналогичных процедуры для скрол­ линга вправо и влево. Упражнения 1. Напишите функцию, которая вычисляет объем цилиндрического бака с водой по заданному диаметру и высоте. 2. Факториал числа равен произведению всех натуральных ч:исел, не больfuих заданного, например: 5! = 1 х 2 х з х 4 х 5 6! = 1 х 2 хзх х5 х6 4 Напишите функцию, которая возвращает факториал аргумента. 3. Дополните созданную раньше программу преобразования даты из григорианского формата в юлианский диалоговым оююм. 4. Перепишите процедуру Excel2For таким образом, чтобы содержимое ячеек Excel преобразовывалось в инструкции Visual Basic, а не 5. Дополните процедуру FORTRAN. Thermoelectric Сооlег из главы 2 диалоговым ок­ ном. 6. Напишите процедуру для вычисления по заданному времени (t) двух­ элементного массива, который содержит эклиптическую долготу (Х) и отклонение от эклиптики (с). Х = 50.2564" +О. 00222пt Е = 23°27'8. 26'' - 0.4684" t
Использованuе 7. Uisual Basic for Applications Средняя скорость потока жидкости в трубе определяется формулой а Р 2 V=-- 8Y]f ' число Рейнольдса равно Re = 2vap У] В формулах а сооmетствует радиусу трубы, р диенту давления, 17 - - плотности, Р// - гра­ вязкости жидкости. Напишите функцию, кото­ рая по заданным радиусу трубы, плотности, градиенту давления и вязкости жидкости вычисляет число Рейнольдса. 8. Для обработки металла на токарном станке очень важно подобрать оптимальную скорость вращения заготовки. Если металл будет то­ читься слишком медленно, этот проuесс займет слишком много вре­ мени. Если же точить слишком быстро, сломается инструмент или само изделие. Оптимальная скорость точения металла определяется следующей эмпирической формулой: V= HxS ( ~ D + У)( 7V F - Z) где V соответствует скорости движения резца в футах/с, D - глубине резания, выраженной в 1/64 дюйма, F - подаче резuа, выраженной в 1/64 дюйма на оборот. Константы Н, S, У и Z зависят от свойств ма­ териала и размера резца. Жесткость материала н Жесткий 0.6 1.0 2.0 Средней жесткости Мягкий Размер инструмента Материал (дюймы) 3/4 чугун 1/2 чугун з/4 сталь 1/2 сталь s 232 215 325 288 у 3 8 -2 о z о 0.3 0.3 0.5 Создайте функцию, которая вычислит по заданным входным значе­ ниям оптимальную скорость резки металла. 9. Профессиональные журналы иногда ограничивают размер аннотаuий характеристикой, выраженной в количестве слов. Создайте програм­ му, которая позволит удовлетворить выдвигаемые требования. Она должна открывать указанный файл, подсчитывать находящееся в нем
114:1 Гnава количество слов и выводить это значение в отдельном 4 диалоговом окне. !О. Стандартная функция Excel СТАНДОТКЛОН, вычисляющая отклоне­ ние, пытается обрабатывать даже пустые ячейки. Напишите новую функцию, которая будет игнорировать пустые ячейки. Для вычисле­ ния стандартного отклонения используется формула: где N равно количеству обработанных ячеек, xi - ной ячейки, а .Х - значению очеред­ среднему арифметическому всех обработанных ячеек. Код приза ВНИМАНИЕ! Если на этой странице указан код приза, заверенный печатью издательства "Юниор", - поздравляем! В этом случае заполните и пришлите нам карточку "ПризШ", приведенную в конце книги. Если же выигрыша нет - не огорчайтесь. В конце книги имеется регистрационная карточка. Пришлите ее нам и убедитесь на собственном опыте в том, что наши читатели всегда остаются в выигрыше! Мы работаем для Вас оставайтесь с нами/
Гпава 5 Аиа.nиэ информации с помощьlО баз данных В этой таве ./ ./ ./ ./ ./ ./ Импортирование данных в рабочий лист Синтаксический анализ данных Обращение к внешним базом данных Выбар данных с помощью фильтров Выбор данных с помощью форм Сортировка данных Анализ экспериментальных данных может сводиться к обычному ус­ реднению нескольких значений или усложняться до поиска записей в большой базе данных по некоторому критерию. Программа Excel в со­ стоянии справиться с любыми задачами по обработке данных, включая перечисленные крайности. Прежде чем обрабатывать данные, их необходимо поместить в Excel. После этого многочисленные команды и функции Excel позволят обра­ ботать данные любь1м необходимым способом и вывести результаты. На­ пример, значения выходного напряжения (или тока) большей части экс­ периментальных приборов пропорuиональны измеряемым физическим величинам. Обрабатывая измеренные значения по формулам Excel, мож­ но будет преобразовывать их в соответствующие характеристики. Ввод экспериментальных данных Существует несколько методов ,ввода данных в рабочую книгу. Есте­ ственно, что оптимальный метод ввода зависит от формата данных. Если данные от руки записаны в блокноте, вам остается набивать их самостоя­ тельно. Если данные уже находятся на жестком диске компьютера в не­ котором текстовом формате, их можно будет загрузить непосредственно в рабочий l'ИСТ (вполне возможно, что прочитанные данные придется вручную распределить по ячейкам). Меньше всего проблем возникает в том случае, если nанные находятся в какой-то внешней базе данных.
1$1~1 Гnава 5 Ввод данных вручную Большая часть экспериментальных данных существует только на бу­ маге. Записи в журнале исследований и таблицы в научных журналах яв­ ляются неrшохими примерами распечатанных экспериментальных дан­ иых. Если вы не являетесь счастливым обладателем сканера и программ­ ного обеспечения для оптического распознавания символов character recognition - OCR), ( optical такие данные придется набивать вручную. Справедливости ради следует заметить, что один прилежный аспирант с успехом заменяет и сканер, и необходимое программное обеспечение. Как правило, в комплект поставки сканера входит программа д,"'Iя распознавания напечатанного (но не написанного от руки) текста и пре­ образования его в файл на диске. Превратить распечатанные данные в редактируемь1й текст позволит даже недорогой ручной сканер и про­ стейшая программа распознавания. Совсем нелишним будет Тщательно проверить корректность распознания данных приложением (или набора их аспирантом). Набирать данные в Excel совсем несложно. С помощью мыши выде­ лите столбец рабочего листа и начинайте набирать данные. После нажа­ тия клавиш <Enter> или <ТаЬ> активная ячейка будет перемещаться вниз на одну строку, позволяя тем самым ввести следующее значение • . Предупрвждение Имейте в виду, что после достижения конца выделенного диапазона ак­ тивная ячейка переместится в его начало и все набранные прежде дан­ ные могут быть потеряны. Если же выделить два и более столбцов, после каждого нажатия кла­ виши <Enter> (или клавиши <Return> на rшатформах Macintosh) активная ячейка будет последовательно пуrешествовать по всем выделеииым столбцам сверху вниз. Нажатие клавиши <ТаЬ> (<Enteг> на rшатформах Maci11tosh) заставляет активную ячейку циклически перемещаться слева направо по столбцам выделенного диапазона. После достижения послед­ него столбца активная ячейка возвратится к первому, переместившись одновременно на следующую строку. Если во время нажатия <ТаЬ> или <Enter> удерживать еще и клавишу изменится на противоположное <Shift>, направление движения ячейки (вверх для комбинации клавиш <Shift+Enter> и вправо для <Shift+Tab>). Кроме того, все версии Excel для Windows позволяют задать используемое по умолчанию иаправлеиие сме­ шение активной ячейки после иажат.;я клавиши <Enter>. Для этого дос­ таточно выполнить команду Сервис )о-- Параметры и перейти на вкладку Правка.
nнanuз uнформацuu с помощью баз даннык Импортирование данных из файла Вставка Jiанных в рабочий лист в значительной степени упрощается в том случае, если данные уже существуют в виде файла на диске. Это моrут быть файлы, созданные проrраммами численного моделирования или файлы, полученные из других источников. Существует несколько методов считывания данных из файла на диске в рабочий лист. Программа Excel в состоянии непосредственно работать с файлами форматов, которые перечислены в табл. 5.1. Кроме того, с помощью над­ стройки MS Query для Excel 5 можно манипулировать с данными попу­ лярных приложений управления базами данных. Надстройка Query сразу же вставляет обнаруженные данные в рабочий лист. Таблица 5.1. Форматы данных, поддерживаемые Формат Расширение файла Excel 97, 7.0 или 5.0 Excel 4.0 Excel 3.0 Excel 2.х .XLS, .XLS, .XLS, .XLS, .SLK Excel .XLT .XLC, .XLM, .XLW, .XLA, .XLT, .XLB, .XLL .XLC, .XLM, .XLW, .XLA, .XLT .XLC, .XLM, .XLW Символические связи Текст .ТХТ Значения, разделенные запятыми .CSV t-2-3 версия tA .WKS Microsoft Wo, ks 1-2-3 версия 2.х 1-2-3 версия 3.х 1-2-3 для Windows Allways .WKS Формат обмена данными DBase 11 DBase 11 dBase IV _ Quattro Pro для MS-DOS .WК1, .FMT .WK3, .FM3, .PRN .WK3, .FM3, .PRN .ALL .DIF .DBF2 .DBF3 .DBF4 .WQ1, .WQS Для моделирования физических явлений и поведения механизмов на компьютерах характерно большое количество данных, которые необхо­ димо проанализировать и представить в rрафическом виде. Если данные уже записаны в текстовь1й файл, заrрузить их в рабочий лист не составит . труда. Если же данные записаны в двоичный файл, придется написать не­ большую программу, которая преобразует двоичный файл в текстовый. Чтобы во время преобразования не возникало проблем, данные в тексто­ вом файле должны быть представлены в виде таблицы, в которой столб­ цы числовых значений или текста разделены табуляторами, а каждая строка завершается симьолом возврата каретки. Именно такие требова­ ни:я приложение формате. Excel по умолчанию выдвигает к файлам Б текстовом
fJfj Глава 5 Текстовые файлы, в которых значения разделены запятыми, точками с запятыми, Пробелами или любым другим символом, также могут быть прочитаны в Excel, однако для этого необходимо будет явно задать раз­ деляющий символ в диалоговом окне Мастер текстов (импорт). Программы эмуляции терминалов позволяют устанавливать соедине­ ние между компьютерами по модему или локальной сети. С их помощью можно получать результаты моделирован:ия от главного вычислительного сервера (мэйнфрейма) или просто удаленного персонального компьюте­ ра. Большинство программ эмуляции терминалов поддерживают возмож­ ность сохранения полученных данных в текстовой форме . .._. Примечание ' Программы эмуляции терминалов оказываются незаменимыми в том случае. если возникает необходимость обмена данными между платфор­ мами с несовместимыми файловыми системами. С помощью кабеля нуль-модема компьютеров, соедините последовательные порты после чего передавайте необходимые файлы по одному из стандартных прото­ .колов обмена файла_ми. Импортирование стандартных текстовых файлов Если необходимые данные находятся в текстовом файле, отдельные значения в котором разделены табуляторами, достаточно будет открыть этот файл с помощью стандартной команды Файл >- Открыть. Файлы, в которых значения данных разделены табуляторами, а в конце каждой строки стоит символ возврата каретки, соответствуют требованиям, по умолчанию выдвигаемыми формата. В случае открытия такого файла Excel к файлам текстового Excel создает новую рабочую книгу и считывает символы из файла в ячейку А1 до тех пор, пока не встретит символ табу­ ляции. После этого акnшная ячейка смещается вправо, и символы счи-, тываются в ячейку 81 до тех пор, пока не будет обнаружен следующий символ табуляции. При обнаружении каждого символа табуляции актив­ ная ячейка будет смещаться вправо до тех пор, пока не встретиться сим­ вол возврата каретки, который вновь переместит активную ячейку в столбец А, но уже на одну строку ниже. Если для разделения данных используется какой-то другой символ, как то запятая, пробел или точка с запятой, его придется указать в мас­ тере импортирования текстов, который будет автоматически запущен при попытке открыть файл. Мастер позволяет учитывать даже происхождение файла (ero принадлежность к определенной операционной системе), по­ скольку различные платформы используют для обозначения конца стро­ ки различные символы.
nнanuз uнформацuu с помощью баз даннын Текстовый файл с разделенными пробелами значениями В качестве примера рассмотрим процедуру импортирования представ­ ленного на рис. 5.1 текстового файла с разделенными пробелами значе­ ниями. Файл был создан в приложении Блокнот, которое входит в ком1mект поставки Пользователи платформ Windows. пользоваться для создания файла приложением 3!130р Н•кс: . D0311ИKHOB8HHll I анаметр HC:Kplll (с:н) :аnектро~а• Macintosh Teach Text. моrуг вос­ . ,; _..; (с:н) I I---------------------------1 2.5 1 (11.В) I 5 18 2е --··----------------·--------·-----8.13 8 . 15 8 . 15 5 ..." н.nряж. е.16 18 15 28 25 38 35 1\8 lf5 58 8.27 е.29 e .11i+ 8 .60 е.58 8.76 8 . П 8.95 e.91f 1. 17 1 . 12 1 .111 1 . Зе 1 .68 1 .50 2 .88 1. 71 е.112 8.30 8 .116 8 .62 в . 78 8 . 95 1 . 12 1 .29 1 .1\7 1 . 65 е . з2 e.11s e.61f 8.81 8.98 1.15 1 . 32 .. 1 . lfЗ 1.66 Рис. 5.1. Данные о зазорах возникновения разряда разделены пробелами. Текстовый файл создан в приложении l/Jindows Блокнот l. В программе Блокнот (или на рис. 5.1. Teach Text) наберите ланные, показанные Для выравнивания столбцов используйте пробелы. 2. Сохраните файл под именем COLUMNS. TXТ. 3. 4. Запустите прил ожение Excel и выполните команду Файл>- Открыть. В диалоговом окне Открытие документа выберите из списка Тип фай­ лов пункт Все файлы . 5. Выберите файл COL.UMNS.TXT и шелкните на кнопке Открыть. В результате выполненных действий будет запушен мастер импорти­ рования текстов, который и поможет прочитать файл в Excel. Имейте в виду, что импорmруемый документ содержит разнесенные с помощью пробелов на равные интервалы стол бuы данных. 6. Выберите переключатель с разделителями и щелкните н а кнопке Да­ лее.
Гnава 5 .. ·., ·1 · <Усы . . ..:•. ",. . . _.... ·.··>· '• .1···.· ·'~·от-.· •.···•.°"10Щ.'</ ,., ~ ·.· . ·.• . .1·_..· f.·.. ··.· ... " . · . •·.·-.···.·. Рис. 7. 5.2. Первое диалоговое окно мастера импортирования Во втором диалоrовом окне мастера установите флажки пробел и Считать последовательные разделители одним. Щелкните на кнопке Далее. При желании можно установить и ,Флажок символ табуляции в этом случае все табуляторы тоже будут учитываться во время син­ таксического анализа файла с целью выделения столбuов. Следующее диалоговое окно позволит задать формат данных для каж­ дого столбца. Оставьте предложенный по умолчанию формат Общий, и Excel самостоятельно отформатирует столбцы с текстом и числовыми значениями. Щелкните на кнопке Готово. Рис. 5.3. Второе диалоговое окно мастера имnортирования
nнanuз uнформацuu с помощью баз даннын ~· :Л '"""'---------------'Ш~' - . ..........:0.......................... ~.~"::_.:_: >. '·~ ··.·;·;··~··-:~"::··:··= .. •r:• ~::~~-:~~::.: l,r.c.·.-.~.-,_·~~ ..-·2 ·:"~:~·..· -,··. .·: ;;::'<!i.:Ji:щ;i!~)!?~·,;•j i1:·~~··4 )\••",i. ; -.· ,~-'~ ..А .. : ::.: ... " "';· , .. Рис. 5.4. " . . . ..... " • • , •.•. . ... ·" ' :.-; . . . . .• . . . .·'.·J ·..• Третье диалоговое окно мастера импортирования Рабочий лист должен выглядеть так, как это показано на рис. Приложение Excel 5.5. корректно обработало числовые значения , однако всю текстовую информацию придется " растаскивать" по ячейкам· самостоя­ тельно. Зазор .... (СМ) во.э.ниi<НОЕ искры ... 1 Диаметр 1--------------------1 Макс . (к6i --------------------...·-------5 10 15 20 25 зо 35 40 45 50 Рис. 5.5. 0.13 0.27 0.42 0.58 0.76 0.95 1.17 1.41 1.68 2 эпектрод< (см) ~ L ." 0.15 0.29 0.44 0.6 0.77 0.94 1 12 1 з 1.5 1.71 о 15 0.3 0.46 0.62 o.i8 0 .95 1 12 1.29 1.47 1 65 20 1 0.1 6 0.32 0 .48 0.64 0.81 0.98 1 15 1.32 1.49 . Столбцы данных, импортированные в Excel
fJИ Гnава 5 4' Предупреждение Не забывайте, что приложение Excel использует в качестве разделителя между целой и дробной частью числа символ запятой. Это соответствует заданным по умолчанию параметрам представления чисел в панели управления. Поэтому во время импортирования все чисповые значения с дробной частью будут преобразованы в текстовые строки. Откройте раз­ дел Язык и стандарты панели инструментов и перейдите на вкладку Числа. В поле Разделитель целой и дробной части числа удалите символ запятой (,) и введите вместо него символ точки (.). Но и это еще не все . Теперь числовое значение типа 1.17 может быть преобразовано в дату 17 января. Перейдите на вкладку Дата и задайте в качестве разделителя КОМПОНеНТОВ даты КОСУЮ ЧеРТV (/). Импортнрованне разделенных табуляторамн значений Если значения в таблице разделены символами табуляции, обычно процедура импортирования файла происходит намного корректнее. Предлагаю вам убедиться в этом самостоятельно. За:»ор ВО3НИКНОВ8НИ111 нс:кры ( с:н ( : наnря• . (кВ) s 2 .S 18 8 .1 3 8 . 27 15 8 . Ч2 28 25 38 35 8 . 58 8 .16 8.15 8.15 В.16 8.29 8.1111 8 .68 8 .31Э 8 .32 8 .116 8 . 62 8.118 е . о" · ., 8 .81 <· 8 . З5 8 . 9Ч 1 .17 1. 12 1.38 1.58 1. 71 1 . 12 1 . 29 1 . 'I T 1 .65 1 .68 58 2.ве Рис. 18 В.78 е . зs lf8 115 1 .111 5.6. 29 5 8 . Т7 8 . 98 1 . 1s 1. 32 1.119 1 . S6 ,•·., ,. .· ~ ·: " Данные о зазорах возникновения искры разделены табуляторами. Текстовый файл создан в приложении 1. 2. 3. Windows Блокнот В проrрамме Блокнот (или Teach Text) наберите данные, показанные на рис. 5.6. Для выравнивания столбцов используйте табуляторы. Сохраните файл под именем TABDELIM.TXT. Запустите приложение Excel и выполните команду Файл Открыть . >
Rнanuз uнформацuu с помощью баз даннын 4. 5. 6. В диалоговом окне Открытие документа выберите из списка Тип фай­ лов пункт Все файлы. Выберите файл TABDELIM.TXT и щелкните на кнопке Открыть. Во втором окне мастера импортирования установите флажок символ табуляции и щелкните на кнопке Далее. 7. В третьем диалоговом окне согласитесь с предrюженным по умолча­ нию для ячеек форматом Общий и щелкните на кнопке Готов_о. Результат преобразования показан на рис. 5.7. Приложив совсем не­ много усилий, можно создать таблицу, показанную на рис. 5.8. Согласи­ тесь, что по сравнению с исходным файлом, эта таблица выглядИт на­ много красивее. Зазор возникновения иснры (см) Диаметр электрода (см) --~------- 25 5 _____________________ _..._ 5 10 15 20 25 30 35 40 45 Рис. 5.7. 0.13 о 27 0.42 058 0.76 0.95 1.17 1.4, 1.68 10 20 0.15 0.29 0.44 0.6 0.77 0.94 0.15 0.3 0.46 0.62 0.78 0.16 0.32 0.48 1.12 1.12 1.29 0.95. Импортированные в 0.64 0.81 0.98 115. 132 1.49 Excel данные Импортирование табличных данных Даже если значения упорядочены в столбцы, разделенные различным количеством пробелов, все равно существует возможность корректно им­ портировать их в Excel. Многие приложения DOS создают табличные данные, используя для этого моноширинные шрифты. Импортирование файлов подобного типа невозможно без синтаксического анализа, кото­ рый представляет собой метод преобразования столбцов данных задан­ ной ширины в столбцы рабочего листа. Для выполнения синтаксиче­ ского анализа необходимо либо выбрать в первом оiсне мастера импорти­ рования переключатель фиксированной ширины, либо выполнить команду Данные~ Текст по столбцам. Результаты синтаксического анализа будут некорректными в том случае, если шрифт файла не является моноши­ ринным.
fji:I Гnава 5 Заэор возкикновениfl искрь1 ( см ) 5 10 15 20 25 зо 35 2.5 0.13 0 .27 0 .4 2 0 .58 0 .76 0.95 1.17 40 10 0.15 0.3 0 .46 5 0.15 0 29 0.44 06 о 077 0.94 1.12 1.3 1.49 1.5 Рис. 5.8. 62 0.78 0.95 1.12 1.29 20 0 .16 0 .32 0.48 о &4 0.81 0.98 1 15 1.32 Отформатированная таблица с данными о возникновении искры ~ Примечание Моноширинным называется шрифт с символами равной ширины. Боль­ шая часть компьютеров, которые функционируют в текстовом режиме, используют для выравнивания символов по вертикали растровые моно­ ширинные шрифты. В операционной системе Windows большая часть шрифтов не является моноширинными . Это значит, что ширина букв мо- , жет гiропорционально изменяться (наглядным примером сказанному слу­ жит текст этой книги ~буква И занимает меньше места, чем буква- Ш). Если же заrрузить текстовый файл в за, его строки будут полностью Excel без синтаксического анали­ помещены в ячейки единственного столбца А и распознаны как текст. ' Предупреждение Имейте в виду, что простые текстовые файлы создаются редакторами, которые явно обозначают конец каждой строки. Более интеллектуальные редакторы рассматривают абзац как одну длинную строку с единствен­ ным символом возврата каретки в конце . После импортирования такого файла в Excel весь абзац (но не более 255 символов) помещается в одну ячейку. Кроме того, современные редакторы вставляют в файл скрытые символы форматирования, что таюке отрицательно сказывается на ре­ зультатах импортирования . Перед импортированием файла в Excel, за­ грузите его в обычный текстовый редактор, удалите все ненужные симво­ лы и самостоятельно установите символы конца строки (с помощью клавиши <Enter>). Сохраненный после таких манипуляций файл будет корректно импортирован в Excel.
Нналuз uнформацuu с помощью баз даннын Элементарные частнць1 На рис. 5.9 представлена таблица элементарных частиц и некоторых их свойств. Таблица довольно сложная и содержит смесь из текста и чи­ словых значений различного формата. Эnенентарнь~ частиц...; тексто8111Й ••Йn дnА ннnортнрования Семейство Частица Масса Сnин Активность Заряд Время жи3ни (с) Эnектроны Фотон в 1 в Бесконечность Эnектрон 1 -е Бесконечность Нейтрино в 1/2 0.5 е Бесконечность 2GG. П е.5 -t.6e-IЗ 0.5 + G 273. 2 Пион в 2GI!. 2 е е (:) + ЗGG. 6 е +1 Каон е 971!.е е 1 В Протон 1~36.12 .5 о 1 .Sе-1З Нейтрон 1838.65 е.5 2182.8 G.5 G.5 2327.7 е е ннз -1 -1 е 2.5111-10 1.se-19 в.111-11 231.fB.5 2332 е.5 -1 -1.6е-19 1 .s11-1e е.5 -1 2580 е.5 2570 е.5 -2 -2 Мюон Нейтрино nнон Н830НЫ К11он Б11рионы nянбда Сигно + Сигно - Сиrна е Xi Xi е ~; .. Рис. '.',' , ,· ...... в .~. , , . . .. · .. ,.:,:,:.. · 2.212е-6 В +1 Бесконечность 2.S5e-8 .6е-19 е 1.9е-16 1 .Se-19 1 .22е-8 1.EHJe-10 Бесконечность в 1е-20 -1.611-19 1 .311-10 111-10 е ".. ' ,, ,, ,; ~: ..• .. 5.9. Характеристики элементарных частиц (текстовый файл создан в приложении Блокнот) Чтобы выполнить синтаксический анализ текстового файла, в первом диалоговом окне мастера импортирования выберите переключатель фик­ сированной ширины. Можно поступить иначе - сначала импортировать файл как текст (в результате он расположится в столбце А), а потом применить команду Данные~ Текст по столбцам. С помощью приложения Блокнот (или Teach ный на рис. 1. 5.9 Text) создайте показан­ TABULAR.TXT. Excel. В первом диалого­ файл. Сохраните его под именем Откройте файл TABULAR.TXT в приложении вом окне мастера импортирования установите флажок фиксированной ширины и щелкните на кнопке Далее. 2. Во втором окне мастера импортирования задайте ширину полей для разбиения текста на столбцы (рис. 5.10). Щелкните на кнопке Далее. В третьем диалоговом окне мастера имлортирования (рис. 5.11) вам будет предложено задать формат для каждого преобразуемого столбца данных. Согласитесь с предложенным по умолчанию форматом Общий и щелкните на кнопке Готово.
Гnава Рис. 5.10. S Для имnортирования текста задайте соответствующую ширину столбцов ~JJримечани.е . Приложение Excel самостоятельно располагает линии со стрелками, ко­ торые обозначают концы строк. Для создания новой линии щелкните в необходимой позиции линейки . Двойной щелчок на линии nриведет к ее удалению. Чтобь~ переместить конец ~ки, укажите на него и перетащите. Рис. 5.11. Выберите для каждого столбца необходимый формат данных
Rнanuз uнформацuu с помощью баз даннын В новом рабочем листе расширьте столбец А таким образом, чтобы преобразованный.текст поместился в нег.о полностью. Предстаменный на рис. вполне удометворительным 5.12. результат преобразования можно считать - данные упорядочены по столбцам, ну а с необходимостью редактирования текста придется смириться. Обратите внимание на то обстоятельство, что числа в ячейках 04 и 05 были ин­ терпретированы Excel как даты, а величина-ев ячейке F5 вообще не бы­ ла распознана. llliuйL~{illAifi~l~[~~jjl[~!lliШtik1nPJi:iliirt.:::lliiPl;J_;ШfЛJ;):dli:JiliШ±!!!f.: 0 '\'';~.,tiJ!~,~i;h;jjj вый фай л для 11 мnортироtв EXCEL 'ill!,:i! Элеменrа част11цы ; текст о · Семейств Частица Масса Рис. 3. 5.12. Сnин Импортированные в Активно Excel Измените содержимое ячейки сть Зар~ Время жизни (с) табличные данные 04 на 1 (05 на 0.5) и примените к ячейкам формат Общий. 4. 5. Измените содержимое ячейки F5 на -1.6Е-19. Отредактируйте заголовки столбцов, удалите третью строку, назначьте ячейкам обрамление и О'fКЛ;Ючите линии сетки. Отформатированный подобным образом рабочий лист должен выгля­ деть так, как это показано на рис. 5.13. Расположение данных во мноrом схоже с исходной таблицей, однако, теперь каждое числовое значение занимает отдельную ячейку, будучи тем самым доступным для использо­ вания во всех формулах рабочего листа.
Гnава '! Элемеюарные частицы; ~ Семейство Частиuа 1 текстовый ФаМ для импортироеания в Масса Спин "i Фотон Электрон "., 1 Нейтрино о 'iЭлектроны Мюоны о Мюон 20677 о Нейтрино Мезоны ПиОli • i Xi - 273.2 264.2 966.6 974 1336.12 1838.65 2182.8 2327.7 2340.5 2332 2580 :; Х1 О 2570 Пион О " ' кгон + ·.1 1'".эон О '; Барионы Протон ; Нейтрон Лямбда i ·! Сигма• ,; Сигма ·! Сигма О , ;~ - , Активность EXCEL Время жизни (с) ЗаоАD. О Бесконечность о - 1 .60Е-19 Бесконечность 10.5 0.5 0.5 - О Бесконечность -1 бОЕ-19 2. 21Е-06 О Ысконечность о о о о о 1.90Е- 1 6 о 1 1 1 .60Е-19 1.22Е-08 о 1.ООЕ-10 о 1 .60Е-19 Бескокечность о 0.5 0.5 0.5 0.5 0.5 05 05 0.5 1 .60Е-1 9 2.55Е-08 о о 1013 -1 -1 -1 -1 -2 -2 о 2 .51Е-10 1 .бОЕ- 19 8. 1 0Е-11 - 1.60Е-19 1 . 60Е- 10 1) 1.ООЕ-20 - 1 . бОЕ-19 1 ЗОЕ-10 о 1.ООЕ-10 : ::· :=:: :1:11=,_~~--~-'~~~-"''~~:,;:.:..Li.д~~ш:iliJ·.. · Рис. 5.1 З. 5 ~:...1 .!l[J• Отформатированная таблица с характеристи ками элементарных частиц Импортирование данных с помощью Visual Basic for Applications Visual Basic обладает достаточными фущщиональными возможностя­ ми для огкрытня и чтения как текстовых, так и двоичных файлов. На Visual Basic можно написать спеuиальную программу для чтения файла данных и последуюшего с интаксического анализа. Н апример, следуюшая небольшая процедура считывает файл с характеристиками элементарных частиц и упорядочивает ero дан'/iые по столбцам. Имейте в виду, что данная процедура применима исключительно к уже знакомому файлу элементарных частиц. Процедура будет в состоянии анализировать дру­ гие файлы только после соответствующих изменений. Option Explicit 1 ' Импортирование характеристи к элементарных частиц 1 Sub lmportPhys() Dim strALine As String Dim intCtr As lnteger Open "tabular.txt" For lnput As #1 Line lnput #1 , strALine Sheets("PartPhys").Range("A1").Value =strALine
Rнanuз uнформацuu с помощью баз данныи ' Обработка заголовков Line lnput #1, strALine Sheets("PartPhys").Range("A2").Value = Mid$(strALine, 1, 12) Sheets("PartPhys").Range("B2").Value = Mid$(strALine, 13, 8) Sheets("PartPhys").Range("C2").Value = Mid$(strALine, 21, 8) Sheets("PartPhys").Range("D2").Value Mid$(strALine. 29, 5) Sheets("PartPhys").Range("E2").Value Mid$(strALine, 34, 9) Sheets("PartPhys").Range("F2").Value = Mid$(strALine, 43, 11) Sheets("PartPhys").Range("G2").Value Mid$(strALine, 54, 99) ' Считать все символы слева от текущей позиции. Line lnput #1, strALine ' Пропустить линию - - • Имnортирование собственно таблицы. For intCtr = 1 То 17 Line lnput #1, strALine Sheets("PartPhys").Cells(intCtr + 2, 1).Value = Mid$(strALine, 1, 12) Sheets("PartPhys").Cells(intCtr + 2, 2).Value = Mid$(strALine, 13, 8) Sheets("PartPhys").Cells(intCtr + 2, 3).Value = Mid$(strALine, 21, 8) Sheets("PartPhys").Celis{intCtr + 2, 4).Value Mid$(strALine, 29, 5) Sheets("PartPhys").Cells(intCtr + 2, 5).Value Mid$(strALine, 34, 9) Sheets("PartPhys").Cells(intCtr + 2, 6).Value Mid$(strALine, 43, 11) Sheets("PartPhys").Cells(intCtr + 2, 7).Value Mid$(strALine, 54, 99) ' Считать все символы слева от текущей позиции. Next intCtr Close#1 Sheets("PartPhys").Activate ' Все последующие выражения были записаны как макрос ' и отредактированы. Columns("G:G").ColumnWidth = 9.57 = = = = = = = Range("BЗ:B19").Select Selection.HorizontalAJignment = xlRight Range("A5").Select Selection.HorizontalAlignment = xlRight Range("A7").Select Se1ection.Horizonta1Alignment = xlRight Range("C2:G2").Select Selection.HolizontalAlignment = xlCenter Range{"F4"). Select ActiveCell. FormulaR 1С1 = "-1.60Е-19" Range(''D4").Select ActiveCell. FormulaR 1С1 = "0.5'' Range("A2:A19").Select Selection. BorderAround Weight:=xJMedium, Colorlndex:=xlAutomatic Range("B2:B 19").Select Selection.BorderAround Weight:=xlMedium, Colorlndex:=xlAutomatic Range("C2:G19"). Select Selection.BorderAround Weight:=xlMedium, Colorlndex:=xlAutomatic
fJll Гnава s Range("A2:G2").Select Selection.BorderAround Weight:=xlMedium, Colorlndex:=xlAutomatic End Sub Для построчного считывания файла в переменную strALine использу­ ется инструкция Line Jnput. Затем с помощью функции Mid$() в считан­ ной строке выделяются логические фрагменты, соответствующие столб­ цам. Часть процедуры, соответствующая форматированию ячеек, была записана как макрос. -.._ Примечание Функция Mld$() извлекает из строки заданное количество символов. В функцию передается три аргумента: собственно строка, подлежащая анализу, позиция символа в строке, с которого начинается необходимая подстрока, и количество возвращаемых символов. Импортирование данных из внешних баз данных Для обращения к данным внешней базы данных можно воспользо­ ваться входящим в комплект поставки Excel приложением Query мя MS Excel 5.0, которое преобразует диапазоны внешних данных из формата Microsoft Excel 97 в формат Microsoft Excel версии 5.0/95, а также позво­ ляет использовать макросы, написанные на Visual Basic мя предыдущих версий Microsoft Excel. Кроме того, приложение Query позволяет извлекать данные из баз данных dBase, Access, FoxPro, Paradox, а также взаимодействовать с внешними SQL-серверами, как то Microsoft SQL Server, Oracle и Sybase. Приложение Query посьmает внешней базе данных запрос SQL (Structured Query Laпguage - язык структурированных запросов) и возвращает в Excel необходимые данные. Создание баз данных (и запросов к ним) заслуживает рассмотрения в отдельной книге. Руководство пользователя дит в комплект поставки Excel, Microsoft Query, которое вхо­ освещает основные концепции, но для эффективной работы с приложением я рекомендую приобрести хорошую книгу по базам данных. К счастью, вам не придется составлять выраже­ ния SQL самостоятельно. Графический интерфейс приложения Query по­ зволит как бы "нарисовать" запрос, после чего будут сгенерированы со­ ответствующие инструкции SQL. Прежде чем воспользоваться услугами Query, приложение следует ус­ тановить на машине. Имейте в виду, что это приложение не устанавли­ вается вместе с Excel Microsoft Office или автоматически, поэтому в программе инсталляции Microsoft Excel выберите режим выборочной уста­ новки и установите флажок напротив пункта Доступ к данным. Компо­ ненты доступа к данным включают собственно приложение Q•.iery и драйверы ODBC, необходимые для обращ~ния к различным базам дан­ ных. После завершения процедуры установки откройте панель управле-
nнanuз uнформацuu с помощью баз даннын ния и шелкните дважды на ликтоrрамме 32-Ьit ODBC. В открывшемся диалоговом окне зарегистрируйте подцерживаемые форматы баз данных. Выводимые в окне подсказки помогуг справиться с этой несложной за­ дачей. Query может быть запущено как отдельное приложение или же как надстройка Excel. Чтобы зарегистрировать приложение Query в качестве надстройки Excel, выполните команду Сервис Надстройки и установите >- флажок напротив пункта Надстройка Query для MS Excel 5.0. В результате в меню Данные появится новая команда Внешние данные. Теперь можно будет с помощью графического интерфейса приложе­ ния Query составлять запросы SQL и передавать их внешним базам дан­ ных. После обработки запроса база данных возвращает необходимые данные. Накопленные таким образом в портируются в Excel. Query данные автоматически им­ Составление запроса к базе данных Борей Будет логично проиллюстрировать процедуру составления запросов на примере базы данных Борей, которая входит в комплект поставки Microsoft Access. 1. Выполните команду Сервис >- Надстройки жок напротив пункта Надстройка ANlp~ TooPalt 1 Г са\С AdO-ln ··· rдетосо~ i Р· маст и установите напротив фла­ Query для MS Excel 5.0 (рис. 5.14). 118А я ·' " ;~ r:1wЧМiiWw+--:· Г обнов.- сзяэей ·:, !· Г Пilto!т iН"11Са ' ' " l'Ь<< pewe<WI Г:~ для wаб,.,..,. Рис. 2. 3. 4. 5.14. Зарегистрируйте MS Query в качестве надстройки Excel Перейдите на пустой рабочий лист и переименуйте его в Рис. Выполните команду Данные 5.23. >- Внешние даннь1е >- Создать запрос. В появившемся диалоговом окне Выбор источника данных (рис. выберите пункт MS Access 97 Database {not 5.15) sharaЫe) и щелкните на кнопке ОК. Вашему вниманию будет представлено изображенное на рис. 5.16 диалоговое окно Select Database, предлагающее выбрать базу данных для составления запроса. Выберите файл Борей.mdЬ и щелк­ ните на кнопке ОК.
fjtfj Рис. Глава 5.15. 5 Выберите тип базы данных, к которой предполагается составить запрос ЕЗ s"1"ct Dat!lbnse ~;б~~~~E1(;!:'k'ii ;i'';/'· :~~~~Г "· : · ·. Г :ос ; ijб~P,"" rndb····· :: ~!~Fii~s\&.\~le&·. certcel /Т o;.jc\ · · ·_J Progrern Files :. Зо~аэы mdb ;) Peшeни~.mdti :,::S ;;::,~!!11! <:З Office_97 ';]j Office т 1 ,,1,, r~&o/: ~S=ples .. ~ '~-=: ~ jtj~~~~;:i',i.·i·./!. \~··:!' ,:·~i!Y~:J;,,,··•Ш·.·· EJ/!J ··Г'~;;;;;;· .1.с··.:· ; > -.-~ -~;: . . ... !!Jдссш Oat~bese~ (".mdb ~с sy>tem_,dis~ ~i;~~;::~:~~t;~);::;;; :;~;~:;~j~i.~.': ::·.: ::.::~; ... :. ~:~: ..:~~ .. Рис. 5.16. ..... Выберите файл базы данных Примечание Учебная база данных "Борей", которая входит в комплект поставки Micro-' soft Office, Professional Edition и Microsoft Access, позволяет "почувствовать" различные компоненты базы данных (таблицы, запросы, формы, отчеты, макросы и модули), облегчая одновременно освоение концепций построения реляционных баз данных и принципов взаимодей­ ствия их объектов, наглядно иллюстрируя процессы ввода, хранения и печати данных, а также манипулирования ими. По умолчанию база данных будет записана в папку С:\Ргоgгаm Files\Мicrosoft Office\Office\Samples. Если вам не удалось обнаружить базу данных в указанной папке, воспользуйтесь стандартными средствами по­ иска файлов в ской) версией lNWind80). Windows. Если вы Office или Excel, пользуетесь нелокализованной (англий­ база данных будет называться NWind
nнanuз uнформацuu с помощью баз даннын П осле выполнения перечисленных действий будет зап ущен мастер Создание запроса, первое диалоговое OIOiO которого показано на рис . 5. 17. ~~: " , Сведения о эокаэох ;г_: ::~; Сотру.аниkk .:т ~·~ CnИCQK име.:)ЩИХСR -ТОGарОа ·:;; "' Счете .,,. '*· тип" ;: :+ Dl!llll i:i:~ ~~= Totic.pl:)I с ценой Qtмwe средней Щ;ц~~:~flii~~·d~N~iШN!··· Рис. 5. 5.17. Мастер Соэдание запроса Вам предлагается выбрать столбцы данны х для вкл ючения в запрос . Выделяя названия необходимых таблиц и столбцов в левом списке и щелкая на кнопке >, сформируйте в правом списке перечень ин тере­ сующих вас столбцов . Для наглядности я предлагаю вам выбрать все столбцы таблиu Поставщики, Заказы, Сведения о заказах и Товары. Щелкните на кнопке Далее. Рис. 6. 5.18. Определение критериев отбора данных Теперь следует сформулировать правило отбора записей мя имп орти­ рования в Excel (см. рис. 5.18). Щелкните на н азвании того столбца, на данные которого следует н аложить условие. В группе элементов
fji:I Гnава 5 управления Возвращать только записи, удовл~творяющие условиям за­ дайте критерии отбора данных для запроса. Условие отбора можно наложить на несколько столбцов, названия которых в результате будут выделены жирным шрифтом. Предположим , что нам необходимо им­ портировать в 7. Excel из базы данных записи всех заказов товаров по России, сделанных после 15 мая 1996 года. В следующих диалоговых окнах, показанных на рис. 5.19 и 5.20, вам будет предложено задать критерии сортировки отобранных данных и определ ить необходимость просмотра и редактирования запроса в ок­ не приложения Рис. 5.19. Выбор Рис. 5.20. Query. порядка сортировки Последнее окно мастера создания запроса
nнanuз uнформацuu с помощью баз даннын 8. В последнем диалоговом окне мастера Создание запроса выберите пе­ реключатель Просмотр и изменение данных в Microsoft Query и щелкни­ те на кнопке Готово. В результате вы попадете в окно приложения Query (рис. 5.21). :k::oli ЩiJiji;i;я~k .. '<,•;:;цlil!Xti\:lcтli>ioo '" '·о-' "· 'Веронике. Kynpoвueee. М~неа.же.р по закуnк.аr-' 6ольшео Саао_~~~ .,_", 0 АО Г ермани<>-Россия . Петр Морrунов АО Г ермани~-РОСD1Я Петр Mopr)IНCB мемеажер no nромж111 Теерс<м 5 Мене.4,жер по np::н:~o»:.:'lt Тввр&а.!=!: 5 Ме~еажер по npD:la-'iu ТБерс<е~> 5 .АО г ермени<>-Роа:и~~ : Петр морrу><ое .АО Г ермани<>-Россио. , Петр моргунов :АО Г ермани<>-Росси•" j ПетрМорrунов ·ООО Эк:sоти~о:а Менеожер по nроае.же.>Тверс;хе.я 5 . Ме><еажср по npone.ж~ Тверс'м 5 no эахуnк1:1JУ: Бc.ntiwo.~ Ce.aosag ул. 1~ .: . Мен.е11жер по npone.ж е.1 Теер~~м 5 !i' Верони11:е. Куnрi=!вцеве. МР.не.о.·•ер ' :~!i' .Н . . . . . . "-О Г_врмани.,.Роа:ия". Jlвтр морГ)'>!ов .''~"·;~~-·{:·= • ' '._, . .' '. '>·:> :-·."." ' ~' .. ?J; 'iti/.ИC .. J!~!IW#iil~P.~~Ф~iic!~~~o:_, ···~·::;:г:ш?Р~~с~шщ;;;~~тm;m~"~:i'~ш ;·с :;..o!:Hff~~~·U~<:::t:i.~~i.~;:~E!:~~~i·тjЫ~i~<JHi~~~~?~iiiiЗfH~:~·щ.шr~~?~/:·:<~:::.~:.:,- -~~".:;~;:1~;;;~~;" Рис. 5.21. Окно Query с таблицами базы данных "Борей" Все выбранные при составлении запроса таблицы фигурируют в верх­ ней части окна приложения в виде списков с названиями столбцов. Ме­ жду элементами таблиц проведены линии со стрелками, символизирую­ щие соединения (joins) между ними. Ниже расположены область критерия отбора и собственно отобранные данные. _-._ Примечание Соединения наглядно иллюстрируют взаимоотношения между компонен­ тами реляционных баз данных. Наиболее распространенными являются внутренние (inner) соединения, которые определяют тот факт, что только выбранные из таблицы записи соответствуют значениям "соединенных" компонентов. llm ~ Ш1 . ' Если кнопка Автоматический режим нажата, результаты запроса будут сразу же Query. В отображены противном случае в нижней для части вывода окна приложения результатов запроса придется щелкнуть на кнопке Выполнить запрос. Все столбцы с
·. ~. 1.;1~1 Глава 5 данными, необходимости в которых нет, рекомендуется удалить. В на­ шем случае я посоветую оставить только столбuы Название, Страна, Да­ таРазмещения, НазваниеПолучателя и СтранаПолучателя. 9. J;~~.~J Шелкните на кнопке SQL ДllЯ того, чтобы ознакоми:ься с •>'"·' текстом созданного на языке SQL запроса к внешнеи базе данных (см. рис. 5.22). ~·;' ;; SELECТ Пост1>&шики.Назв~ие. Пос-rоешики Стр~<>. ::. За~~эы.J]атаРе.змещеwиа. 3._,k'aэыHt.1зeeнi..1eПcrryчt1тP.nQ " Эа•аэ1:>1.Стран...Полущ1теля :; FROM 'C:\Ptogгam Files\Office_97\0ffica\Sвmples\Бopeй· Зо""""' •· •Заказ". 'C:\Program Files\0ffice_97\0fke\Samples\Бope'1· Постаеwи•и ПостаеW1:1ки. 'C:\Program Files\0ftice_97\0ft1ce\S~ples\Бopeй'.'CeeдeниR о заказ~· 'Свеnени~ о з~аз-ах', 'C:\PrQgram F11es\Otfice_97\0ffice\S<>mples\Бop ей· То""'"" Та вар" ERE Зака:эь~.Кс:1йЗа1<а3е. - Рис. 5.22. '·СвеаениQ о эаказФ·.коаЭакоэ~ Текст запроса SQL Запрос SQL состоит из нескольких выражений, каждое из которых начинается с ключевого слова. Блок выражений SELECT определяет пе­ речень столбцов с информативными данными. Фрагмент FROM перечис­ ляет таблицы, которым принадлежат информативные столбцы. В блоке WHERE 1О. формулируется критерий отбора данных. В случае необходимости с помощью команды Файл ~ Сохранить за­ прос определение запроса можно сохранить, что позволит впоследст­ вии выполнять его повторно или редактировать. Чтобы импортиро­ вать отобранные данные в приложение-клиент (Ехсе!), команду Файл~ Вернуть данные в логовом окне Возврат данных в Microsoft Excel. Microsoft Excel выполните В появившемся диа­ задайте ячейку ДllЯ вставки столбцов и щелкнин~ на кнош<.е ОК. Рабочий лист должен выглядеть так, как это показано на рис. 5.23. Хранение данных· и манипуляции с ними Любой диапазон ячеек Excel может быть использован в качестве базы данных. Тоrда кажды:й столбец диапазона считается полем, которое мо­ жет содержать строку длиной до 255 символов, числовое значение или формулу. Соответственно, каждая строка диапазона будет с•штаться за­ писью базы данных. Записи содержат взаимосвязанные данные. Напри­ мер, измеряемые в отдельном эксперименте значения могут быть сохра­ нены в одной записи. Каждое поле содержит значение соответствующего параметра (как то давления или напряжения), измеряемого в нескольких экспериментах.
Анаnuз uнформацuu с помощью Баз даннык . :.:.x::::пu;:::: .:i~Ji:O:L:U~:~Шii~LL;,;j.;j;::i1g~iJE';::.:··,j ~iiii]~;;;::ш:o•.Z::i:Jl~Ш!'!fПJif)i;>:Ш:LШ.::· . ,, ::~;~,; на~аание Страна ДатаРа3мещения Н13ааниеПолучателя Ъii) ООО :Экзотика Россия •:3::;до Германия-Россия Россия ~~.]~АО Германия-Россия Россия ;~::;до ГерманиА-Россия Россия :;'?':.,; до Германия-Россия Россия 1.7/iAO ГерманиR-Россия Россия fii'Чooo Экзотика Россия -~~-~~ •l~blAO Германия-Россия Россия ;~~-1 ООО Экзотика . Россия .:.ЕЬАО ГерманиR-Росс11я Россия :12::до Германия-Россия Росси>~ •j~·1oo() Эк:ютика Росёия )~::ооо Экзотика Россия •,J~:.Ao Герман11я-Россия Россия :1·5::до Германия-Россия Россия 17105/96 00 00 17/05/96 00 00 20/05/96 00 00 22/05/96 00 00 23/05/96 00 00 24/05196 00 00 27/05/96 оо оо 29/05/96 00 00 04/06/96 00 00 04i06i96 00 00 04/06/96 00 00 05/06/96 00 00 05/06196 00 00 05106196 00 00 05/05/96 00 00 Гf'{ ~,1~io1"~~~s_2Э1l~-~l!!iiiiiil:' :;:п Рис. 5.23. ··· < Save-e-lot Marкets Save-э-lot t-Aarkets DrachenЫul Delikatessen SJ:Jecial1tes du monde О1е Wandemde Kuh СтранаПолучателя СШ/:\ США Германия Франция Германия Gourmet lanchonetes Браз11J111F1 P1ccolo und mehr Австрия Ricardo Adocicados Бразилия Ernst Handel . Австрия LilA·Supermercado Венесуэт 1~ Pericles Comidas clasicas .Мексика Rattlesnake Сапуоп Grocery США Rattlesnake Canyon Grocery США Rattlesnake Canyon Grocery США Rattlesnake Canyon Grocery США :·· ·.·: :•: ·:' : ; :;::. ·. :::J1E.:.~""'".;;~·:,,•_,Jo:'i"iE.c::;,:~ Записи внешней базы данных, импортированные в Excel Формат базы данных во многом напоминает таблицу исходных дан­ ных. Однако, для обращения к информации базы данных приложение Excel предоставляет специальные команды и методы. Создание диапазона базы данных Первая запись в диапазоне базы данных содержит названия полей, роль которых во многом сходна с ролью заголовков столбцов рабочего листа. Названия полей должны быть простыми и описательными, при этом они не могуг состоять более чем из одной строки и быть отделены от остальных записей базы данных несколькими пустыми записями или строками. Собственно записи базы данных располагаются под названия­ ми полей . ..... Примечание Рекомендуется использовать в качестве названий полей одно слово иnи' несколько слов, написанных слитно. В противном случае для обращения к значениям полей из формул или программ Visual Basic for Applications · их названия приходится заключать в кавычки. Использование команд баз данных Для поиска и манипуляций с записями баз данных предназначены пять команд меню Данные.
'**' • Гnава 5 Команда Фильтр > Автофильтр отбирает записи, которые соответст­ вуют определенному значению. • Команда Фильтр > Отобразить все отображает все существующие за­ писи, скрытые после применения команды Фильтр> Автофильтр. • • • Команда Фильтр > Расширенный фильтр позволяет составить слож­ ный критерий для выбора записей из базы данных. Команда Форма позволяет просмотреть или отредактировать записи базы данных в режиме формы. Команда Сортировка предназначена для упорядочения строк базы данных в соответствии с заданным критерием. Использование форм данных Простейшим способом обращения к базе данных Excel можно считать команду Данные Форма. Используя названия полей из первой строки > диапазона базы данных, приложение Excel конструирует форму с соот­ ветствующими полями . Форма данны х содержит элементы управления (кнопки) щ1я добавления и удаления записей, создания критерия, а так­ же запуска процедуры поиска необходимой базы данных. Чтобы открыть форму, щелкните на одной из ячеек диапазона базы данных и выполните команду Данные> Форма. В результате появится показанное на рис. 5.24 диалоговое окно. Набор отображаемых в диалоговом окне полей зависит от используемой базы данных. Рис. 5.24. Форма данных Команда Данные> Фильтр> Автофильтр Эта команда вставля.ет в верхнюю часть каждого столбца (поля) рас­ крывающийся список со всеми значениями, принадЛежащими данному столбцу. Выбор одного из перечисленных значений приводит к тому, что
Rнanuз uнформацuu с помощью баз данныи будут отображены только те записи базы данных, соответствующие поля которых равны выбранному значению. После применения автофильтра стрелка раскрытия списка существующих значений и номера строк изме­ няют свой цвет. Дальнейший выбор значений из списка приводит к по­ следующему ограничению отображаемых записей базы данных. Выбрав из списка значение Условие, можно будет задать критерий для отбора из базы данных диапазона записей. Чтобы снять наложенные условия фильтрации, выберите из списка пункт Все. Отключить автофильтр мож­ но путем повторного выполнения команды Данные > Фильтр > Авто­ фильтр. Команда Данные> Фильтр> Отобразить все Эта команда предназначена для отображения всех строк списка, к ко­ торому уже был применен автофильтр. Команда становится доступной после выполнения одной из других двух команд меню Фильтр, которые уменьшают количество видимых записей базы данных. В результате вы­ полнения команды отключаются все активизированные условия отбора записей. Команда Данные> Фильтр> Расширенный фильтр По сравнению с рассмотренным выше автофильтром, расширенный фильтр позволяет задать более сложный критерий отбора записей. Диа­ пазон ячеек, соответствующий условию фильтрации, следует указать в поле Диапазон условий появляющегося в результате выполнения команды диалогового окна (см. рис. 5.25). Отфильтрованные ячейки можно оста­ вить на месте или скопировать в указанный диапазон. Рис. 5.25. Диалоговое окно Расширенный фильтр Определение диапазона условий Чтобы корректно определить расширенный фильтр, необходимо за­ дать диапазон условий. Этот диапазон состоит из копии первой записи базы данных, которая содержит названия полей, и нескольких строк для составления критерия поиска. В качестве критерия выступают текстовые
tfjl или числовые Гаава значения, по которым и ведется поиск, или 5 логические выражения мя поиска диапазонов значений. Определение критериев для каждого поля в значительной степени ограничивает количество возвра­ щаемых записей. Считается , что наложенные на одну строку критерии объединены с помощью оператора логической операции AND. Критерии, наложенные на различные строки, объединяются с помощью оператора логической операции OR. При составлении критериев поиска щ> текстовым значениям допуска­ ется использовать два шаблонных символа: ? и *. Знак вопроса соответ­ ствует одному произвольному символу. Например, критерию С?Т будуг соответствовать значения САТ, СОТ и CUT. Звездочка соответствует про­ извол ьном у количеству символов. Например , критерию С* будут соответ­ ствовать слова стол , строка и сорока. Определение диапазона вывода Если предполагается не просто отфильтровать базу данных, а еще и извлечь из нее некоторые записи. необходимо задать диапазон вывода. В диапазон вывода в обязательном порядке входит копия первой строки базы данных с названиями полей. Однако. диапазон вывода может со­ держать только выбранные поля, а не все существующие в базе данных. Диапазон вывода может состоять из од.Ной или нескольких строк. Ес­ ли в диапазон вывода входит единственная строка с названиями полей, приложение Excel очистит перед заполнением все расположенные ниже ячейки. Все содержащиеся в них данные будут потеряны. Если был задан диапазон вывода из нескольких строк, любая попытка записи отфильтро­ ванных данных за ero пределы приведет к возникновению ошибки. Оп­ ределение многострочных диапазонов вывода позвоJJяет избежать слу­ чайного удаления важной информации, однако целесообразнее всеrо бу­ дет копировать данные в пустую область рабочеrо листа. Сортировка списка Команда Данные >- Сортировка позволяет отсортт..~ровать выделенный диапазон по значениям одного или нескольких столбцов. В случае сор­ тировки базы данных первую строку с названиями полей не стоит вклю­ чать в диапазон выделения. Показанное на рис. 5:26 диалоговое окно Сортировка диапазона позволяет вести сорrnровку сразу по трем столб­ uам. Выберите столбцы для сортировки и укажите для каждого из них ре­ жим сортировки (по возрастанию или по убыванию). В случае сортиров­ ки базы данных столбцы будут фигурировать под названием поля, кото­ рому они соответствуют. При сортировке обычного списка для иденти ­ фикации столбцов будут использоваться их стандартные обозначения (А, В и т.д . ) .
Анаnuз uнформацuu с помощью баз данным Рис. 5.26. .... Диалоговое окно Сортировка диапазона Примечание В случае определения нескольких <;rолбцов для сортирQВКИ, список будет· отсортирован сначала по третьему столбцу, затем по второму и лишь за-. тем по первому. В результате записи, значения которых в первом столбце совпадают, будут упорядочены в соответствии со вторым заданным кри-, терием сортировки. Соответственно, записи, значения которых в первом и втором столбце совпадают, будут упорядочены по третьему заданному критерию сортировки. Функции для работы с базами данных Перечисленные в табл. 1.1 О статистические функции практически идентичны обычным функ;циям, однако предназначены для выполнения стаruстических вычислений не со всем списком, а только над теми запи­ сями базы данных, которые соответствуют определенному критерию. С их помощью можно вычислить среднее значение или отклонение данных по тем записям, которые имеют общие свойства. Каждой функции для работы с базами данных передается три аргу­ мента: база_данных, критерий и поле. С помощью аргумента база_данны.х в функцию передается диапазон ячеек, подлежащих обработке. Аргумент критерий соответствует ссылке на диапазон условий, аргумент поле иден­ тифицирует поле базы данных, с которым предполагается проводить вы­ числения. Для обозначения поля можно использовать как текстовое на­ звание из первой строки базы данных, так и номер столбца в базе дан­ ных.
Гnава 5 Обезвоживание борзых перед бегвми Джулию (Julie), которая просматривала текст этой книги, возмутило отсутствие биологических примеров. Будучи по образованию ветерина­ ром, Джулия больше интересовалась котами и собаками, нежели компь­ ютерами и полупроводИиковыми приборами. Мне пришлось призн ать , что я увлекся сложными инженерными и научными примерами, совер­ шенно забыв о чем-то более приземленном. Н е желая обходить внимани­ ем ни одну из наук (н пытаясь сохраннть мир в доме), я попросил ее найти хороший пример , на котором можно было бы продемонстрировать различные манипуляции с базой данных. Моя жена позвонила своей подруге, кандидату наук Линде Блай (Liпda Blythe, DVM, Ph.D.) из кол­ леджа ветеринарной медицины при университете Орегона в Корваллисе Mediciпe at Orego11 State U11iversity in Corvallis, Oreмоем почтовом ящи ке оказался конверт с результа­ собачьих забегов. Бега борзых??? Да, естественные науки по­ (College of Veterinary gon). Через неделю в тами 2552 вернулись ко мне весьма интересной стороной. Доктор Блай и ее коллега, доктор Дональд Хансен (Doпald Haпsen), исследовали проблему потери веса у борзых собак перед забегом . Суть проблемы состоит в. том, что непосредственн о перед забегом собак по­ мещают в специальное помещение с кондиционером (так называемый "gi1111y pit''). Ожидающие старта собаки теряют до нескольких процентов веса, причем это происходит толь ко за счет слюновыделения и дыхания, поскольку собаки обучены не отправлять естественные надобности в клетках. -..__ Примечание Через несколько лет после того, как доктор Блай любезно предоставила мне данные о борзых собаках, она получила от принца Чарльза награду за "большой международный вклад в организацию собачьих бегов". Эта первая и единственная в своем роде награда была присуждена Мировой организацией собачьих бегов (World Greyhound Racing Federation) за ее работы в области физиологии и рационального питания борзых, генетики, заболеваний и, естественно , проблемы потери веса перед забегом. (JAVMA, Vol. 197, No. 12, Dec.15, 1990, р. 1563) Собаки взвешивались перед помещением в комнату и непосредствен­ но п еред забегом (с тем, чтобы убедиться в нормальном физическом со­ стоянии собаки). Если собака теряла более трех фунтов веса, к забегу она допускалась только после осмотра ветеринаром. Потеря организмом со­ баки чрезмерного количества жидкости может вызвать нарушение ки­ слотно-шелочного баланса, следствием которого может оказаться недос­ таточная способность собаки усваивать столь необходимые ионы кисло ­ рода.
Анаnuз uнформацuu с помощью баз даннык Такая потеря веса может оказаться серьезной проблемой для некото­ рых борзых, что и побудило докторов Блай и Хансен заняться этой про­ блемой. В качестве исходных данных они использовали протоколы забе ­ гов, в которых для каждой собаки указывались ее возраст, пол, вес до и после помещения в комнату с кондиuионером, номер и класс забега, а также показан ные в забеге результаты. Доктор Блай прислала мне данны е о 489 собаках, участвовавших в забегах. Естественно, я не мог привести в книге все данные , и по­ этому в табл. 5.2 приведены данные о 15 собаках, участвовавших в 100 2552 забегах. Если вам лень набивать все эти данные, для того, чтобы изучить возможные манипуляuии с базой данных достаточно 10-20 записей . Но не удивляйтесь, если в этом случае полученные результаты будут отли­ чаться от приведенны х в книге. Целесообразнее всего экспериментиро­ вать с данными одного из своих проектов. Создание базы данных Прежде всего , следует создать базу данных , с которой мы и будем ра­ бог.~ть. 1. 2. Перейдите на новый рабочий лист и назовите его Рис. 5.27. В ячейке А 1 наберите Потеря веса борзыми собаками перед забегом. Задайте диапазон условий, включающий строку названий полей базы данны х. Коль диапазон условий может быть помещен в любую об­ ласть рабочего листа, расположите его непосредственно на базой дан­ ных. 3. 4. В ячейке АЗ наберите Диапазон условий. В ячейках A4:J4 наберите следующий теkст: Ячейка Содержимое А4 Собака 84 Пол С4 Возраст Забег D4 Е4 Вес...До Вес После F4 G4 СтаТус...до Н4 СТатуо_После 14 J4 Класс Потеря_Веса Теперь создайте собственно диапаз он базы данных. должна содержать названия полей, все последуюшие 5. 6. - Перв,ая строка данны е. В ячейке А14 наберите База данных. Выберите ячейки A4:J4. Поместите указатель мыши на rраниuу выде­ ленного диапазона и , удерживая клавишу <Ctrl> (<Cmd> на платфор­ мах Macintosh), переташнте копию названий полей в ячейки A15:J15 (для выполнения подобной операции в предыдуших верси$JХ Excel не­ обходимо воспользоваться командами Копировать и Вставить).
f fJ:J Гпава 5 7. Столбеu J должен содержать сведения о потере веса. В ячейке J16 на­ берите формулу =(E16-F16)/E16, скопируйте ее в ячейку J17 и на­ значьте формат Процентнь1й с двумя десятичными знаками после за­ пятой. 8. В ячейках А16:1115 наберите 9. Отключите линии сетки. 1О. Сохраните рабочую книгу. данные rабл. 5.2. Рабочий лист должен выглядеть так, как это показано на рис. 5.27. Потеря веса борзыми собаками перед забегом. диапазон условиА Собака Поп Возраст Забег BecJ]o Вес_Посnе Статус_до Статус_Посnе Knacc Потеря_Веса ,_,_::; .. ~ ~~ База nанных Собака Пол 11 6 Рис. ..: Возраст Забег Вес_до Вес_После СтатусJ]о Статус_После Класс Потеря_Веса 1 21 47 11 9 Таблица Собака Поп* Воэ· 1 о 2 2 2 2 2 о о о 29 о о о о о б7 1 1 3 1 1 .87% 1.72% ., . , ·; Данные об обезвоживании организма борзых перед забегом: соотношение потерянный вес/место в забеrе Эабеr Вес д1J эабеrа (мес.) 58 58 58 58 58 58 29 29 29 29 о Б8 2 4 об обезвоживании организма борзых перед забегом 5.2. раст о б2.Б .:_:~;_---~·~·- ·,:.,._~":J'~.:ц.!,#.!i~:::;\J~j'P'"·1;;,;,1·'~~~:-::;;;;:}::::.'::~:~::~::>:.•:•.:::~f.!1: 5.27. Данные 1 1 1 1 1 БЗ.б (фунты) 7 9 6 2 6 8 9 9 12 6 6 70.5 70.5 71 72 72 72.5 ·67 67.5 68 68.5 68.5 Вес nocne эабеrа Статус рр Ст~ nocne Класс Потерt~ забеrа забеrа забеrа** веса (фунtы) 9 8 5 1 2 8 6 4 1 6 7 68 2 6 2 5 2 1 6 1 5 5 68 2 6 69.5 69.5 70 71.5 71 72 67 66.5 67.5 5 2 2 3 1 2 1.42% 1.42% 1.41% 0.69% 1.39% 0.69% 0.00% 1.48% 0.74% 0.73% 0.73%
Анаnuз uнформацuu с помощью liaз данныи Собака Поп• 803· раст Забеr Вес рр забеrа (фунты) (мес.) 2· о 2 о з 1 1 1 з 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 о о о о о о о о о о о о о о 1 1 1 1 о .О о о о о 29 29 40 40 40 40 40 40 40 23 23 23 23 23 23 23 24 24 24 24 24 24 24 47 47 47 47 47 47 47 34 34 34 34 34 34 2 6 6 12 2 2 4 12 2 12 6 2 6 6 9 9 9 9 9 6 2 12 9 9 6 9 9 9 6 12 9 9 9 6 6 12 69 69 64 64 64 64.5 64.5 65 65 76 76.5 . 76.5 76.5 77 77 77 71 71 71.5 71.5 71.5 71.5 72 58 58 58.5 58.5 58.5 59 59 71.5 71.5 71 .5 71 .5 72 72 Вес nocne Стаtуе до Cr.nyc поспе забега забеrа забеrа Класс Потер11 :saбera•• веса (фунты) 68.5 68.5 63.5 62.5 63 64 63.5 63 64 75.5. 75.5 76 75.5 76 76 76 70.5 70 71 71 71 70.5 71 .5 57 57.5 57.5 58 58 58.5 58 71 71 .5 71 71 71.5 71.5 4 7 1 3 4 2 5 2 5 4 8 9 9 8 8 з 7 8 6 5 5 4 4 . 2 6 4 6 8 2 2 5 2 7 1 5 3 6 9 1 6 2 9 8 1 3 5 2 4 6 1 2 1 2 2 3 4 1 3 2 3 4 4 7 3 3 5 9 2 2 1 1 1 1 2 1 1 1 7 1 1 7 1 1 7 1 1 1 1 1 7 7 1 1 7 ' 1 1 7 0.72% 0.72% 0 .78% 2.34% 1.56% 0.78% 1.55% З.08% 1.54% 0 .66% 1.31% 0.65% 1.31% 1.30% 1.30% 1.30% 0.70% 1.41% 0 .70% 0 .70% 0.70% 1.40% 0.69% 1.72% 0 .86% 1.71% 0.85% 0.85% 0.85% 1.69% 0.70% 0.00% 0.70% 0.70% 0 .69% 0.69%
flфi Гnава 803· раст Забеr Вес до :iaбera (мес.) 7 8 8 8 8 о 8 8 8 8 о 9 о 9 о 9 9 9 9 9 о 9 10 10 10 10 10 10 10 о 11 11 11 11 11 11 11 о о о о о о о о о о о о о о о о о о 1 1 1 1 1 1 1 11 ~ 12 12 12 12 о о о о 34 23 23 23 23 23 23 23 23 36 36 36 36 36 36 36 36 26 26 26 26 26 26 26 21 21 21 21 21 21 21 21 28 28 28 28 (фуктw) 9 12 9 11 9 2 9 8 2 12 9 12 2 2 9 12 12 72.5 71.5 71.5 72 72 72 72 72 72.5 63 63 63.5 63.5 63.5 63.5 64 64 11 66 9 8 5 8 6 12 5 11 1 10 8 1 66 66 66 66.5 66.5 67 53 53.5 53.5 53.5 53.5 53.5 54 54 68 68 68.5 68.5 5 11 8 12 6 2 Вес nосле забеrа 5 Стаtуе IJIJ Стаtуе nocne Кпасс Потерt1 забеrа :iaбera забеrа•• веса (фунп.~) 71.5 71 71 71.5 71.5 72 71.5 71.5 72 62.5 63 62.5 63 63.5 63 62.5 63 65 64 65.5 65.5 65 65.5 66 52 52.5 53 53 52.5 53 54 53.5 67.5 67.5 68 68 3 8 1 8 1 4 9 1 2 1 1 1 2 1 9 3 2 4 6 6 2 8 2 9 4 4 9 1 2 1 1 1 1 1 1 1 2 5 7 1 9 2 3 6 1 8 9 8 6 7 6 3 6 9 3 9 2 6 3 6 1 2 3 4 2 5 2 2 1 2 3 9 9 4 9 3 2 8 8 4 1 2 1 1 3 7 3 3 3 7 2 3 3 3 3 3 3 4 3 3 2 2 2 1.38% 0.70% 0.70% 0.69% 0.69% 0.00% 0.69% 0.69% 0.69% 0.79% 0.00% 1.57% 0.79% 0.00% 0.79% 2.34% 1.56% 1.52% 3.03% 0.76% 0.76% 2.26% 1.50% 1.49% 1.89% 1.87% 0.93% 0.93% 1.87% 0.93% 0.00% 0.93% 0.74% 0.74% 0.73% 0.73%
Rнanuз uнформацuu с помощью баз даннык Собека пол• 12 12 12 13 13 13 13 13 13 14 14 14 14 14 14 15 15 о о о 1 1 1 1 1 1 1 1 1 о о Во3- Забеr Вес АО раст :taбera забеrа (мес.) (фytm1) (фytm1) 28 28 28 51 51 51 51 51 51 33 33 33 33 33 33 25 25 11 5 8 11 7 12 11 8 6 12 12 8 12 11 5 5 11 69 69 70 62 62 62.5 62.5 62.5 62.5 52 52 52 52 52.5 52.5 64 64 Вес nocne Ста1)'С АО Ста1)'С 68.5 68.5 69 61.5 61.5 62 62 62 62 51.5 51 51 51 51 52 62.5 63 •пол: О= самка, 1 =самец. •Класс забега: от 1 (бЬLсmрЬLй) .Qo 5 эабеrа 3 5 7 4 8 7 1 3 4 2 5 7 4 5 5 2 6 Клесс Потер~1 3абеn1•• 11ееа llOCJl8 эабеrа 4 7 9 2 7 3 3 3 3 6 2 2 2 4 6 6 3 6 3 2 2 5 7 3 3 9 8 9 3 3 2 5 3 3 (медленнЬLй), 6 и 7 0.72% 0.72% 1.43% 0.81% 0 .81% 0.80% 0.80% 0.80% 0.80% 0.96% 1.92% 1.92% 1.92% 2.86% 0.95% 2.34% 1.56% считаются не­ к.лассифицированными забегами. Эти данные любезно предоставленЬL доктором Линдой Блай из универси­ тета Орегона. Применение команды Данные>- Фильтр >-Автофипьтр Теперь мы располагаем базой данных для работы - попробуем из­ мечь из нее некоторые данные. Предположим , что нас интересуют запи­ си обо всех самках, которые выиграли забеги . Следовательно, н еобходи­ мо отфильтровать такие записи из базы данных. 1. Щелкните в одной из ячеек базы данных (скажем, в ячейке А16). 2. Выполните команду Данные >- Фильтр >- Автофилыр (в меню напро­ тив команды должен появиться флажок). Все поля названий столбцов будут дополнены раскрывающимися списками. 3. Раскройте список Статус_После и выберите в нем значение ветствующее записям собак-победителей забега. 1, соот­
flj Гпава 5 (Все) ~Ю.. .,) IYcnoeиe... ) 2 ~ з 4 s 6 7 в 9 ес_Посл:!JСтатус_JJ.!!!f Статус_Пос~ Knacd 69.5 69.5 9 8 2 8 6 1 . ~:5_~~•ll•;;;•~ш!l1·;, ·.;·/ \· 4. Раскройте список Пол и выберите в нем зна~ение 1, соответствующее записям самок. 5. Обратите внимание, что теперь на экране отображаются только четы­ ре записи, соответствующие заданному критерию. iH":~~~1~~ш~m~ .....~:.• it~~t~~~;1f~~~~1~~.~.t~~i~~~~~ШJ~~ · Баэа данных !;si<i CoOatld Поn~ Воэрас~ Забвjfj Bec,Jl_d Bec_Пocn.tJ з 1 40 2 64 .б 64 6 1 47 9 58 57 11 1 21 11 53 .б 52.5 11 1 21 5 54 54 Чтобы измечь отфильтрованные записи в отдельную таблицу, выде­ лите их, выполните команду Правка >- Копировать, выберите >- Вставить. расположе­ ние таблицы и выполните команду Правка Применение команды Данные>- Фильтр~ Расширенный фильтр В случае необходимости можно одновр~менно вести поиск записей , соответствующих определенному критерию и копировать отфильтрован­ ные записи в указанный диапазон. Для этого необходимо задать диапа­ зон условий, после чего команда Фильтр выполнит все остальные дейст­ вия. 1. Еще раз выполните команду Данные >- Фильтр >- Автофильтр с тем , чтобы отключить автофильтр и отобразить все записи базы данных . 2. В ячейке Н5 наберите первое место) . В ячейке J (единица идентифицируе-т собак, занявших 85 тоже наберите единицу, соответствующую самкам. 3. Щелкните на одной из ячеек базы данных и выполните команду Дан­ ные 4. >- Фильтр> Расширенный фильтр. В появившемся диалоговом окно Расширенный фильтр, показанном на рис. 5.28, поле Исходный диапазон должно быть заполнено автома­ тически , поэтому остается только перейти к полю Диапазон условий и задать в нем A4:J5.
Анаnuз uнформацuu с помощью баз даннын 5. Убедитесь в том, что выбран переключатель фильтровать список на месте и щелкните на кнопке ОК . В результате база данных опять должна сократиться до четырех запи­ сей. Рис. 5.28. Диалоговое окно Расширенный фильтр Извлечение записей во внешний диапазон Чтобы не просто просмотреть записи, а извлеч ь их в отдельную таб ­ лицу, задайте диапазон вывода и воспользуйтесь командой Данные > Фильтр > Расширенный фильтр еще раз. Четкое определение диапазона вывода позволит избежать случайного уничтожения значений важных ячеек. Предположим, что необходимо создать таблиuу с данными о воз­ расте и потере веса самками, выигравших забеги. 1. 2. 3. 4. Чтобы вывести все записи базы данных, выполните команду Данные >Фильтр> Отобразить все. В ячейке LЗ наберите Диапазон вывода. В ячейках L4 и М4 наберите Возраст и Потеря_Веса, соответственно. Щелкните на одной · из ячеек базы данных и выполните команлу Дан­ ные > Фильтр > Расширенный фильтр. Поля Исходный диапазон и Диапазон условий появившегося диалогового окна должны быть за­ полнены, но если это не так, задайте в них значения А15:1116 и 5. чего задайте в поле Поместить результат в диапазон значение 6. A4:J5. Выберите переключатель скопировать результат в другое место, после L4:M4. Щелюtите на кнопке ОК, после чего в выбранный диапазон должны быть скопированы соответствующие поля уже знакомых записей . .Qиаnаэон оыоод;~ Возраст потеря_ввса 40 47 21 0.78% 1-72% 1.87% 21 0.00%
f1фl Гnава 5 Применение команды Данные> Форма Другим способом ведения поиска в базе данных и выполнения мани­ пуляций с ее записями является использование форм. 1. Щелкните на одной из ячеек базы данных и выполните команду Дан­ ные~ Форма. В результате перед вами появится диалоговое окно (или форма), изо­ браженное на рис. 5.24. Каждому независимому полю базы данных соот­ ветствует текстовое поле формы. Вычисленные значения полей выводят­ ся в форме как надписи. Расположенная посредине формы полоса про­ крутки позволяет просматривать любые записи базы данных. После из­ менения значения поля в форме изменяется значение соответствующей ячейки рабочего листа (исключением являются поля, значения которых вычисляются по формулам). Кнопки Добавить и Удалить позволяют до­ бавлять и удалять записи из базы данных без необходимости переопреде­ ление диапазона базы данных после внесения изменений. Измененные значения полей записи не вносятся в базу данных до тех пор, пока вы не перейдете к следуюшей записи. Кнопка Вернуть позволяет вернуть все изменения, <Enter> внесеииые в текушую запись. После нажатия клавиши или перехода к следующей записи шелчок на кнопке не прино­ сит никакого результата. Чтобы задать критерий поиска, шелкните на кнопке Критерии и за­ дайте необходимые условия поиска записей. За;цанные в форме критерии поиска не имеют никакого отношения к активизированным на рабочем листе фильтрам. Чтобы сформулировать критерий поиска из последнего примера (все записи о самках, выигравших забеги), введите единицы в полях Пол и Статус_После. Чтобы вернуться к редактированию формы, щелкните на кнопке Правка. Чтобы перейти к первой соответствуюшей заданному критерию записи, щелкните иа кнопке Далее. Кнопки Назад и Далее предназначены для переключения между отфильтрованными по критерию записями. Между отфильтрованными записями возможен только последовательный перех·од, поэтому при попытке переключения от первой записи к последней (или от последней к первой) приложение Excel будет подавать звуковой сигнал. Соответственно, никаких других действий со стороны 2. Excel ие последует. ~акончив работу с формой, щелкните на кнопке Закрыть. Теперь предположим, что необходимо узиать процентное соотноще­ ние самок и самцов, принимавших участие в забегах. Это можно сделать и вручную, но я открою вам более легкий и приятный способ. С помо­ щью функuии БСЧt::Т можно отдельно подсчитать количество самок и самцов, после чего поделить полученные значения на общее количество записей в базе данных. Но существует еше более простой способ - по­ скольку для обозначения пола собаки используются числа О и 1, доста­ точно будет высчитать среднее значение столбца Пол.
Rнanuз uнформацuu с помощью баз данныи Применение специальных функций для работы с базами данных L. 2. Удалите все значения в диапазоне условий В ячейке Е10 введите формулу: AS:JS. =ДСРЗНАЧ(А15:J115,2,A4:J5) 3. Назначьте ячейке Е10 формат Процентный с двумя десятичными зна­ ками после запятой. После вычисления формулы в ячейке появится значение 34.00%. Это значит, что 34% участвовавших в забегах собак являются самками. Обра­ тите внимание, что пустые ячейки диапазона условий заставляют форму­ лу обрабатывать всю базу данных. Теперь найдем количество самок, занявших в забегах одно из трех призовых мест. 4. В ячейке HS введите •Н16<~. Только что бьш задан критерий, фильтруюший записи о собаках­ победителях, поэтому в ячейке Е 1О появится значение 30.43%. Ссылка на ячейку Н16 определяет столбец для применения критерия~ Эта .ссылка обязательно должна попасть во вторую строку диапазона базы данных. Поскольку все приведенные данные использовались для определения потерянного веса, было бы логично определить количество собак, кото­ рые интенсивно теряли вес (имеется в виду потеря более 2.5% веса) . 5. В ячейке JS введите -=J16>0.025. Любопытно, что значение в ячейке Е10 изменится на 100%. Это сви­ детельствует о том, что все собаки, занявшие призовые места и потеряв­ шие значительный вес, являются самками. Можно продолжать задавать новые критерии поиска и анализировать результаты. Количество удовлетворяющих критерию ячеек подсчитывает функция БСЧt::ТА, максимальное и минимальное значение определяют функции ДМАКС и ДМИН, стандартное отклонение и вариацию высчиты­ вают функuии ДСТАНДОТКЛ и БДДИСПП , команда БДСУМ предназначе­ на для суммирования значений. С помощью этих функuий можно созда­ вать отдельные таблицы значений . Имейте в виду, что задаваемые для этих функuий диапазоны не имеют никакого отношения к активизиро­ ванным иа рабочем листе фильтрам. В данных диапазонах условий ука­ зываются не все названия полей, а только тех, по которым будет вестись фильтрация. Применение команды Данные> Сортировка Команда Сортировка меию Данные позволяет отсортировать любой набор текстовых ил.и числовых записей. Приложение Excel поддерживает сортировку столбцам. по возрастанию и по убыванию одновременно по трем
fiфj rnaвa s В качестве примера отсортируем базу данных забегов в соответствии с занятым местом и потерей веса. 1. 2. 3. Выделите ячейку в диапазоне базы данных. Выполните команды Данные ~ Сортировка. В списке Сортировать no выберите пункт Статус_После, затем выбе­ рите переключатель по возрастанию. 4. В списке Затем по выберите пункт Потеря_Веса, после чего выберите переключатель по убыванию . 5. Щелкните на кнопке ОК. В результате выполненных действий рабочий лист должен выглядеть так, как это показано на рис. 5.29. Все записи отсортированы в соответ­ ствии с занятым собакой местом и потерей веса. Bec_noc11e Статус_до Статус_nосnе Knacc Потеря_Веса ~· t 1 11 6 9 2 о 7 о 4 о о о 1 О о о о О о 21 47 36 29 34 11 g 12 9 9 23 35 40 29 24 24 58 6 2 2 2 9 9 34 23 2 6 11 53.5 58 63.5 67 .б 72.5 76.5 53.б 64.б 69 71 71 .5 72 72 72 52 .5 57 62 .5 66.5 71 .5 75.5 63 64 68.Б 70.5 71 71.б 71 .Б 71 .б 2 4 9 6 3 1 8 з 2 4 з 8 1 2 1 1 3 1 1.87% 1.72% 1.67% 1.48% 1 .38" 1.31" 1 0 .79% 2 0.78% 2 0.72% 7 0.70% 1 0.70% 2 0.69% 7 О .69% 2 о .69% ' '>i :; ,, ;::; --~· :;::1 - ) : :; ' -~~~<!A~."O"-v.if.;щщ7:"~'"'r?)i!'-'ш;;;~-!::i·,~J\~::\· · ~i , ":':::·~~:·::;::::Jf!J Рис. 5.29. Записи базы данных, отсортированные по столбцам Статус_После и Потеря_Веса Резюме Основным материалом , с которым работают инженеры и научные ра­ ботники, являются экспериментальные данные, однако их анализ зачас­ тую непрост. Цриложение Excel предоставляет инструменты л.~я импор­ тирования и обработки информации различного типа. В этой главе чита­ тель может познакомиться со способами ввода данных в рабочий лист, разнообразными манипуляциями с ними , а также с методикой создания базы данных и работы с ней.
Анаnuз uнформацuu с помощью баз даннын Дополнительная литература Зазоры искрового разряда CRC, Handbook of Chemistry and Physics, 5lst ed. (Cleveland, Ohio: Chemical Rubber Со., 1971), р. Е61. Элементарные частицы D. Haliday and R. Resпicl<, Physics (New York: WiJley, 1967), рр. 551552. Обезвоживание организма борзых собак перед забегом L. L" Blythe a11d D. Е. Hanse11, "Factors Affectiпg Prerace Dehydration апd Performaпce of Raciпg Greyhouпds'', J. Ат. Vet. Med. Assoc. 189, 12 . (Оес. 15, 1986): 1572-1574. L. L. Blythe, D. Е. Напsеп and А. М. Craig, "Nervous Systern" iп Care of the Raci11g Greyhouпd, А Guide for Т rainers, Breeders and Veteriпarians, Americaп Greyhou11d Соннсil, АЫlеппе, Kaвsas (PuЫisher), 1994, рр. 37-56. Обзорные задачи 1. Считайте показанный на рис. 5.6 файл в рабочий лист как текст, по­ сле чеrо выполните его синтаксический анализ с помощью команды Данные :>о-Текст по столбцам. 2. Создайте текстовый файл со следующими данными: 23.7 ,569.82,19.2 1.882,27.9,26 19.3,239,4 95.76,9,23 115.98,23.7,23.8 19.220,19876.3,2 27.886,14.3,67.5 23.9,14.5, 14.4 Считайте этот файл в рабочий лист и выполните его синтаксический анализ с помощью мастера импортирования. 3. Создайте базу данных журнальных статей, которыми вы пользуетесь. База данных должна содержать четыре поля, соответствующие автору, названию статьи , цитате и ключевому слову. Создайте диапазон усло­ вий, с помощью которого можно было бы извлекать из базы данных статьи по заданному автору и ключевому слову. 4. Примените команды меню Данные :.-- Фильтр к созданной в предыду­ щем пункте базе данных. 5. Напишите на Visual Basic процедуру, которая будет вести поиск в базе данных заданного слова или строки. При каждом вызове процедура должна возвращать ссылку на следующую ячейку с заданной строкой.
f.lфJ Гnава 5 Подсказка: Последо:~sательно анализируйте содержимое ячеек с помо­ щью функции lntStr(). Поиск следует прекратить после достижения конца базы данных . 6. Напишите на Visual Basic процедуру, которая выполнит синтаксиче­ ский анализ файл с исходными данными из пункта 3 и разберет его на три столбца._ Мастером импортирования пользоваться запрещено. Вместо этого функция должна использовать метод тия файла, Line lnput OPEN для откры­ для построчного считывания текста, поиска в строках запятых и Mid$ lnStr для для извлечения символов, располо­ ·женных между запятыми . 7. Используя данные табл. 5.2, определите среднюю потерю веса самца­ ми и самками . Отдельно определите аналогичную характеристику для собак, занявших призовые места. 8. Используя данные табл. 5.2, скопируйте все записи о самках во внешний диапазон. Отсортируйте скопированные данные сначала по занятому в забеге месту, а затем по потерянному весу . 9. Используя данные табл. 5.2, сравните вариации потери веса самцами и самками. Отдельно определите аналогичную характеристику для со­ бак, занявших призовые места . Упражнения 1. Создайте базу данных периодической системы элементов. Она должна включать поля для названия элемента , символического обозначения (С, О, AI и т.д.), атомное число, атомный вес и количество состояний окисления. Для элементов с более чем одним состоянием окисления компоненты списка состояний должны разделяться запятыми . 2. Используя базу данных из первого упражнения , вычислите средний атомный вес для всех элементов с атомным числом меньше чем у германия. 3. В базе данных из первого упражнения с помощью команды Данные >- Фильтр>- Расширенный фильтр выберите все элементы с четырьмя и более состояниями окисления и атомным числом более 20. Скопи­ руйте результаты во внешний диапазон . 4. В базе данных из первого упражнения вычислите стандартное откло­ нение и вариацию состояний окисления . 5. Используя данные табл. 5.2, составьте таблицу зависимости среднего результата в забеге от возраста и представьте ее данные в виде диа­ граммы . 6. Используя данные табл. 5.2, вычислите средний первоначальный вес для всех собак, занимавших в забегах первое, второе и третье место, соответственно . 1. Используя данные табл. 5.2, вычислите средний результат (место в за­ беге) для собак, потеря веса которыми попадает в следуюшие диапа­ зоны:
Rнanuз uнформацuu с помощью баз даннын о - 0.5% 0.5 - 1.0% 1.0 - 1.5% 1.5 - 2.0% 2.0 - 2.5% >2.5% 8. С помощью приложения данных Борей в 9. Excel Query создайте запрос на возврат из базы списка поставщиков и их телефонных номеров. С помощью приложения Query создайте запрос на возврат из базы данных Борей в Ехсе\ объема продаж поставщиков. 10. С помошью приложения Query создайте запрос на возврат из базы данных Борей в Ехсе\ списка поставщиков и их географического рас­ положения. В Ехсе1 вычислите количество поставщиков в каждом регионе .
Г11ава 6 Аппроксимация данных В этой тавв ../ ../ ../ ../ ../ Линейна• реrресси• Попиномиапьно• реrресси• Методы непинейной оnnроксимации Стотистическоя оценка степени оnnроксимации Интерnопяционные методы Одной из распространенных задач в науке и технике является ап­ проксимация экспериментальных данных аналитическими выражениями. Для ученых, возможность подобрать параметры уравнения таким обра­ зом, чтобы его решение совпадало с данными эксперимента , зачастую является доказательством (или опровержением) теории. Инженерам же часто требуется описать результаты измерений аналитически для опреде­ ления физических параметров. Существуют три способа использования Excel для аппроксимации данных: использование встроенных функций регрессии, преобразование нелинейных уравнений в линейные с последующим использованием встроенных функций регрессии, использование надстройки Поиск решения или программы Yisual Basic мя точного подбора параметров не­ линейного уравнения. Чаще всего данные быть могут описаны встроен­ ными функциями линейной и полиномиальной регрессии. Наличие ли­ нейной зависимости, по крайней мере, на исследуемом интервале позво­ ляет успешно использовать формулы линейного приближения . В случае нелинейных уравнений, допускающих линеаризацию с по­ мощью замены переменных, функции линейной регрессии можно при­ менять к преобразованным уравнениям. Если" же уравнения не могут быть линеаризованы, можно воспользоваться надстройкой Поиск решения или программой на языке Yisual Basic и подобрать коэффициенты таким образом, чтобы добиться минимальной остаточной ошибки (сумм ы квад­ ратов разностей между фактическими и прогнозируемыми значениями) или максимального коэффициента корреляции. Наконец, те данные, которые не моrуг быть удовлетворительно опи­ саны ни одним из вышеперечисленных методов, можно представить в nиде таблицы, дополненной функu.ией просмотра, находящей с помощью методов интерполяции значения дЛЯ точек , отсугствующих в таблице .
fjil Rnnpoкcuмaцuя даннын Использование встроенных функций обладает встроенными возможностями регрессионного анализа, Excel позволяющего аппроксимировать данные как прямой линией, так и сложными полиномами. Большая часть задач описания данных может быть решена средствами линейной регрессии. Регрессионный анализ При использовании функций регрессии для аппроксимации данных происходит минимизация остаточной квадратичной ошибки между фак­ тическими и прогнозируемыми значениями (метод наименьших квадра­ тов). Остаточная ошибка вычисляется по следующей формуле Е= п L(y(x, )- У; ) 2 1~1 где у(х;) - прогнозируемые значения, п - число точек, а х; и У; - фактические значения. В Excel используется модель многомерной линейной регрессии. Это значит, что прогнозируемые значения у(х;) имеют ВИд y(x 1J ,х2 •1 , •••) =А+ Вх 1,; + Сх 2,; +.. . ' где А, В и С - искомые коэффициенты, которые определяются под­ становкой функции у(х1 ;, х2 ;, . . .) в выражение для остаточной ошибки и приравниванием к нул:Ю часrnых производных по всем коэффициентам. Это приводит к системе линейных уравнений для коэффициентов. Все вычисления производятся Excel автоматически. Кроме коэффициентов уравнения регрессии , Excel также вычисляет дополнительную регрессионную сташстику: • • • • • • стандарrnая ошибка мя оценки у; коэффициент детерминированности (r2}; стандартные ошибки мя коэффициентов; F-статистика; число степеней свободы; регрессионная сумма квадратов и остаточная сумма квадратов. Стандартная ошибка для оценки у Стандарrnая ошибка мя оценки у является оценкой ошибки мя еди­ ничного значения у, вычисленного на основании уравнения регрессии. Эта оценка используется совмесrnо с критерием Стъюден1а для опреде­ ления доверительного Доверительный интервал интервала - мя вычисленной кривой. это область вокруг прогнозируемой кривой, в которой с определенной верояrnостью (например, 95 процентов) со-
fПJ Гnава б держится истинная кривая. Стандартная ошибка для оuенки у вычисля ­ ется по следуюшей формуле i 11 1 L (Yi -у(х, )) =~ где р - 2 р i= l число степеней свободы (р = п - 2 для прямой линии). Коэффициент детерминироввнности Коэффициент детерминированности является квадратом коэффици­ ента корреляции (r). Он показывает, насколько хорошо уравнение, полу­ ченное с помошью регрессионного анализа, описывает фактические дан­ ные. Коэффициент детерминированности может принимать значения от О до l, причем l соответствует полному совпадению проrнозйруемых и ф актических данных. Хорошей приближением считается такое, при ко­ тором значение коэффициента детерминированности больше 0,9. Коэф­ фициент вычисляется по формуле 11 L (Y, -y(xJ) r 2 = _ -'-1=_ 1_ 1 _ __ __ I(Y; -(у, )) 2 _ 2 i- 1 где через у обозначено среднее значение п L Y. (у,) ~ ~ п Стандвртные знвчения ошибок для коэффициентов Стандартные значения ошибок для коэффициентов являются мерами точности каждого из коэффициентов регрессии (А, В, ".). Стандартное значение ошибки первого коэффициента (Sл) выч исляется с помощью стандартной ошибки пля оценки у. где
f jij Rnnpoкcuмaцuя даннын х п Основное применение стандартные знаt1ения ошибок для коэффици­ е нтов находят при проверке статистической значимости коэффици ентов (статистического равенства нулю). Поскольку все коэффицие нты входят в уравнение регрессии линейно, равенство нулю какого-либо коэффиuи­ ента означает отсутствие корреляции между соответствуюшим членом х и данными у. Для проверки статистической значимости коэффициею а н~­ обходимо взять значение t-распределения Стъюдента для требуемого до­ верительного интервала (1 - а) и числа степеней свободы (р) и проверить выполнение неравенства IBI > ta Sв 2·Р ..... Примечание Доверительный интервал определяет вероятность того, что истинное значение лежит в диапазоне, определенном вероятностной формулой. · Например, для критерия Стьюдента для коэффициентов регрессии обыч­ но выбирается доверительный интервал 95% ({1 - а)= 0,95), означающий ~ 95-ти процентную уверенность в справедливости провер ки коэффи_циента ре.rр~_ссии. Если неравенство выполняется, то коэффициент является зн ачимым и значения у зависят от значений х, связанных с данным коэ ффициен­ том . Если неравенство не выполняется, зн ачения у не зависят от указан­ ны х значений х и коэффициент считается равным нулю . Остальные ко­ эффициенты проверяются таким же способом . Любая хорошая книга по инженерной статистике содержит подробную информацию по и спользо­ ванию распределения Стьюденr.э.. Таблицы значений t-распределения приведены в большинстве книг или мoryr быть вычислены с п омошью функции СТЬЮДРАСПОБР(), которая возвращает значение t-распределе­ ния по заданным значениям а и числа степеней свободы. Вообше говоря, если абсолютное значение коэффициента по порядку величины больше чем стандартное значение ошибки, то коэффициент является зна'lимым . В случае, по крайней мере, четырех сте пеней свобо­ ды (например, при построении прямой л инии по шести точкам) , значе­ ние t-распределения Стьюдента для 95-проценrnого доверительного ин­ тервала составляет всего лишь 2, 1 и уменьшается с увеличени ем чи сл а степеней свободы . Поэтому можно считать , что коэффициент является значимым, если его абсолютное значение пр евышает стандартное Jначе­ ние ошибки более чем в 2,5 раза. В проти вном случае необходимо под-
181 Гnава б ставлять в вышеприведенную формулу точное значение t-распределения и проверять выполнение неравенства. -._ Примечание При сравнении значений, возвращенных фун кцией СТЬЮДРАСПОБР() с табличными значениями, они окажутся различными. Причина заключает­ ся в различных определениях вероятности, используемых при вычисле­ ниях. Большинство таблиц t-распределения Стьюдента показывает зави­ симость t от (1 - а12) в то время, как функция СТЬЮДРАСПОБР() вычис­ ляет з~висимость t от а. Следует помнить, что доверительный интервал определяется, как (1-а). F-статистика F-статистика используется совместно с F-значениями для определе­ ния вероятности тоrо, что данные действительно описываются указан­ ным выражением или совпадени е вызвано случайными флуктуациям и . Как и в случае t-теста Стьюдента, для использования F-статистики необ­ ходимо использовать значение F, взятое из таблиц или вычисленное с помощью функции FРАСПОБР(). Табличное или возвращенное функцией значение F сравнивается с вь1численным значением при одинаковых до­ верительном интервале и числе степеней свободы. значение F Если вычисленное больше чем табличное, совпадение обусловлено реальной корреляцией, а не случайными флуктуациями. Для определения значений ды. Первое - п F необходимы два числа степеней свобо­ равно числу коэффициентов в уравнении регрессии 1- минус один. Второе - р - стандартное число степеней свободы, равное разносrn числа точек и числа коэффициентов в уравнении регрессии. Значение числа степеней свободы р возвращается функцией ЛИНЕЙН и используется в t-тесте Стьюдента. -._ Примечание Как и в случае с функцией СТЬЮДРАСПОБР(), функция ЛИНЕЙНО воз­ вращает значения F по заданным значениям а, в то время, как в таблицах обычно указывается зависимость от (1 - а). • Предупреждение Порядок чисел степеней свободы п, и р строго фиксирован. Первое число является числом степеней свободы аппроксимирующего уравнения, а второе - числом степеней свободы множества аппроксимируемых точек.
Аnпроксuмацuя даннын Число степеней ~вободы Число степеней свободы р равняется разности числа точек и числа коэффициентов в уравнении регрессии. Например, уравнение прямой лннии имеет два коэффиuиента, соответствующие углу наклона и сдвигу по с.си у. Если имеется десять точек, чи сло степеней свободы равно 10 - 2). 8 (= Это число используется во многих статистических таблицах при определении доверительных интервалов. Регрессионнея суммв квадратов и остаточнея сумме кведра тов Для оценки ошибки аппроксимации используются две суммы квадра­ тов. Регрессионная сумма равна сумме квадратов разностей между значе­ ниями у и средним значением у. L(Y, - (у ))11 " 1-l Таким образом, эта велнчина является мерой разброса данных отно­ сительно среднего значения. Остаточ ная сумма квадратов равна сумме квадратов разностей между реальными и прогнозируемыми значениями у. 11 L(Y,- -у(х, )) 2 1=1 Таким образом , эта величина является мерой разброса данных отно­ сительно линии регрессии. Разделив указанные величины на число сте­ пеней свободы, получим дисперсию данных относительно среднего зна­ чения и относительно линии регрессии. Вычислив квадратный корень дисперсии, получим среднеквадратичное отклон ение. Полученные зна­ чения показывают, дей ствительно ли данные описываются уравнением регрессии или являются постоянными. Вычисление линейной регрессии Лннейный регрессионный анализ в Excel выполняется либо с помо­ щью встроенных функций ЛИНЕЙН , ЛГРФПРИБЛ, ТЕНДЕНЦИЯ и РОСТ, либо с помошью инструмента Регрессия пакета Анализ данных. Линейная регрессия выполняется обоими способами практически одинаково. Ос­ новное отличие закл ючается в том, что значения функuий автоматически обновляются при каждом изменении данных, в то время как инструмент анализа необходимо запускать вручную. Кроме того, в пакет анализа вхо­ дит гораздо большее число различных статистик.
tJtN Гnава 6 Вычисление регрессии с помощью функций Функuии ЛИНЕЙН, ЛГРФПРИБЛ, ТЕНДЕНЦИЯ и РОСТ вычисляют реrрессию данных рабочего листа. Все они возвращают массив, содер­ жащий либо регрессионную кривую, либо коэффициенты уравнения рег­ рессии. Функция ЛИНЕЙН выполняет непосредственную линейную рег­ рессию_ и возврашает коэффициенты, соответствующие тангенсу угла на­ клона и сдвигу по оси у. Функция ЛГРФПРИБЛ является вариацией ли­ нейной регрессии, аппроксимирующие данные следующим уравнением у = А ( вх1 )( сх~ )... и возвращающей коэффициенты (А, В, С, ...). Функuии ТЕНДЕНЦИЯ и РОСТ используют те же формулы для вычисления регрессии , что и функции ЛИНЕЙН и ЛГРФПРИБЛ , но возвращают множество точек ап­ проксимирующей кривой . Поскол ьку все четыре функции возвращают массивы , их необходим о использовать с диапазонами ячеек или же опре­ делять отдельные элементы массива с помошью функции ИНДЕКС . -.._ Примечание Для ввода формулы массива необходимо вь1делить диапазон ячеек, вве­ сти формулу (<Cmd+Enter> и для нажать Macintosh). комбинацию клавиш • <Ctrl+Shift+Enter> Изменение отдельных ячеек после введе­ ния функции массива в диапазон становится невозможным . Необходимо либо изменить весь диапазон, либо удалить его и вставить что-либо дру­ гое. Функuии ЛИНЕЙН и ЛГРФПРИБЛ имеют следующий синтаксис: ЛИН ЕЙН(у-массив;х-массив;конст;статистика) • ЛГРФПРИБЛ(у-массив;х-массив;конст;статистика). rде у-массив является ссылкой на массив данных у, х-массив является ссылкой на один или несколько массивов данных х, конст - ское значен11е, определяющее константу сдвига и статистика это логиче­ - это логи­ ческое значение, которое указывает, требуется ли вернуrь дополнитель­ ную статистику по регрессии. Если член х-массив пропущен , вместо него используется множество натуральных чисел {l , 2, 3,.. .}. Если член конст пропущен или ИСТИНА , константа сдвига (А) вычисляется обычным способом. Если член конст равен ЛОЖЬ, константа сдвига полагается равной О для функции ЛИНЕЙН и равной 1 для функции ЛГРФПРИБЛ. Если член статистика ра­ вен ИСТИНА, вместе с коэффициентами уравнения регрессии возвраща­ ется таблица из восьми или более статисrnческих значений.
•т Аnпроксuмацuя даннык Вычисление регрессии с помощью инструменте анализа Инструмент Регрессия пакета Анализ данных выполняет те же самые вычисления, что и функuия ЛИНЕЙН, но делает это только один раз. Ес­ ли аппроксимируемые данные изменились, коэффициенты не пересчи­ тываются, пока инструмент не будет применен повторно. Поскольку ин­ струмент Регрессия входит в пакет Анализ данных, для его применения необходимо вначале установить указанный пакет с помощью команды Сервис>- Надстройки. Теплопроводность арсенида галлия В главе 2 мы вычислили температурную зависимость теплопроводно­ сти кремния на основании уравнения. Кремний ямяется хорощо изу­ ченным полупроводником, поэтому уравнение его теплопроводности можно легко найти в литературе. С другой стороны, (GaAs) арсенид галлия изучен не так хорошо и нам придется аппроксимировать экспе­ риментальные данные некоторым выражением. В табл. 6.1 приведены экспериментальные данные зависимости теп­ лопроволности сильнолегированного арсенида галлия р-типа от темпера­ туры. Давайте начнем с простой линейной аппроксимации. 1. Откройте новый рабочий лист и присвойте ему имя Рис. 6.1. 2. Установите ширину столбuа В равной 10, столбца D равной столбца Н равной Таблица 6.1. Теплопроводность сильнолегированного арсенида галлия Т (К) 250 300 350 400 450 500 550 600 650 700 750 800 850 3. 2 и 18. (GaAs) К (W/cm-K) 0,445 0,362 0,302 0,256 0,223 0, 197 О, 176 О, 158 0,144 О, 132 О, 121 0, 112 0,103 В ячейку А 1 введите Теплопроаодность арсенида галлия; Линейное приближение. 4. В ячейки А3:В3 введите и выровняйте по uентру следуюш.ие метки: АЗ Т(К) аз K(W/cm-K) 5. В ячейку А4 введите 250; в ячейку А5 введите 300; вьщелите обе ячей­ ки и перетащите маркер заполнения вниз до ячейки А16.
fi:I Гnава б В ячейки 6. 84:816 введите значения теnлоnроводности, приведенные в табл. 6.1. Создайте формулу для вычисления значений у линейного приближе­ ния. 1. В ячейку СЗ введите К Ожидаемое и выровняйте по центру. Устано­ вите ширину столбца С равной Присвойте ячейкам 2. F7 и G7 12. имена В и А соответственно. В ячейку С4 введите =8*А4+А; скопируйте формулу в ячейки С4:С16 и 3. измените формат ячеек на Числовой с тремя десятичными знаками. Определите место дЛЯ таблицы коэффициентов регрессии и статисти­ ки. Полная регрессионная таблица должна содержать пять строк и по одному столбцу на каждый коэффициент. В случае линейного прибли­ жения ширина таблицы равна двум. 1. Введите следующие величины в столбцы Е, F, G и Н. Е5 Таблица Fб В Н7 Коэффициент регрессии Е9 r-2 F F12 Рег. Н8 Стд. ошибка коэфф. Е10 Gб А Н9 Стд. ошибка оценки У Е11 Сумма кв. G12 Остаточн. Н10 2. Установите контуры, как показано на рис. 1. Выделите ячейки Степени свободы 6.1 Перейдем к вычислению коэффициентов. F7:G11 и введите формулу =ЛИНЕЙН(В4:816;А4:А 16;ИСТИНА;ИСТИНА) 2. Нажмите комбинацию компьютерах Macintosh) клавиш <Ctrl+Shift+Enter> ( <Cmd+Enter> на для вставки формулы .во все ячейки в виде массива. 3. Отключите отображение сетки. Теперь рабочий лист должен выглядеть, как показано на рис. 6.1. С nомощью мастера диаграмм постройте график экспериментальной и ап­ проксимированной теплопроводности (рис. 6.2). Сравнение этих графи­ ков показывает, что общая тенденция бьmа определена правильно, но приближение дЛЯ отдельных ·точек оказывается довольно грубым. Значе­ ние r2 равно 0,875, что также свидетельствует о неточности исnользован­ ного приближения. Инструмент Регрессия пакета Анализ данных может выnолнитъ те же самые вычисления и возвратить гораздо большее количество статистиче­ ских параметров. Выполним расчет еще раз, но уже с использованием инструмента Регрессия. 1. Создайте копию рабочего листа Рис. 6.1 (нажмите на клавишу <Ctrl> при перетаскивании ярлычка листа). Дважды щелкните на ярлычке нового листа и переименуйте его в Рис. 6.З. 2. Удалите с листа все, что находится в столбце С и правее его, включая диаграмму.
•»» АппроксuмацШI даннык Т (!<) 250 К (Wltm-IQ К 0.0.Д~wое 0,445 о ;ы 0.ЗЗб 3&1 .cJ ОД 0.311 0.256 О,2t!б "51) одз 500 550 0,197 О.176 0,261 0,235 0.210 600 0.1!>8 0.185 6&) 0 ,14• 0,160 700 0.132 0.134 7!:/J 0,121 0,112 0,103 0,109 0,004 0,059 00) 850 6.1. Табл..u.. rеrоессмм в IA .() ,(0)5 о ,.\87797 Ко~ффМЦ1'81fr 5,74Е-!15 О ,ОЗЗЗ66 Сrд. оwм6"3 m•фф. O,B75l17 Одэе711 Стд. ошибка оценюо У . r'2 F с."" 1 • .,. 77,29436 о 116011 Per. 11 Стеnеим tеободw 0,01651 0crtfO'fH. (!"~~· · ' '."..;~.: 5.1 Рис. 0 ,362 ::00 ,;t;·.··.: 1·,• Теnлопроводность арсенида галлия: линейное приближение o,s " 0,4 5 о.• i :~ 0,2 " 0,15 0,1 0,DS О +-~~--~~-.~~~~~~--~~-< ". Рис. 6.2. Сравнение экспериментальной и аппроксимированной теплопроводности 3. Выберите команду меню Сервис >-Анализ данных (для этого необхо­ димо предварительно установить пакет анализа в меню Надстройки), выберите инструмент Регрессия из списка инструментов анализа и нажмите на кнопку ОК.
fiФI 8 Гnава б диалоговом окне Регрессия необходимо задать входной и выходной диапазон ы и установить флажки для всех параметров группы Остатки , чтобы познакомиться с их работой. При выборе входного и выходного д и ап азонов, включ и те в них не только данные, но и заголовки столбuов , и установите флажок Метки . При этом заголовки столбuов будут исполь­ зоваться в ка•1естве меток для таблиц и линий диаграммы . 4. В диалоговом окне Регрессия выберите параметры так, как показано на рисунке и нажмите на кнопку ОК. (Диапазоны для ввода и вывода можно ввести вручную или шелкнуть на кнопке редактирования и выделить диапазон на листе.) 1ff1:~i;i::~~~!i! 1З:! · ~~~~д~:·:.,~.::.: ' ,:- ~_,.,..,,~., :,',,,:." "~·····-··- .... .. • ·"··!'·;~. /$Е$З ,, • 51.; ·~Effi?:~+;•·i.i:~-·,:. : i:; C!i>tf"O!>~-oeт.m. •РгРеФИ<~;.;•бо1>6 ·: · ~~~~i_Q].;~.,1..i1[_ 5. Установите ширину столбцов таким образом, чтобы все надписи таб­ лиu были полностью видны . Инструмент Регрессия выполнит все вычисления , выведет результаты в таблиuу на рабочем листе, как показано на рис. му, представляющую Ре.зультат, впрочем , экспериментальные данные не 6.3, и и создаст диаграм ­ их отличается от достигнутого с алпроксимаuию. использованием встроенной функции ЛИНЕЙН. Поскольку и арсенид галлия , и кремний являются полупроводниками, можно предположить , что урав нение, описывающее теплопроводность кремния, послужит лучшей аппроксимацией экспериментальных данных, чем прямая линия . Теплопроводность кремния подчиняется уравнению К::: Ко (т-т0 ) , где К0 и То - неизвестны е константы. Впрочем, это уравнение не яв­ ляется линейным и не может непосредственно использоваться для ли ­ нейной реrрессии. Однако разрешив его относительно температуры Т:::( ~)к0 +То
fi:JI Rnпрок.сuмацuя данныи получаем уравнение, линейное по переменной 1/ К. Модифицировать ра­ бочий лист дЛЯ вычисления величины 1/К и исhользования ее в качестве х и температуры Тв качестве у достаточно просто. 6ЬJ60д итоrав Mнt1жt!C'l llet.1ныM О,9366З7Ш F' R·tc11~p•t D.1!'75.t170 • H~Wi<1pot1aiнныiil R·юt~ Q,eбAQ91i.t6 Cтa~ •P'nfllll DLl.l...Ю Q.аэ87А.1329 Н аб.11:о.аt...-• 13 Пp!l!c1t•JJ1ННOllJ К Мfcl't'-K/ с.;,_,,.. 3))"6153546 11536<615' f< ~c'"'"Kl 0.6925162е 0 )1106083' ~,(IJ!ffi5ЗЗ4 .())Щ1 )51' 1 ~Д)7692Э О.21Э5а18б81 -O~'ffil!I -011)Э91 Щ 2 5 6 0.200571'~ -ОРЭ757Ю9 о .2ЭSЭ2417о 4;nn24176 .1 Ql292S<1T ·1.tl33Z194:'7 26,92:1176'92 34 р 1SЗ641>2 42Э17б92Э: 0.1~ 7 4.0~ 4 ,918111570 50 ·З.176 .fJ~1 4.0156112418 -ОЛТJ277 -0."2С101855 57~ 65.38401 SЭ8 10 0.210076'323 0.18'82907 0,1595112&18 0,13"335166 .()Д12З)б1 66 .о fbl'IВI2', 7Э.Р1&92ЭQЭ 11 O,IOIOll/912 0.0119 1 д18 о.~ O.(J2e159341 0,3211497$ 01511115811 IЮ.11Ш3З17 12 13 о.~ 0 ,Q.144(E5e'J , 19r.!Jt.Qj 0.197 0.223 02!6 0;302 0,362 0 <45 .9 ••· • . ·< ' 0,103 2)4952S0":9 8 6.3. n~fНlfmllflь ОJ)ЭЗ4З95б 0 ~1) ' Рис. . Cm~ ocm<rml('IJ О;эб1[В)Ц 0)Э6Э 13167 ;1~ О,Ш 0,121 0,132 ·ы Е Tr 0,1 Н lll,46 1SЭIU& 96 15З!Щi 15 i! ~ ::;t;!f',o;.~~~~H Таблицы , полученные при работе инструмента Регрессия пакета Анализ данных 1. 2. Создайте копию рабочего листа Рис. 6. 1 и назовите ее Рис. 6.4. Щелкните правой кнопкой мыши на заголовке столбuа С для выделе­ н ия всего столбца и выберите в меню Вставка команду Столбцы. 3. Измените метку в я чейке А 1 на Теп:Попроводность арсенида галлия GaAs; линейная регрессия. 4. 5. 6. В ячейку СЗ введите 1/К. В ячейку С4 введите =1/В4 и скопируйте ее в ячейки С4 : С16. Измените формат ячеек С4:С 16 на числовой с тремя десятичными знаками. 7. 8. Введите новую формулу для оцен ки К. В ячейки G6 и Н6 введите метки КО и ТО соптветственно. Выделите ячейки G6:H7, выберите команду мен ю Вставка >- Имя >- Создать , установите флажок В строке выше и нажмите на кнопку ОК.
Гnава f..J:t.j 9. В ячейку 6 D4 введите формулу =КО/(А4-ТО) и скопируйте ее в ячейки D4:D16. Теперь вычислите коэффициенты рщессии. Примечание -· Ранее ячейкам G7 и Н7 были присвоены имена А и В с помощью поля Имя. Затем им вновь были присвоены имена с помощью команды Вставка~ Имя ~ Создать. Теперь эти ячейки имеют по два имени: А и КО - ячейка G7, В и ТО- ячейка Н7. Любое из этих имен может исполь­ зоваться в формулах. Для удаления имени применяется команда Вставка~ Имя ~ Присвоить. 10. Выделите ячейки G7:H11 и измените формулу следующим образом =ЛИНЕЙН(А4:А 16;С4:С 16;ИСТИНА;ИСТИНА) 11. Нажмите комбинаuию компьютерах Macintosh) клавиш <Ctrl+Shift+Enter> (<Cmd+Enter> на для вставки формулы во все ячейки в виде массива. Ваш рабочий лист должен теперь выглядеть, как показано на рис. Обратите внимание на значительное улучшение значения r2; 6.4. оно равно что свидетельствует о хорошей степени приближения регрессион­ 0,998, ной кривой к экспериментальным данным . Если построить диаграмму, как показано на рис. 6.5, то станет видно, насколько точно кривая сов­ падает с исходными данными. На этом рисунке было отключено отобра­ жение соединительных линий между точками для облегчения сравнения регрессионной кривой с экспериментальными данными (маркеры). емоnрМОАнос~ Т (!<) aptB)tl'\A• rа..м"" GaAs; K(W/cm-1<) 1/К J1:ии•\7ек111t регр1ссм.11 к °*"А••"•• О,.се4 SJ О,«5 хо 2,75'2 3.311 О.3д «Х1 0,362 0,302 0,256 Э,!Ui 0,256 61 0.223 500 0,197 o.tsc Э9J 2;247 0,372 550 О.176 ••484 5.D76 5fJJl 600 &!D 700 7!i0 0 .1513 6.329 0.15Б 0,1Ц 6,з.&4 0.142 7 !i16 8,264 0 ,131 0.121 ю;) 0.132 0.121 0.112 IJ!m 0,113 850 О,10З 9,'/W 0,105 Таб.nмu1 0.220 0 ,173 <егоеосим 1 l<D 1ro f1Jfi1975 63,17157 Ко>ФФО<ц.омr 1,017655 6,Э.С2622 Сrд. оw~Б" ко>фф. r"2 F ...... " с О,9962SЭ 62115,331 В.500341 Стд. оwм6к1 оцеио:м У. 11 Стtммм оео6оды -454205 1 79.\ ..,,., Per. 0СТ8ТО'lt1 ·, · ··~->----··· Рис. 6.4. Теплопроводность арсенида галлия: аппроксимация нелинейным уравнением
fJ:ij Аппроксuмацu.я данныи TennonpoooNto~ GaAll :: -----~- ------ -г:-;::--i1 ·-~IЮI,.... -u i • j 1 i u 1 0) 0,1 О+-~--.~~-+-~~-+-~~....,_~~ 1000 о Рис. 6.5. Сравнение экспериментальных данных и аппроксимирующей кривой -.__ Примечание При использовании преобразований нелинейных уравнений следует пом­ нить , что результат вычислений является наилучшей аппроксимацией преобразованного, а не исходного выражения. В большинстве случаев это не имеет значения, но при преобразованиях с экспоненциальной или логарифмической функциями может оказаться , что приближение на од­ ном конце интервала лучше, ,чем на другом. Вычисление степенной регрессии Хотя функции Excel не рассчитаны на выполнение степенной регрес­ сии, ее можно легко выполнить . При степенной регрессии происходи аппроксимация данных выражением вида у == А + Вх + Сх + · · · 2 Это выражение можно легко приспособить для выполнения множественной линейной регрессии с помощью следующих обозначений: Х1 ,; = х 2,i = х2' Х з,; = Xi 3 Х; Давайте аппроксимируем теплопроводность арсенида галлия еще раз, но с использованием степенной регрессии ·третьею порядка (BIUIOTh до х3).
Гnава б f 4:j1 l. Скопируйте лист Рис. 2. Измените метку в ячейке А 1 на ТеплопровQдность арсенида галлия GaAs; 6.4 и назовите копию Рис. 6.6. полиномиальная регрессия. 4. Выделите столбеu С и выполните команду Правка>- Удалить. Вьшелите столбцы В и С и выполните команду Вставка>- Столбцы. 5. В ячейки ВЗ и СЗ введите Т2 и Т3 соответственно. 3. 6. В ячейку 7. В ячейку 84 введите формулу •А4"2 и скопируйте ее в ячейки С4 введите формулу ii=A4"3 и скопируйте ее в 84:816. ячейки С4: С16. 8. Измените формат ячеек В4:С16 на экспоненциальный с двумя деся­ тичными знаками . Введите новую формулу для оценки К. Обратите внимание, что для коэффициента С используется обозначение С_ (С с подчеркиванием), поскольку символ С является зарезервированным. Поскольку имена для коэффициентов еще не определены, все ячейки будут показывать ошибку #REF!. 1. В ячейку Е4 введите формулу •A+B*A4+C_*B4+D*C4 и скопируйте ее в ячейки Е4:Е16. Теперь передвиньте таблицу, чтобы освободить место для результатов вычислений и увеличьте таблицу регрессии. 2. Выделите ячейки АЗ : Е16 и перетащите их за контур в А14:Е27. Вьшели те ячейки 3. . 4. 5. G5:J11 и перетащите их в В4: Е11, затем выделите ячейки Е5:Е11 и перетащите и х в G5:G11. Установите ширины столбцов следующим обtтзом А 7 B:F G 10 20 Установите контуры, как показано на рис. 6.6 6. В ячейки C5:F5 введите D, В и А соответственно. 7. Вьщелите ячейки C5:F6 и присвойте им имя с Вставка > Имя >- помощью команды Создать (Обратите внимание, что ячейка 06 ш.~:еет имя С_, а не С). Теперь выполните вычисление регрессии. 8. Вьщелите ячейки C6:F10 и введите формулу =ЛИНЕЙН(D15:D27;A 15:С27;ИСТИНА;ИСТИНд)· 9. Нажмите комбинацию компьютерах Macintosh) клавиш <Ctrl+Shift+Enter> (<Cmd+Enter> на для вставки формулы во все ячейки в виде массива. Ваш рабочий лист должен теперь выглядеть, как показано на рис. 6.6. Вновь обратите внимание на значения r2, свидетельствующее о хорошей степени приближения реrрессионной кривой к экспериментальным дан­ ным, как это видно из рис. 6.7. ·
f1:fi АппроксuмацШI даннык Таб••ца ~еrрессн• D 1 IC IB -2.27ЗЕ.ОЭ 4 ,ВЗ4ЗЕ.а> 2 .17().4Е r'2 f с."".""· Рис. 6.6. З ,5981Е.07 О,ООЗ8931 В IA .(J,003'10147 1,07785115 D,OOJ18H43 О,ОЗОЭ1047 КооффнЦ1Ое><Т fltl/Д аwд Стд. оwмбк• козфф. Сrд оw•бка oцeнJGI У. 9 АНIД IНIД Степ•"" свободw О,IХЮ13б41 llН/Д IНID 10 0,99897064 2911,0)12 0,13238451 Per. Остаточн. 1 Теплопроводность арсенида галлия: степенная регрессия Tennonpo•oAнocт-11. Gйда 0,6 1-·-:=-~"1 O,S ~ 0,4 !! • 0,3 0,2 0,1 o ~~~....-~~-t-~~~~~--;...-~------1 . о Рис. 6.7. Сравнение 800 1000 экспериментальных данных и аппроксимирующей кривой • Предупреждение Для получения более точного приближения можно использовать полино­ мы более высоких степеней , но при этом кривая часто начинает осцили­ ровать, что нежелательно. Хотя такая кривая и проходит через все ис­ ходные узлы, она не является хорошим приближением для промежуточ­ ных точек. Поэтому при степенях больших 3, необходимо всегда созда­ вать графики полученного приближения, чтобы убедиться в его правдо­ подобности . Желательно использовать дополнительные точки по сравне­ .нию с теми, по которым строилось. приt?лижение.
Гnава б Проверка статистики Проверьте статистические характеристики полученной кривой. Вна­ чале следует убедиться, что коэффициенты регрессии А, В, С и D попа­ дают в 95-лроцентный доверительный интервал. а= (1-0.95) = 0.05 а/2 = 0.025 р= 9 (из рабочего листа) ta/2,p = to.025,9 = ТINV(0.05,9) = 2.262 Sл = 0.0303 (из рабочего листа) to.aдr;Sл = 2.262 • 0.0303 = 0.0685 Это число гораздо меньше знаqения А, поэтому коэффициент А явля­ ется значимым. Аналогичный анализ применяется и к другим коэффици­ ентам. Затем необходимо прове.рить, что корреляция данных с полученной кривой не обусловлена 1 = 3, р = статистики для п случайными 9 флуктуациями. и доверительного интервала Значение 0,95 FРАСПОБР(О,05 ,З,9)=3,86 , что гораздо меньше вычисленного значения стапiстики 2911, F- составляет F- поэтому корреляция между кривой и эксперименталь­ ными данными не случайна. Остаточная сумма квадратов намного мень­ ше регрессионной суммы квадратов. Таким образом, данные оказывают­ ся сгруппированными вдоль аппроксимирующей кривой, а не разбросан­ ными хаотически вокруг некоторого среднего значения. Использование линий тренда Если нужно просто аппроксимировать данные и построить график без отображения данных на рабочем листе, можно восполь:.ю1щться свойст­ вом диаграмм создавать линии тренда. Для этого необходимо выделить ряд данных на диаграмме и выбрать команду меню Диаграмма > Добавить линию тренда. Откроется диалоговое окно Линия тренда, по­ зволяющее выбрать параметры добавляемой линии. Существует возмож­ ность создавать линии типа Линейная , Степенная, . Логарифмическая, Экспоненциальная, Полиномиальная и Скользящее среднее . После нажа­ тия на кнопку ОК, на диаграмме будет отображена выбранная линия тренда и, по выбору, указана формула регрессии и коэффиuиент детер­ минированности r2. Выполните полиномиальную регрессию еще раз, но У'Же средствами линии тренда. l. 2. Создайте копию рабочего листа Рис. 6.1 и назовите ее Рис. 6 .8. Измените метку в ячейке А 1 на Теплопроводность арсенида галлия GaAs; 3. линия тренда. Выделите ячейки СЗ:Н16 и удалите их содержимое.
t4:ta Rnnpoкcuмaцuя даннмк 4. Выделите ячейки А4: 816 и с помощью мастера диаграмм постройте диаграмму типа Точечная. 5. 6. 7. Активизируйте диаграмму, выделите ряд данных, выполните команду Формат >- Выделенный ряд, щелкните на вкладке Вид и отключите отображение линий, оставив только маркеры. Выберите команду м еню Диаграмма >-Добавить линию тренда . В ди алоговом окне Линия тренда щелкните на вкладке Тип, выберите Полиномиальный и установите в поле Степень значение 3. 8. Щелкните на вкладке Параметры и установите флажки показывать уравнение на диаграмме и поместить на диаграмму величину достоверности аппроксимации . Теперь диаграмма должна выглядеть, как 1юказано на рис. нией тренда, используемой формулой и значением г2. 6.8, с ли­
fi:f:i Гnава 6 o.s o.• s О,• i 0,3!> О,З ~,25 0.2 ..: 0,1:5 0 ,1 OJ)S О+-~-..~~....-~---;~~---~--. •ОО 6(10 800 1000 f емnер•тур• 00 Рис. 6.8. Уравнение регрессии , полученное при добавлении линии тренда ~ Приме':lание ... Чтобы числа в формуле содержали большее количество десятичны х зна­ ков, необходимо выделить формулу и изменить формат представления .l:jЭ~.H!:,IX... "" . . ."." .•.•.. " .... ."."". "" •... Работа со сложными функциями Есл и функция н е допускает л инеаризацию , к ней невозможно приме­ нить встроенны е функuии регрессии . Например, экспоненциальная = АеВх может быть линеаризована с использованием ло­ гарифмирования Lп(у) = Lп(А) + Вх и сопоставления величин Lп(А) и В функция вида у коэффициентам регр ессии. С npyroй стороны , сумма экс пон ент вида у = АеВх + CeDx не может быть приведена к линейному виду, если неиз­ D. вестны величины В и ._.Пред.упр~ждени..е .. Как указывалось ранее, коэффициенты , вычисленные для линеаризован­ ного уравнения, являются наилучшим (по методу наименьших квадратов) приближением для это.го уравнения , но не для исходного . Например, рег­ рессия линеаризованной версии экспоненты, указанной ранее, даст наи­ лучшее приближение для величин Ln(A} и В линеаризованного уравнения. Эти значения не обязательно будут наилучшим приближени­ ем для величин А и В исходного выражения, хотя будут и блиЗки к такому при{)лижению . ....
f4фi Rппроксuмацuя данныи ~одбор коэффициентов вручную Для аппроксимации уравнений, которые не могут быть исследованы методами регрессионного анализа, приходится последовательно подби­ рать коэффициенты для достижения максимума величины r2, соответст­ вующего наименьшей остаточной ошибке. Коэффициент последователь­ но увеличивается или уменьшается, пока не будет достигнут максимум r2, после чего начинается подбор следующего коэффициента. Когда таким образом определены все коэффициенты, процесс начинается сначала для проверки того, что изменение последующих коэффициентов не изменило максимум предыдущих. Так продолжается до тех пор, пока не будут най­ дены значения коэффициентов, одновременно обеспечивающих макси­ мальное значение коэффициента корреляции. Иногда случается так, что вместо сходимости к единственному реше­ нию алгоритм начинает осциллировать между двумя значениями. Изме­ нение одного коэффициента приводит к изменению максимума другого и наоборот. В-таком случае попробуйте уменьшить шаг алгоритма. Если это не приведет к сходимости, решение о наилучшем приближении тре­ бует привлечения дополнительных соображений. Возможно, что в про­ странстве решений существуют два локальных максимума и то, какой из них будет достигнут в результате вычислений, зависит от начальных условий. Сечение ионизации В табл. 6_2 приведены данные о сечении ионизации гелия электрона­ ми с энерrией от 150 eV до 1 KeV. Сечением ионизации называется эф­ фективная площадь атома, используемая при расчете вероятности столк­ новения между электроном и атомом, приводящем к ионизации этого атома. Если представить атомы в виде мишеней, обстреливаемых элек­ тронами, то сечение будет равняться площади мишени. Чем больше площадь, тем больше вероятность столкновения и ионизации. . 1 ' Таблица 6.2. Экспериментальное сечение ионизации rелия электронами Энергия электронов 150 175 200 250 300 350 400 450 500 550 600 650 700 {eV) Сечение ионизации 0,419 0,408 0,394 0,365 0,337 0,313 0,292 0,272 0,255 0,240 0,227 0,216 0,205 {7ta0 2)*
f4Фi Гnава Энергия электронов (eV) 750 800 850 900 950 1000 6 Сечение ионизации (1ta0 2) * 0,194 0,187 0,178 О, 171 0,165 0,160 Из предыдущего опыта я знаю, что зависимоеть сечения от энергии напоминает убывающую экспоненту. Следовательно, для аппроксимации необходимо использовать выражение вида S(E) =А( 1-е-м) где S вольтах ' сечение в единиuах (;roif), Е - eV, А энергия электронов в электрон­ и В- неизвестные коэффициенты. 1. Создайте новый рабочий лист и назовите его Рис. 2. В ячейку А1 6 .9. введите название Сечение ионизации rелия электро­ нами. 3. Введите следующие величины в ячейки АЗ:ЕЗ (для ввода симво,1а 1f необходимо, удерживая нажатой клавишу <Alt>. набрать О 182 на циф­ ровой клавиатуре): АЗ: E(eV) 83: S(11'a02) СЗ: S расчетн. ЕЗ: (у-<у>)2 DЗ. (у-ух)2 4. В ячейки А4:822 введите данные из табл. 1. Создайте таблицу для искомых коэффициентов. Введите следующие величины в ячейки FЗ :G4 и выровняйте по пра­ вому краю содержимое ячеек FЗ и 2. 6.2. F4. FЗ А GЗ О,5 F4 В G4 500 Присвойте ячейкам следующие имена GЗ А Н6 G4 В Н7 AvEy Free Теперь введите уравнение для вычисления приближенных значений у. Следующие два столбца содержат сумму квадратов относительно кривой и сумму квадратов относительно среднего значения, необходимые для вычисления стандартной ошибки оценки у и ,.2. ._ Примечание • В Excel имеются встроенные функции для вычисления стандартной ошибки оценки у и r2, но они моrут использоваться только для линейной регрессии. Формулы, приведенные в данном разделе, могут использо­ ваться для любого уравнения . 3. В ячейку С4 введите следующую формулу
Rnnpoкcuмaцuя данныи =А*{1-ЕХР(-8/А4)) и скопируйте ее в ячейки 4. В ячейку 04 05:022. введите формулу =(84-С4)л2 и скопируйте ее в ячейки 5. 05:022. В ячейку Е4 введите формулу =(84-АvЕу)л2 и скопируйте ее в ячейки Е5:Е22. Создайте таблицу для статистиюf 1. 2. В ячейку Fб введите Среднее значение у <у>. В ячейку Нб введите формулу =СРЗНАЧ(В4:822) 3. 4. В ячейку F7 введите метку Степ. свободы. В ячейку Н7 введите формулу =сч~=т(В4:В22)-2 5. 6. В ячейку F8 введите метку Стд. ошибка оц. У. В ячейку Н8 введите формулу =KOPEHb{CYMM(04:022)/Free) 7. В ячейку F9 введите 8. В ячейку Н9 введите r. формулу =1-СУММ{О4: 022)/СУММ(Е4:Е22) 9. Измените формат ячеек 84:С22 на числовой, с тремя десятичными знаками. 1О. Измените формат ячеек D4:E22 на экспоненциальный, с тремя деся­ тичными знаками. Теперь рабочий лист должен выглядеть, как показано на рис. 6.9. Чтобы его использовать, выберите какие-либо начальные значения ко­ эффициентов А и В, например 0,5 и 500, и введите их в таблицу (ячейки GЗ и G4). Добавьте и отнимите О, l от коэффициента А и посмотрите, когда значение r2 будет увеличиваться. Продолжайте добавлять или от­ нимать по О, l от коэффициента А до тех пор, пока величина г2 не дос­ тигнет максимального значения. Теперь подберите значение В, прибав­ ляя или отнимая по 100 пока г2 вновь не достигнет максимума. Возвра­ титесь к коэффициенту А, чтобы проверить, не сместился ли максимум r1. При необходимости, подберите кшффициент А еще раз. Продолжайте подбор А и В пока не достигнете максимума г2 по обоим коэффициентам одновременно. Теперь уменьшите на порядок щаr подбора коэффициентов А и В. Добавляйте и вычитайте 0,01 от значения А и 10 от значения В пока вновь не достигнете максимума г2. Еще раз уменьшите на порядок шат подбора Ан В {0,001 найдете максимум r2 и l соответственно) и повторите процесс. Когда вы в этот раз, получите значения коэффициентов с точностью до трех значащих цифр (А = 0,443, В = 434, r2 = 0,999582).
f Иj Гnава Как видно из рис. 6. 1О, 6 полученная кривая хорошо совпадает с данными эксперимента. (eV) 150 S !fao2) S рас;чет" (у · y,'f' (у· <y>'f' 0.419 а,4iё 2,зi:!Е~о7 2,4ЭЕ-02 О,Щ! 175 200, 250 0,39>1 O.P.i П1 .... 0.337 0,313 0,:192 (J,:172; о.255 700 · ""'':.• Рис. д. 0,400. 4.40Е-ОО 2,10Е-02 О 392' 2,50Е-()5 1}1Е·О2 Сред"ее эначенне у <у>: О,2бЭJ53. о:З65 4,51Е:О9 1,04Е:О2 Cren. сво.боды 0.339: З,02Е-~. 5,4lbllЗ ётд о.;,иб•З "'> о.жi o;z4i з:11 E{W) 5.31 E;ai' 0,2161 4,44E:{jj 2,21ё-аз 0,205 9,57E.al З,37Е-QЗ .~~..,.. ... ..17' o,00i826 0.999582 У. 0,315 3.25E.ffi 2.49Е-QЗ r1 0.293: 1,71 E.ffi В,ЗВЕ·О4 0,274 4,54Е-ОО В,01Е·О5' о.257' (1ЭЁ{6. 6.48ё-dГ OZ2i 0,216 0,205 0.443 434 в о.22Е( 1:1ЕIЁ{6 1,ЗОЕ.о3 'Тi\ii" '""i[ii· · "";j'jj: , G., :r ;•;::;;:;;';•::;•;;;:•::" 6.9. Сечение ионизации гелия электронами: подбор коэффициентов вручную О,'450 ---·········--·······················--·············································· О,ЩI О,ЭSО 1<' 0,3)0 1-·::•..-1 ~ 0,250 е 0.200 "" 0,1'50 0,100 0,050 0,000-1--~~~~~~~~~~----< Рис. 6.10. Расчетная кривая зависимости сечения ионизации гелия от энер­ гии электронов Автоматический подбор коэффициентов· В последнем примере коэффиuиенты аппроксимирующего уравнения подбирались вручную, пока не достигался максимум коэффициента де­ терминированности r2. Такой метод иногда приходится применять, если уравнение является сильно нелинейным или имеет странное поведение в области решения. Такими уравнениями являются те, которые имеют ло­ кальные минимумы и максимумы. Тогда для подбора коэффиuиентов приходится прибегать к интуиции. Однако в большинстве случаев для поиска решения можно применять машиниые алгоритмы.
f 411 Rппроксuмацuя даннын В состав Excel входит дополнительная надстройка Поиск решения, ко­ торая может быть использована для автоматической максимизации зна­ чения г2 и аппроксимации данных. Надстройка Поиск решения разрабо­ тана для подбора значений некоторых ячеек таким образом, чтобы зна­ чения других ячеек удовлетворяли заданному критерию. Использование надстройки Поиск решения Размещение данных на рабочем листе для использования надстройки Поиск решения аналогично предыдущему примеру. Фактически, Поиск решения становится на ваше место, изменяет значения А и В и наблюда­ ет за изменениями r2. Можно было бы использовать формулы массива м в предыдущем примере , но их сложнее понять. Начните с замены формул в столбuах формулами массива. 1. Создайте копию рабочего листа предыдущего примера и назовите ее Рис. 2. 6 .11 . Выделите столбцы О и Е и очистите их содержимое с помощью ко­ манды Правка > Очистить. 3. В ячейку Н8 введите формулу стандартной ошибки оценки У =KOPEHb(CYMM((84 : 822-C4:C22)л2)/Free) 4. Нажмите комбинаuию клавиш <Ctrl+Shift+Enter::> (<Cmd+Enter> на компьютерах Macintosh) для вставки в качестве формулы массива. 5. В ячейку Н9 введите формулу для r 2 =1-СУММ((В4: 822-С4 : С22)л2)/СУММ((84:822-АvЕу)л2) 6. Нажмите комбинацию .клавиш <Ctrl+Shift+Enter> (<Cmd+Enter> на компьютерах Maciпtosh) для вставки в качестве формулы массива. 7. Присвойте ячейке Н9 имя rsq. Две формулы массива полностью заменяют два столбuа вычислений из предыдущего примера. Замена в формулах ссылок на ячейки ссьшка­ ми на массивы и введение формулы нажатием клавиш <Ctrl+Shift+Enter> позволяет втиснуть два столбца вычислений в две ячейки . При обработке ·формул массива, Excel находит первую ячейку в каж­ дой ссылке на массив и вычисляет результат. Затем повторяет эти дейст­ вия со следующим набором ячеек и так далее, пока не исчерпаются мас­ сивы. Например, для вычисления ячейки Н8 ячеек С4:С22 из значений ячеек список из Excel вычитает значения 84:822. Результат представляет собой 19 чисел , которые передаются функции СУММ, складывающей элементы списка. Затем результат делится на содержимое ячейки Free, и и з полученного извлекается квадратный корень. Если при вводе форму­ лы нажать клавишу <Enter> вместо комбинации <Ctrl+Shift+ Enter>, фор­ 88 и С8 (элементам массива из мула будет применяться только к ячейкам того же ряда , что и сама формула). Перейдем к использованию надстройки Поиск решения . 1. Установите значения коэффициентов А и В в ячейках GЗ и ными 0,5 и 500. G4 рав­
'4'' 2. Гnава 6 Выберите команду меню Сервис~ Поиск решения. Если такая коман­ да недоступна, необходимо ее установить, выбрав команду Сервис ~ Надстройки и установив флажок возле пункта Поиск решения в поя­ вившемся списке надстроек. 3. В диалоговом окне Поиск решения в поле Установить целевую ячейку введите rsq. Установите переключатель Равной: в положение максимальному значению и введите А; В в поле Изменяя ячейки. Теперь надстройка Поиск решения настроена на максимизацию значения rsq путем подбора значений А и В. 4. Для поиска решения нажмите на кноп:к-у Выполнить. Во время работы надстройки Поиск решения в нижней части экрана отображается текущее значение rsq, позволяющее контролировать про­ цесс. Когда решение найдено, оно выводится на экран в диалоговом ок­ не Результаты поиска решения. После этого можно сохранить найденные значения ми восстановить исходные. Можно также вывести на печать один из отчетов, указанный в списке Тип отчета. Если используется дис­ петчер сценариев, решение можно сохранить в виде сценария нажав на кнопку Сохранить сценарий. Более подробную информаuию по данному вопросу можно найти в Руководстве пользователя Microsoft Excel или файлах справки. 5. Нажмите на кнопку ОК в диалоговом окне Поиск решения. Результат вычислений показан на рис. 6.11. Он немного отличается от того, который был найден вручную, поскольку тоrда процесс был пре­ кращен после нахождения трех значащих цифр. Возле решения находят­ ся несколько локальных максимумов, которые могут ввести вас (и Поиск решения) в заблуждение. После того, как решение найдено, можно до-
Rппроксuмацuя даннын полнительно исследовать область возле этого решения, чтобы определить наличие других решений, соответствующих большему значению Е (•YJ S ct"') S р~сч""' д 150 175 о.~19 о.д19 О,4оо о.39-4 О,доб o;m 250 (];Я; iэ,i\5- DJ О.337 О.з39 Сrд ошмбi<а 0,313 о.292 0,272 0,315 о:т 0)7i т2 ···· 200 о .255 ·· 0,443'>51 432,70.6 Среднее э~.а•.е~не у <у> Стг". свобо.цЫ. · ·· •« У о,257 О.240 о;ю О;д7 D.226 0,216 0,216 .. в r2. 700 о io5 о ,205 . \U~"".~+fljiij2Щi~~~:\ff~~_,,~1_1~}J'4•1•'l''Ji~\iEJJZC•.;;J;t . if'bl ~: ,., .. Рис. 6.11. Рабочий лист после подбора коэффициентов надстройкой Поиск решения Использование процедуры Visua/ Basic для автоматизации подбора коэффициентов Если, по каким-либо причинам, работа надстройки Поиск решения вас не удовлетворяет или требуется более полный контроль над процес­ сом поиска, можно написать процедуру Visual Basic для подбора коэффициентов и нахождением решения. Ниже приведен пример такой про­ цедуры, подбирающей значения А и В в зависимости от увеличения зна­ чения r2. Option Explicit ' ' Макрос подбора ' Процедура аппроксимации. ' Sub Adjustlt() Dim dЫА As ОоuЫе Dim dЫВ As ОоuЫе Dim dЫDA As DouЫe Dim dЫDB As ОоuЫе 'Detta А 'Delta В Dim dЫStop As Double ' Останавливающее значение Dim fТest As Вoolean ' Флаг изменения Dim dЫRsq As ОоuЫе ' Значение квадрата r Dim dЫRsqMax As Double ' Наибольшее найденное значение квадрата r 'Инициализация переменных. dЫА = ActiveSheet.Range("A").Vatue dЫВ = ActiveSheet.RangeC'B").Value dЫDA dЫDB = dЫА / 10 =dЫВ / 10 .
149 dЫStop Гnава 6 = dЬIDA / 10000 = ActiveSheet.Range{"rsq").Value dЫRsqMax 'Цикл пока не будет достигнуто останавливающее значение. Do l/Vhile (dЫDA > dЫStop) · 'fТest is True if А or В have changed in an iteration. fТest =True Do l/Vhile (fТest = True) fТest = False 'Увеличиваем А и обновляем рабочий лист, проверяем, увеличилось ли значение dblA + dЬIDA ActiveSheet.Range("A").Value = dЫА Calculate dЫRsq = ActiveSheet.Range("rsq").Value lf (dЫRsq > dЫRsqMax) Then 'Если значение r"2 увеличилось. обновляем f"\2max и dЫRsqMax = dЫRsq fТest =True Else r"2. dЫА = устанавливаем флаг. 'Если значение гл2 уменьшилось, пробуем уменьшить А снова проверяем. dЫА = db1A - 2 * dЬIDA ActiveSheet.RangeC'A").Value = dЫА Calculate dЫRsq = ActiveSheet. Range("rsq"). Value lf {dЫRsq > dЫRsqMax) Тhеп ' Если значение r"2 увеличилось, обновляем гл2mах и усrанавливаем флаг. dЫRsqMax = dЫRsq fТest =True Else ' Если значение r"2 уменьшилось, возвращаем А к исходному значению. dЫА = db1A + dЫDA ActiveSheet.RangeC'A").Vatue = dЫА Calculate End lf End lf 'Теперь повторяем то же самое для В. ' Увеличиваем В и обновляем рабочий лист. проверяем, увеличилось ли значение f"\2. dЫВ = dЫВ + dЫDB ActlveSheet.Range("B").Value dЫВ Calculate dЫRsq = ActiveSheet.RangeC'rsq").Value lf (dЫRsq > dblRsqMax) Тhen ' Если значение f"\2 увеличилось, обновляем f"\2max и устанавливаем флаг. = dЬIRsqMax fТest =dЫRsq =True Else 'Если значение f"\2 уменьшилось, пробуем уменьшить В снова проверяем. dЫВ = dЫВ - 2 " dЫDB ActiveSheet.Range("B").Value = dЫВ Calculate dЫRsq = ActiveSheet.Range("rsq").Value lf (dЫRsq > dЫRsqMax) Тhen
•m Пппроксuмацuя даннын 'Если значение = 1""2 увеличилось, ое>новляем r"2max и усrанавливаем флаr. dЬ/RsqМax dЬIRsq fТest True = Else ' Если значение 1""2 уменьшилось, возвращаем dЬIB dЫВ + dЫDB ActiveSheet.Range("B").Value = dЫВ Calculate End lf End lf = В к исходному значению. Loop 'Попадаем сюда только, если ни А, ни В не изменились во время итерации. 'Умен~:.шаем как dЫDA dЫDB Delta А так и Delta В в 1О =dЬIDA / 10 раз. = dЬIDB / 1О Loop End Sub Вначале процедура копирует исходные значения А и В из рабочего листа и инициализирует некоторые другие переменные. Затем следует цикл, который .выполняется до тех пор, пока значение и зменения А (dЫDA) не станет меньше останавливаюшеrо значения. Этот цикл опре­ деляет число десятичных знаков в решении. Затем ~;:брасывается флаг fГest и начинается цикл, который продолжается пока установлен флаг. В начале каждого прохождения цикла флаг сбрасывается и затем устанав­ ливается, если какой-либо из коэффициентов изменился. Если нИ: один из коэффициентов не менялся, значит достигнуrо максимальное значе­ ние r2, цикл завершается. вНугри цикла, первый блок кода увеличивает значение А на DA, обновляет рабочий лист и проверяет изменение зна­ чения коэффициента детерминированности r2. Если произошло уве.uиче­ ние r2, новое значение сохраняется и устанавливается флаг ffest. Если произошло уменьшение r2, значение А уменьшается на 2*dЫDA и r2 про­ веряется вновь. Если значение коэффициента детерминированности r2 увеличилось, новое значение сохраняется и устанавливается флаг. Если увеличения не произошло, значение коэффициента А восстанавливается. Следуюший блок кода производит те же действия для коэффициента В. Этот цикл продолжается до тех пор, пока значение r2 не может быть более увеличено пугем изменения коэффициентов А и В . После этого величины dЫDA и dЫDB уменьшаются в 10 раз, dЫDA сравнивается с останавливающим значением и, если условие остановки не выполнено, цикл начинается вновь. Если условие остановки достигнуго, процедура завершается. Вычислите сечение ионизации еще раз с использованием вышеприве­ денной процедуры. 1. 2. 3. Создайте копию рабочего листа Рис. 6.11 и назовите ее Рис. 6.12. Выберите команду меню Сервис> Макрос> Редактор Visual Basic. В окне редактора VisuaJ Basic выберите команду Вставке > Модуль. Присвойте новому модулю имя Adjusters.
f 4i:J 4. 5. rпава б · ~ведите текст процедуры Adjustlt. Вернитесь · в рабочий инструментов Формы лист с Рис. 6.12, помощью активизируйте команды Вид > панель Панели инструментов ~ Формы, щелкните на объекте Кнопка и нарисуйте кнопку на рабочем листе. Откроется диалоговое окно Назначить 6. 7. 8. макрос объекту. Выберите макрос Adjustlt и щелкните на кнопке ОК. Измените имя кнопки на Аппроксимировать данные. Закройте панель инструментов Формы. Измените значение А в ячейке GЗ на 0,5 и значение В в ячейке G4 на 500. 9. Шелкните на кнопке Аппроксимировать данные. Значения А и В станут последовательно изменяться, пока не будет достиrнуто решение, как показано на рис. ~:~ g:~г о ,э;5 о ,3i5' ·Стео. свободы 0.339 . 0,315. ·Стд ошиб'"' оц. У . 0,394 0 ~7 0.313 0,292 О.272 0,255 ·· Рис. 6.12. О.24о о:zг · С,393, · Сред"еt эн3о..1&ttие у <у> r . 6.12. 0,263 17 0.0018)_7, о~. 0)93' 0,'274; ...... ·--~ :f IJ,267 : 0.242; од! · 0~1~ · о}Щ~ . Нелинейная аппроксимация с помощью процедуры Visual Basic Просмотр таблиц и интерполяция Часто данные невозможно описать никакой простой или относитель­ но сложной функцией. В таком случае лучше всего использовать функ­ ции просмотра таблиц. Эrn функции находят и интерполируют значения из таблиц дпя заданного значения х. Фактически происходит аппрокси­ мация простой кривой небольшого количества точек в окрестности инте­ ресуюшей точки вместо использования сложной кривой .nля аппрокси­ мации всего множества данных. Просмотр таблиц въшолняется с помощью фунщий ГПР, ВПР и ПОИСКПОЗ. Функuии ГПР и ВПР производят поиск в одном столбце таблице и возврашают значение из другого столбца в том же ряду. Функ­ ция ПОИСКПОЗ также производит поиск в таблице, но возвращает поло­ жение. ячейки, содержащей заданное значение. Процесс интерполяции может быть задан в виде процедуры или с по­ мощью функций рабочего листа. Различие в методах интерполяции за­ ключается в уравнениях, используемых для оценки значений между за-
f 40 Аnпроксuмацuя даннык данными точками. Простейшим и наиболее часто используемым методом является линейная интерполяция. Еще проще использовать функции просмотра таблиu и принять интерполяционные значения, возвращенные ими. Во многих случаях такой подход окажется достаточным и сохранит вам много времени . Часто используются квадратичная и кубическая ин­ терполяции, использующие три или четыре точки. Более сложными функциями являются сплайны и полиномы Чебышева. Более подробную информацию об этих методах интерполяции можно найти в книгах по численному анализу. Использование линейной интерполяции Линейная интерполяция заключается в простом соединении двух то­ чек, расположенных по обе стороны интерполируемого интервала, пря­ мой линией . Если точки расположены достаточно близко, линейная ин­ терполяция дает достаточно хорошее приближение. Кроме того, такой метод намного проще реализовать по сравнению с другими, использую­ щими более высокие порядки. Формула линейной интерполяции в форме Лагранжа имеет вид (х-х 2 ) (х-х 1 ) у= ( У1 + ( )У2 Х1 -х2) Х2 -Х1 ' где Х1, х2, у 1 и у2 - заданные точки, а интерполируемое значение х расположено между х 1 и Х2. Таблицы пара Таблицы пара содержат данные о температуре, давлении, плоrnости, , энтальпии и энтропии насыщенного пара , перегретого пара и воды, на­ ходЯшейся под давлением. Насыщенным паром называется смесь пара и воп.ы при такой температуре и давлении, когда обе фазы находится в равновесии друг с другом . Линия насыщения разделяет график зависи­ мости давления от температуры на две области, соответствующие пару или воде , как показано на рис. 6.13. Перегретый пар соответствует облас­ ти над кривой насыщения со стороны более высоких температур. Вода, находяшаяся под давлением, соответствует об.Ласти над :кривой насыше­ ния со стороны более высокого давления . Таблицы пара используются инженерами при разработке и эксnлуата­ uии устройств преобразования энергии, а также использующих пар в ка­ честве рабочего тела. К таки устройствам оrnосятся паровые двигатели, паровые турбины, паро- и водонагревательные системы, ядерные реакто­ ры. Кроме того, таблицы пара используются учеными при изучении свойств пара и воды. Например, ядерные реакторы используют в качестве теплоносителя воду, находяшуюся под давлением . При уменьшении давления до линии
11Фi Гnава б насыщения вода превращается в пар, после чего температура и давление изменяются вдоль линии насыщения до тех пор, пока либо давление не увеличится до такого уровня, что прекратится парообразование, либо вся вода перейдет в пар (что, естественно , может привести к "паровому" взрыву). К счастью, такой процесс является затухающим. При уменьше­ нии давления энтальпия (называемая также тепловой функцией) тоже уменьшается, что приводит к увеличению температуры в реакторе (как и в любом другом котле), поскольку уменьшается отвод тепла от обласrn нагрева. Возрастание температуры, в свою очередь, приводит к повышению давления и затуханию процесса. ~ =1·----- .-·--- .----- ----- .---- -·---- . ~· l 12000 1500 11~,.~ ~ D ~ Ш 500 -·-;::"!' Рис. 6.13. ~ ,._.,,.tf) j ~ ~ ~ ~ ~ ·.·· ·._.,. . " ".•. :, :, ' ., " '' •' ' Кривая зависимости давления от температуры для насыщенного пара (область над кривой соответствует чистой воде, под кривой - чистому пару;_ смесь пара и воды может существовать только на кривой) В любом случае, закипание воды в реакторе являет<:я опасным явле­ нием, поэтому инженерам и операторам необходимы знания о линии на­ сыщения, чтобы разработка и эксплуатация реактора проходили в соот­ ветствии с требованиями норм безопасности. Типичный реактор работает при температуре порядка 600°F (около 316°С) и давлении 2250 psi (около ат; psi - фунт на квадратный дюйм (pound per squaгe inch), примерно · равен 6,5 кПа или 0,065 ат), которые находятся 'достаточно далеко от ли­ 146 нии насыщения . В следующем примере мы создадим рабочий лист, который будет вы­ числять давление насыщенного пара при заданной температуре. При этом будут использоваться функции просмотра таблиц и метод линейной интерполяции. .Данные для расчета приведены в табл. 6. 3. 6.14. 1. Создайте новый рабочий лист и назовите его Рис. 2. В ячейку А1 введите Насыщенный na.p: линейная интерполяция. 3. Установите ширину столбца В равной 10. 4. Введите следующие метки в ячейки АЗ и ВЗ: АЗ Темп. (F) ВЗ Давление (psi) .
11~11 Rnпроксuмацuя даннын Таблица Температура (F) 300 320 340 360 6.3. Давление и температура насыщенного па~а ~ Давление ~ (psi)* 67 90 118 153 196 247 309 382 467 566 681 812 963 380 400 420 440 460 480 500 520 540 560 1133 1326 580 600 620 640 660 680 700 1543 1787 2060 2366 2709 3094 Теперь введите данные температуры и давления. 5. 6. 7. В ячейки А4:А24 введите значения от 300 до 700 с шагом 20. В ячейки 84:822 введите цифры давления из табл. 6.3. Присвойте диапазону А4:А24 имя Temperature и диапазону имя 84:824 Pressure. Затем создайте таблицу ДllЯ вычисления линейной интерполяции. 8. Введите следующие метки в ·указанные ячейки 04 05 ЕЗ Е5 Температура Ввод Линейная интерполяция Индекс F4 F5 G5 Н5 Выходное давление Выч. Истинное Ошибка Введите несколько наутад выбранных значений температуры в стол­ бец D для вычисления линейной интерполяции . Для сравнения с резуль­ татами вычислений , введите истинные значения давления в столбец 9. Введите следующие величины в ячейки 06:011 07 510 520 09 010 D8 302 011 Об G. 622 538 456 Функция просмотра таблиц и уравнение интерполяции слишком ве­ лики, чтобы их можно было разместить в одной ячейке, поэтому помес­ тите функцию просмотра таблицы в одну ячейку , а функцию интерполя­ ции в другую. Для каждого значения температуры, функция ПОИСКПОЗ возвращает номер строки, содержащей наибольшую температуру, мень­ шую или равную }казанной. Обратите внимание, что ДllЯ правильной ра-
Гnава 6 боты этой функции, значения температуры должны быть отсортированы. Первый аргумент фунI<Jдlи ПОИСКПОЗ можно установить равным О, в таком случае функция будет искать точное соответствие, и табличные данные могут быть неупорядоченными. Олнако при применении метода интерполяции, данные обязательно должны быть отсортированы. Воз­ вращенный номер строки используется в функции ИНДЕКС для доступа к значениям давления и температуры, используемым при вычислении ин­ терполяционных значений в столбuе 10. В ячейку Е6 введите формулу F. =ПOИCKПOЗ(D6;Temperature) и скопируйте ее в ячейки Е7:Е11. 11 . В ячейку F6 введите формулу =(D6-ИHДEKC(Temperature;E6+ 1})*ИHДEKC(Pressure;E6) /(ИHДEKC(Temperature;E6}-ИHДEKC(Temperature;E6+1 )) +(D6-ИHДEKC(Temperature;Eб))*ИHДEKC(Pressure; Е6+1) /(ИHДEKC(Temperature;E6+1 }-ИHДEKC(Temperature; Еб)) и скопируйте ее в ячейки 12. В ячейки G6:G11 G6 G7 G8 13. F7:F11. введите следующие величины 744 812 69 G9 G10 G11 1812.8 946.9 448.7 Вычислите ошибку интерполирующих значений. В ячейки Н6:Н11 введите формулу =(G6-F6)/G6 14. Измените формат ячеек Нб:Н11 на процентный, с . тремя десятичными знаками. Ваш рабочий лист теперь дол'ж.ен выглядеть, как показано на рис. 6.14. Обратите внимание, что дпя всех шести тестовых значений макси­ мальная ошибка составляет только !•~· (1') ~})~-~~ (l>~ia). --~~- . . ··· 11s: ... .. ':йi: 34о.. EJ: зЕо 4оо ё:ю[ 4.40 ~; ··;···· · s•i:J' i96 ' "·;· ЭО9 ~~- -······; ' 681: 812' sm. 113з · 5Э:I ' ... ш ..... 62'2 531. :m: 52)' _]1•~8\1~• ~""'!P"-OJI!''!!!~. . ··· ······1i : ..... ·:i=•P~:dёit. ·\:~"4~,~~=iОwибк1 153 500: s.w· .•. .. • . -~; 0,5%. 456i . 12 1. iГ 12• в: 745~5: 81i бЭ.З 1ё14j 947 /J: . 45di ··· 7.ц ~ · · ···· · · .I .IJ,335% 812 O,OOJ% 69 .{J,4З5% iёi:i.8 · .1J,!JD% 94б;g. .O,iili% Ц8,7 .(),29J~( ' . ' 953· Рис. 6.14. Кривая насыщения пара: использование функций · таблиц и линейной интерполяции просмотра
Аnпроксuмацuя даннын Предупреждение • Линейная интерполяция хорошо аппроксимирует гладкие функции. Одна­ ко следует помнить, что производные от линейно интерполированных функций не являются непрерывными, поскольку такие функции имеют из­ лом в каждой заданной точке. Чаще всего это не представляет проблемы, однако, в ..моей практике был случай, когда разрывной характер произ-­ водной приводил к явным структурным изменениям в результатах вычис­ лений, использовавших линейную интерполяцию. Пока причина не была выяснена, создавалось впечатление, что обнаружен новый физический процесс. Если для ваших вычислений важна непрерывность производной, наилучшим (и более сложным в реализации) выбором будет интерполя­ ция сплайнами. Кубическая интерполяция После линейной интерполяции следует квадратичная, а затем кубиче­ ская. Последнян является более точной, чем квадратичная, не только ввиду использования кривой более высокого порядка, но и что более важно, ввиду большей симметрии относительно интерполируемых точек. При кубической интерполяции четыре последовательных точки аппрок­ симируются кривой третьего порядка таким образом, что интерполируе­ мая точка находится межцу двумя центральными. Формула Кубической интерполяции в форме Лагранжа имеет вид: (х-х 2 )(х-х 3 )(х-х 4 ) (х-х 1 )(х-х 3 )(х-х 4 ) у= ( Х1 - Х2 )( Х1 - Х3 )( Х1 - Х4) Yi + ( Х2 - Х 1 )( Х2 - Х3 )( Х2 - Х 4 ) Yl + Х1 )( Х - Х2 )( Х - Х 4 ) ( Х - Х1 )( Х - Х2 )(х - Х3) ~+ у (х 3 -х 1 )(х 3 -х 2 )(х 3 ~х 4 ) (х 4 -х 1 )(х 4 -х 2 )(х 4 -х3 ) (Х - где XJ, х2, х;, х4, у1 , У2. Уз и У4 последовательные значениях и у из ~блицы. Для получения наилучшей оценки для у, интерполируемое зна­ чение х должно находиться между х2 их;. Для сравнения результатов кубической и линейной интерполяции, расположите таблицу кубической интерполяции на одном рабочем листе с линейной. Поскольку формула для кубической интерполяции сложнее, чем для линейной , для ее вычисления лучше создать отдельную функ­ цию. Сначала создайте таблицу интерполяции с теми же значениями, что и в таблице линейной интерполяции. 1. 2. 3. Создайте копию рабочего листа Рис. 6.14 и назовите ее Рис. 6 .15. Измените метку в ячейке А1 на Насыщенный пар: линейная и кубическая интерполяции. В ячейку Е12 введите метку Кубическая интерполяция
11ф1 4. f naвa 6 Выделите ячейки D6:D11 и скопируете их в ячейки D13:D18. 5. Выделите ячейки G6:H11 и скопируете их в ячейки G13:H18. 6. В ячейку F1 З введите формулу =Cublclnterpolation(Temperature;Pressure;D13) и скопируйте ее в ячейки F13:F18. 7. Выберите команду меню Сервис > Макрос > Редактор Visual Basic. В окне редактора Visual Basic свойте новому модулю имя 8. выберите команду Вставка> Модуль. При­ lnterpolator. Введите в оюю модуля следующие процедуры: Option Explidt Option Base 1 'Make arrays start at 1 ' ' Функция кубической интерполяции 1 Function Cublclnterpolation{mgXArray As Variant, mgYArray As Variant, mgX As Variant) As DouЫe Dim intlndex As lnteger Dim intl As lnteger Dim inU As lnteger Dim dЫProd As DouЬle ' Находим положение интерполируемого значения. = For intlndex 1 То UBound(mgXArray.Value) lf (mgX < mgXArray(intlndex)) Then Exit For End lf Next intlndex ' Если от любого конца таблицы менее двух точек, ' устанавливаем индекс равным двум точкам. = lf intlndex < 2 Тhen intlndex 2 lf intlndex > UВound(mgXArray.Value) - 2 ' Обнуляем переменную суммирования. Тhen intlndex =UВound(rngXArray.Value) - 2 = CuЬiclnterpolation О ' Этот цикл вычисляет слагаемые в формуле интерполяции в форме Лагранжа. For intl =intlndex - 1 То intlndex + 2 =1 · dЫProd For intJ = intlndex - 1 То intlndex + 2 lf (intl <> intJ) Тhen dЫProd dЫProd * (mgX - mgXArray(intJ)) / (mgXArтay(intl) - mgXArray(intJ)) End lf Next intJ Cublclnterpolatioп CuЬiclnterpolation + dЬIProd • mgYArray(intl) Next intl End Function = = . ' Эта процедура используется для запуска CuЬiclnterpolation для тестирования . Sub testit() Dim scratch As DouЫe 'scratch = CuЬiclnterpolation(Array(10, 20, 30, 40, 50), Array(1, 2, End Sub З, 4, 5), 2)
Rnnpoкcuмaцuя даннын Теперь ваш рабочий лист должен выглядеть, рис. 6.15. Если обновление ячеек не произошло, (<Cmd+=> на компьютерах Macintosh). как показано нажмите клавишу на <F9> ,;1 , ., ;!; Рис. 6.15. Линейная и кубическая интерполяции, для кривой насыщения пара Обратите внимание на уменьшение на порядок амплитуды ошибки цо сравнению с линейной интерполяuией . В данном слуа~:ае это улучшение может показаться не очень важным, поскольку предыдущие результаты тоже были достаточно точными. Однако для более нелинейных кривых такое улучшение может оказаться существенным. Кроме того, количество разрывов в производной при кубической интерполяuии также намного ниже. Использование весовых коэффициентов Процесс точкам присвоения весовых коэффициентов выглядит довольно запутанным, если экспериментальным смотреть непосредственно на уравнения, его реализующие. На самом деле это просто способ ука­ зать, что какие-то точки имеют большую степень точности, чем другие. При аппроксимации взвешенного набора точек, кривая пройдет ближе к тем точкам, которые имеют больший вес. Присвоение веса фактически соответствует добавлению дополнитель­ ных точек с тем же самым значением. В большинстве алгоритмов значе­ ния каждой точки умножаются на весовую функцию , а затем число точек умножается на такой же множитель. Присвоение весов такого типа явля­ ется частью алгоритма решения, доступ к которому в Excel невозможен. Для присвоения веса точкам данных можно просто дублировать эти точ­ ки пропорционально степени точности или важности их значений. Мае-
Гnава б штаб дублирования не имеет значения, только относительные веса. На­ пример, если имеются две точки и одна из них измерена в два раза точ­ нее другой, можно более точное значение указать дважды, или же ввести менее точное значение дважды, а более точное четыре раза, - результат будет олин и тот же. Резюме В этой главе описываются способы аппроксимации данных. Простая линейная аппроксимация реализуется с помощью встроенных функций ЛИНЕЙН н ЛГРФПРИБЛ или с помощью надстройки Регрессия пакета Анализ данных. В большинстве случаев даже нелинейные функции мoryr быть аппроксимированы таким образом пугем предварительной замены переменных. Кроме того, функция ЛИНЕЙН используется для полиноми­ альной регрессии. Если вы не планируете использовать данные на рабочем листе, можно воспользоваться свойством дИаrрамм создавать линии тренда. При этом достаточно указать тип аппроксимирующей кривой, и она будет добавле­ на на лиаграмму вместе с коэффициентом детерминированности. Для аппроксимации более сложных функций нужно использовать пошаговый алгоритм подбора коэффициентов. Такой алгоритм может быть реализован как вручную, так и автоматически, с использованием надстройки поиск решения или программы Visual Basic. Когда аппрокснмация данных известной функцией затруднена или нежелательна, можно воспользоваться функциями просмотра таблиц и интерполяцией . Такой подход может быть реализован как с помощъю функций рабочего листа, так и в виде функции Visual Basic. Присвоение весов является процессом описания некоторых точек как более точных и, таким образом, аппроксимирующая кривая должна про­ холить к ним ближе, чем к другим точкам. Присвоение весов происходит дублированием более точных значений. Дополнительная литература Статистические методы и t-критерий С. Lipson, N. J. Sheth, Statistical Design and Analysis of E!fgineering Experiments (New York: McGraw- Hill, 1973). R. М. Bethea, В. S. Duran, Т. L. Boullion, Statistical Methods for Scientists and Engineers (New York: Marcel Dekker, 1975). Теплопроводность арсенидв галлия Maycock, "Thermal Conductivity of Silicon, Germanium, III-V Compound and III-V Alloys", Solid State Electrrmics 10 (1967): l 61-168.
11~11 Аппрокtuмацuя данныи Сечения ионизации D. Rapp, Р. Eng]ander-Golden, "TotaJ Cro~ Sections for Ionization and Attachment Ьу Electron lmpact: 1. Positive Ionization," J. Chem. Physics 43, 5 (Sept. 1, 1965): 1464-1479. Методы еппроксимации С. Gerald, App/ied Numerica/ Ana/ysis (Reading, Mass: Addison-Wesley, 19]8). W. Н. Pre~, et aJ., Numerical Recipes: Тhе Art of Scientific Computing (Cambridge, Eng.: Cambridge University Press, 1986). Теблицы пара С. А. Meyer, Тhermodynamic and Transport Properties of Steam (New York: Americari Society of MechanicaJ Engineers, 1967). Обзорные задачи 1. Температурная зависимость энергетической зоны кремняя приведена в следующей таблице. Температура (К) Ширина зоны (eV) Температура (К) Ширина зоны (eV) о 1, 16 1,16 1, 15 1, 15 1, 14 400 450 500 1,09 1,07 1,05 1,03 1,01 0,99 0,97 0,95 0,92 50 100 150 200 250 1, 13 300 350 1, 12 1, 10 550 600 650 700 750 800 Использую линейную регрессию, аппроксимируйте эm данные пря­ мой линией 1t постройте график. 2. Аппроксимируйте данные из задачи 1 с помощью полиномиальной регрессии второго порядка и постройте график. 3. Температурная зависимость энергетической зоны кремния подчиняет­ ся уравнению Е в = Е - АТ2 go (Т +В) • где Eg - ширина зоны; Т - темnература в градусах Кельвина , Eg0. А и В неизвестные константы. Это уравнение можно представить в виде поли­ нома следующим образом: [Е" ~Е.] ~ ~[ Eg0 ~EJ- ~[ Е" ~Е.] '
11Фi Ego Гnава равняется значению Eg 6 при Т = О. Определите коэффициенты урав­ нения с помощью полином иальн ой регрессии . Решение даст значения величин 1/ А и 1/ В, из которых можно легко определить сами коэффици­ енты А и В. Постройте график. 4. Проведите подбор коэффици ентов в примере из рис. 6.9 вручную. Для целых значений В от 430 до 438, определите максимальное зна­ чение r2 подбором значений А. Постройте график зависимости r2 от В. Три локальных максимума на этом графике вводят в заблуждение программы автоматического подбора, которые находят только один из них и не обязательно наибольший. 5. 6. 7. И1.:11ользуя даннЬJе из задачи 1, напишите линейную функцию про­ смотра, интерполирующую значения Eg по заданной температуре Т. Выполните задачу 6 с помощью кубической интерполяции. Аппроксимируйте зависимость давления пара от температуры, приве­ денную в табл. 6.3, прямой линией. Вычислите остаточную ошибку в каждой точке (разность между регрессионной кривой и исходными данным) и постройте график. 8. Алпроксимируйте зависимость давления пара от температуры, приве­ денную в табл. 6.3, с помощью полиномиальной регрессии . Попро­ буйте различные степени полиномов и постройте график. Вычислите и постройте график остаточной ошибки. 9. Вычисл ите значение сечения ионизации для электронов с энергией 524 eV с помощью данных, приведенных в табл. 6.2, и линейной ин­ терполяции. 10. Выполните задачу 10 с помошью кубической интерполяuии. Упражнения 1. Постройте график с данными из задачи и линией тренда. Попро­ буйте различные типы линий для определения наилучшей. 2. В следуюшей таблице содержатся даниые о величине прогиба кон­ сольной балЮI с грузом на коице в зависимости от расстояния от за­ крепленного конца. Алпроксимируйте данные с помощью линейной регрессии . Расстояние (дюймы) Прогиб (дюймы) Расстояние (дюймы) Прогиб (дюймы) о 0,0000 -0,0245 0,0951 0,2077 0,3581 0,5420 0,7553 84 96 108 120 132 144 0,9938 1,2533 1,5295 1,8184 2, 1156 1,4170 12 24 36 48 60 72 формул
11фi Annpoкcuмaцu11 данным 3. 4. 5. Аппроксимируйте данные из упражнения 2 с помощью полиномиаль­ ной регрессии. Не забудьте проверить, являются ли полученные ко­ эффициенты значимыми. Используя данные из упражнения 2 и описание балки, приведенное на рис. 2.15, аппроксимируйте даииые уравнением изгиба с помощью надстройки Поиск решения и определите вес груза на конце балки на основании вычислеииых коэффициентов. Зависимость плотности собствениых носителей от температуры при­ ведена в следующей таблице. Аппроксимируйте данные с помощью функции ЛГРФПРИБЛ. Соответствует ли полученный результат урав­ нениям, приведенным в главе 2? Аппроксимируйте данные с помо­ щью полиномиальной регрессии. уравнениям, приведенным в главе Температура Плотность соб(К) ственных носителей (см-3) 6,21 Е+О9 2, 18Е+11 300 350 400 450 500 550 6. Температура (К) 3,28Е+12 2,79Е+ 13 1,58Е+14 6,70Е+14 этот результат Плотность собственных носи­ телей (см-3) 600 650 700 750 800 2,26Е+15 6,44Е+15 1,60Е+ 16 3,54Е+16 7,18Е+16 Аппроксимируйте данные из упражнения 5 с помощью кривой, при­ веденной в главе 2. Соответствуют ли вычисленные коэффициенты тем, что содержатся в главе 7. Соответствует ли 2? В табл. 2? 3.1 приведена температура различных участков перенапряжен­ ного кремниевого диода. Напишите функцию линейной интерполя­ ции, определяющую температуру в заданной точке z при фиксирован­ ном значении у (т.е. выполняющую иитерполяцию вдоль одного из столбцов таблицы). · 8. Выполните упражнение 7 с помощью метода кубической интерполя­ ции. 9. Вновь используя табл. 3.1, напишите функцию двумерной линейной интерполяции, возвращающую температуру при произвольных значе­ ниях z и у. (Совет: проведите интерполяцию по двум столбцам по z и используйте эти два результата для интерполяции по у). 1О. Напишите функцию VisuaJ Basic, реализующую лииейный метод наи­ меньших квадратов с весами. Введите даннь1е и произвольную весо­ вую функцию в отдельнь1е диапазоны ячеек и вычислите коэффици­ енть1 прямой и значение r2.
Гпава 7 Суммирование рвдов В э'l'Oil тавг... "' "' "' "' Нахождение рекуррентнwх соотношений Суммирование по •чейкам Метод итераций Нохождение реwени• с помощ1t1О процедуры Многие важные функции, используемые в научных и инженерных расчетах, представляются только в виде рядов. В особенности это касает­ ся дифференциальных уравнений - их решения зачастую невозможно представить в виде замкнугого выражения, только в виде ряда. Примера­ ми рядов, ямяющихся решениями дифференциальных уравнений, мoryr служить функции Бесселя, полиномы Лежандра и Лагерра. Сумму ряда в Excel можно вычислить тремя способами: либо вычис­ лить значение каждого члена ряда и затем сложить эти значения, либо создать итерационную формулу, вычисляющую за один проход значение одного слагаемого и добамяющую его к решению либо написать функ­ цию Visual Basic, вычисляющую сумму любого числа членов. Последний метод является наиболее мощным. Суммирование рядов в рабочем листе Простейшим способом вычисления суммы ряда является расположе­ ние всех членов в соседних ячейках и их суммирование. Несмотря на то, что будет занята большая часть рабочего листа, такой способ ямяется интуитивно поНЯ'IНЬIМ, поскольку позволяет увидеть значения всех сла­ гаемых. Эrо позволяет почувсrвовать, как происходит суммирование, и оценить сходимость ряда. Встроенная функция РЯД.СУММ Excel может суммировать только степенные ряды СJiедующего вида: ssum = а1хп +а х<п+т) +а х<п+lт) + ... 2 3 Для применения этой функции необходимо исп0ЛЬ30вать массив, со­ держащий все коэффициенты а;. Если же приходится создавать такой массив, то можно сразу включить в него степени х и вообще не исполь­ зовать функцию РЯД.СУММ.
Суммuрованuе рJ1дов 1111 Для большинства рядов, используемых на практике, обычно сущест­ вуют рекурренrnые соотношения, связывающие м ежду собой последова­ тельные члены ряда. Зачастую такая связь состоит в существовании спе­ циального сомножителя, произведение которого с любым членом ряда дает следующий член. Использование рекуррентных соотношений суще­ ственно уменьшает количество вычислений, особенно для рядов со сте­ пенями и факториалами. Функции Бессепя Функции Бесселя lп(х) являются решением дифференциального урав­ нения Бесселя: dx; +х Jx +(х d2 d при у = lп(х). х 2 2 -п 2 )у=О Это уравнение встречается во многих физических зада­ чах, например, при решении волнового уравнения в цилиндрических ко­ ординатах. Д11я функций Бесселя существует также интегральное пред­ ставление следующего вида: Jn (х) = _!_ rn cos( nv- xsin( v) )dv 1t Jo Хотя функции Бесселя определены для произвольных значений п, чаще всего встречаются функции целого порядка. Для целых значений п функция Бесселя представляется в виде ряда <х:> Jn(x)=L s=O lУ ( - (Х) n+2s s!(n + S)! 2 <х:> =l:Gs(n,x) s=O Для нецелых значений п вместо факториала (п + s)! подставляется гамма-функция Эйлера Г(п + s + 1). Для нахождения величин GJ.n,x), являющимися членами ряда для функции Бесселя целого порядка, можно воспользоваться следующими рекуррентными соотношениями: Gs (п,х) = G5 _ 1 (п,х) (-1) (х) s(n+s) 2 2 хп Go =-2п1 п. При использовании рекуррентных соотношений , факториал вычисля­ ется только один раз для первого слагаемого ( Go). Остальные члены ряда получаются просто пугем умно:ж:еющ предыдущего члена на рекуррент­ ный множитель.
iJfj Гnава 7 В следующем примере вычисляются значения функции Бесселя це­ лого порядка п. Суммирования первых десяти членов ряда оказывается достаточным для получения ошибки менее одного процента для значе­ ний х, не превышающих восьми. Кроме того, в Excel имеется встроенная функция БЕССЕЛЬ.J, также вычисляющая значения функuий Бесселя. Она используется для проверки точности вычислений. l. Откройте новый рабочий лист и назовите его Рис. 7 .1. 2. Установите ширину столбuа А равной 14. 3. В ячейке А1 введите название Функция Бесселя; метод суммирова­ ния . 4. Теперь введите п, п! и х. В ячейки А4 , В2 и ВЗ введите метки х, n и n! соответственно и вы­ ровняйте их по правому краю. 5. Присвойте ячейкам С2 , СЗ и 84 имена N, NF 6. В ячейку СЗ введите формулу •ФАКТР(N). и Х соответственно. Добавьте встроенную функuию БЕССЕЛЬ. J. Обратите внимание, что со встроенными функциями используются только дискретные значения или ссьmки на ячейки, использование поименованных диапазонов не допускается. Введите формулу, суммирующую все чЛены ряда. 7. В ячейку А5 введите метку БЕССЕЛЬJ и выровняйте ее по правому краю. 8. В ячейку 85 введите формулу =БЕССЕЛЬ.J(Х;N) 9. В ячейку А6 введите метку 10. В ячейку 86 Jn(x) и выровняйте ее по правому краю. введите формулу •СУММ(В8 : В18) . · Вычислите первые десять членов ряда, пронумеровав их переменной s. В ячейке 88 вычислите значение первого слагаемого (нулевой поря­ док), а значения остальных членов вычисляйте в ячейках В9: В18 с помо­ щью рекуррентных соотношений. 12. В ячейку А7 введите метку s и выровняйте ее по правому краю. ячейку 87 введите метку Члены и выровняйте ее по правому краю . 13. В ячейку 11. В 14. В 88 введите формулу ячейку 89 введите 810:818. •B4AN/(2AN*NF). =84AN/(2AN*NF) формулу ячейки 15. В ячейку А8 введите О , в ячейку А9 введите и скопируйте ее в 1. 16. Выделите ячейки А8 :А9 и перетащите маркер заполнения вниз до ячейки А18 для создания десяти значений s. 17. Измените формат ячеек 88:818 на экспоненциальный, с двумя деся­ тичными знаками . 18. Отключите отображение сетки. Для использования листа введите"какое-нибудь значение х, не пре­ вышающее 8 (например, 0,5) в ячейку 85 и значение п (например, 1) в ячейку С2. После обновления листа значение функции Бесселя будет отображено в ячейках 85 и 86. Обратите внимание на быстрое уменьше-
111) суммuрованuе рядов ние значений в ячейках 88:818, означающее быструю сходимость ряда. Ваш рабочий лист должен выглядеть подобно приведенному на рис. Функция Бессt.пя; "етод суwuироеаии" в ра5о..,ем .nмсте n n! ~ ~i 1 1 Ш [ х о~ Jn(x)6 0,2.:.~ ~, 2,50Е{)1 ·7.81Ет :ji БЕССЕЛЬJ 0,242268 О 1 2 3 7.1. ~- 1!,14Е.о5 -4,24Е-!17 4 1,З2Е.Q9 5 ·2,76Е-12 б 4,11Е-15 7 -4,SSE-18 8 З,ООЫ1 9 ·2,7БЕ·24 10 1.57Е·27 7.J Рис 7.1. Нахождение функции Бесселя с помощью метода суммирования в рабочем листе Используя данный метод, можно вычислять функцию Бесселя для це­ лого набора значений х одновременно. Обратите внимание, что ссылки на ячейки были сделаны абсолютными, поэтому формулы в ячейках 88:818 1. можно скопировать направо без исправления. Создайте копию рабочего листа Рис. Рис. 2. 3. 4. 7.1 и назовите новый лист 7.2. Скопируйте ячейки В ячейку 84 84:818 в С4:А818. введите О, в ячейку С4 введите 0,3. Выделите ячейки 84:С4 и перетащите маркер заполнения вправо до ячейки АВ4. 5. 6. Присвойте диапазону ячеек В4:АВ4 имя Х. Измените формулу в ячейке 85 на =БECCEJ1b.J(B4;N) и скопируйте ее в ячейки В5:АВ5. ~ Примечание Изменение аргумента функции в данном случае является обязательным, поскольку встроенные функции не могут правильно воспринимать значе­ ния из поименованного диапазона. Если передать диапазон Х, то функ­ ция воспримет его целиком, вместо одного значения из того же столбца, что приведет к ошибке. Теперь ваш рабочий лист должен выглядеть так, как показано на рис. 7.2. Если обновления не произошло, нажмите на клавишу на клавишу <Cmd+=> <F9> (или Macintosh). Произойдет вычисление = 1 и для значений х, меньших или при работе на значений функuии Бесселя при п
1111 Глава равных 7,8. На рис. 7.3 7 приведен график этой функции. Если нужно про­ вести вычисления для больших значений х или увеличить для точность текущих значений, необхолимо увеличить число слагаемых. n х : О.З ~ OS 1) 1.5 11 0.40595 0 .(96289 О.557937 0.581517 oщ ii: 0.40595 О,•00289 О.557937 O.S81517 o,sa:~ ЧJieнw Чnelibl Ч11ень~ Члены 4.nень~ Члены ЧJlены Чп .~~ О O,IDE..00 1,50Е-01 З,WE-<JI ( ,SOE-01 Б.[IJЫJ! 7 ,SOE-01 9 ,ООЕ-01 l ,CJSE~i 1 О,ООЕ-+00 ·1.бЭЕ-00 ·1,З5Е-02 ·•.56Е-02 ·ЩJЕ-01 ·2 ,11 Е-01 ·З,65Е-01 ·5.79E)j БЕССЕЛЬJ Jn(x) 2 OJ О 0.148319 0)ffi701 О 0 .146319 0.286701 О,ООЕ.00 6.ЗЗЕ.{Ь 2,DЗЕ.04 1.54 ~-u:;s b.4~t.{)J 1,96Е-02 •.92bli2 1,06 .. З О,ООЕ..00 ·1 ,19Е.()8 ·1.52E.ai ·2,59Е.()5 ·1.9-4Е-04 -9,27Е-04 ·З,:t1Е-ОЗ ·9.77Е '·: 4 О ,ООЕ..00 1 ,ЗЗЕ-11 б,ВЗЕ-09 2,БЗЕ-07 5 О ,ООЕ.00 ·1 ,ООЕ·14 -2.0SE·11 ·1 .77Е-09 б О,ООЕ..00 5,З>Е-16 4 ,ЭЭЕ-1 4 0,55Е· 11 7 О,ООЕ..00 -2.15€-21 -7J~E- 17 -З,DЭЕ-14 6 О ,ООЕ.00 Б.7ЗЕ·25 е ,взе.20 8,70Е·17 9 О ,ООЕ..00 ·1,60Е·26 .В ,ВЗЕ-23 - 1 ,96Е·19 10 ОДJЕ..00 З.НЕ-32 722Е-26 З.бОЕ-22 З,50E.ffi 2.Б IЕ-05 1 ,35Е.04 5 ,39f -4,20Е.а! ·4.89Е-07 ·З.бЗЕ.00 -1 ,ООЕ:" ЗЮЕ-10 6.55Е-09 7 .WE-00 5,20Е : ·2 .З1Е-12 -S,5ВЕ: 11 - 1 .01Е-09 - 1 ,()2~::: 1 ,16Е-1 4 5.1 4Е· 1 З 1.1 4Е-1 1 1,57f ;_ ·4.Б3Е·17 ·З,21 Е-1 5 .1 ЩЕ-13 -1 ,92! . 1,51Е-19 1,t>4t::-17 7.55Е-1Б 1,92Е ·· ". Рис. 7.2. ,.; ·.~ Функция Бесселя для нескольких значений х Метод итераций Вторым способом вычисления рядов является использование итера­ ционных возможностей Excel. Формула в рабочем листе создается таким образом, что при каждом вычислении определяется следующий член ря­ да и прибавляется к общей сумме. Для этого необходимо отключить ав­ томатический пересчет листа и БI<Лючитъ режим итераuий. Необхолимо также добавить возможность сбрасывать начальное значение суммы и членов. о.в 0.4 в: r:: , О) о .J)) .о,• Рис. 7 .3. График функции Бесселя J 1(х)
i1&J Суммuрованuе рядов В качестве примера вновь рассмотрим задачу нахождения функuии Бесселя, но вместо перечисления членов ряда будем использовать итера­ ционный метод. l. Создайте копию рабочего листа Рис. 7.1 и назовите ее Рис. 7.4. 2. Выделите и удалите содержимое ячеек А10:В18 . 3. Выделите ячейки А7 : В9 и переместите их содержимое в ячейки А9:811 . 4. В ячейку А7 введите метку Первый член и выровняйте ее по правому краю . 5. В ячейку А8 введите метку Инициализация и выровняйте ее по правому краю. 6. В ячейку В7 введите формулу =B4AN/(2AN*NF). 7. В ячейку В8 введите ИСТИНА. 8. Присвойте ячейкам 87 и В8 имена TermO и INIT. 9. Выберите команду меню Сервис )1о- Параметры и wелкните на вкладке Вычисления; установите переключатель вручную, сбросьте флажок пересчет перед сохранением, установите флажок итерации и в поле предельное число итераций введите 1. Щелкните на кнопке ОК. 10. В ячейку А10 введите •А11. ll. В 12. В ячейку А11 введите =ECЛИ(INIT;O;A10+1). 13. В ячейку ячейку 810 введите 8 11 •811 . введите формулу =ECЛИ(INIT;Term0;810*(-1)*X"21(4*$A11*(N+$A11))) 14. В ячейку С9 введите Суммирование. 15. В ячейку С10 введите •С11. 16. В ячейку С11 введите •ECЛИ(INIT;B7;C10+B11) . 17. В ячейку Вб введите =С11 . 18. Измените формат ячеек 85:86 и С10:С11 на числовой , с двумя деся­ тичными знаками.
rnaвa 111& 7 Для использования этоrо листа необходимо ввести значения х и п и нажать клавишу <F9> (или комбинацию клавиш <Cmd+=> при работе на для инициализации листа. Затем изменить значение ячейки 88 на ЛОЖЬ и снова нажимать на клавишу <F9> для учета каждого по­ следующего члена ряда. Номер члена отображается в ячейке А10, значе­ Macintosh) ние следующего члена, который будет прибавляться, в ячейке В 11 и - текущее значение суммы ряда отображается в ячейках С11 и 86. На рис. 7.4 показан результат вычислений после четырнадцати итераuий для х равного 8 и п равноrо 1. Работа листа основана на трех циклических ссылках: между ячейками А10 и А11, 810 и 811 и С10 и С11. Формулы в ячейках А10:С10 хранят текущие значения, в то время как формулы в ячейках А10:С10 использу­ ют эти значения для вычисления следующих номера итерации, члена ря ­ да и суммь1 рядя. Функция ЕСЛИ в ячейках А11:С11 инициализирует вы­ числения в случае, если значение INIT (88) равно ИСТИНА Для вычисления значения функuии Бесселя при других значения па­ раметров, необходимо ввесn[ новые значения х и ИСТИНА, нажать на клавишу нажимать на •• <F9> до <F9>, n, заменить В8 на заменить значение 88 на ЛОЖЬ и тех пор, пока не соЙдется процесс суммирования. Примечание Увеличив значение поля Предельное число итераций диалогового окна Параметры, можно выполнять несколько итераций после одного нажатия на клавишу <F9>. Вычисления будут производиться или указанное число раз или пока изменения всех величин рабочего листа не станут меньше значения, указанного в поле Относительная погрешность. Будьте вни­ мательны при использовании такого метода, относительная погрешность должна быть выбрана меньше любого значения по числу десятичных зна­ ков, которые необходимо получить. Использование функции Visual Basic дпя суммирования ряда Для нахождения суммы ряда можно также создать функцию Visual выполняющую нужные вычисления. Алгоритм является таким же, Basic, какой используется в языках высокого уровня типа Fortran. Полиномы Лежандра Полиномы Лежандра Рп(х) часто встречаются в задачах о движении в центральном поле в сферических координатах. электрический диполь, состоящий из зарядов +q Рассмотрим , например , и -q, расположенных в точках +а и -а. Потенциал (ф) такого диполя на больших расстояниях >а) описывается следующей формулой с полиномом Лежандра: (r
110 Суммuрованuе рядов Ф = 2aq ?i(cos(8)) 4тt8 где с - r 1 , электрическая постоянная, а r и В являются полярными коорди­ натами. Полиномы Лежандра являются решениями дифференциального уравнения ( l-x при у 2)d2y d2y --2х-+п(п+1)у=0 2 dx dx 2 = Рп(х). Явный вид полиномов Лежандра следующий р (х)= ~ (-IY(2n-2s)! хп-Ъ· L.... s~O 211 S .'( n - S )'( . n - 2 S )'. 11 Поскольку Рп(х) являются полиномами, то указанная сумма имеет конечное число слагаемых. В Basic, следующем примере рассматривается создание функции Visual вычисляюшей указанную сумму. Факториалы, входящие в каждое слагаемое, подсчитываются независимо, без использования рекуррентных соотношений. 1. 2. Создайте новый модуль и назовите его Функции. Введите в созданный модуль следующий код: Option Explicit 1 ' Функция, вь1числяющая полиномы Лежандра. ' Function Legendre(dЫX As DouЫe, intN As lnteger) As Variant Dim intS As lnteger 'Тhе summation counter. 'Обнуляем переменную суммирования legendre =О 'Цикл по количеству членов в сумме. For intS =О То intN \ 2 Legendre = Legendre + (((-1) л intS) * Fact(2 • intN - 2 • intS) • dЫХ" (intN - 2•intS))1 (2" intN * Fact(intS) • Fact(intN - intS) * Fact(intN - 2 * intS)) Next intS End Function ' Функция, вь1числяющая факrориал аргумента. 1 Function Fact(intM As lnteger) As DouЫe Dim intCtr As lnteger 'Инициализация произведения. Fact = 1 'Цикл по количеству сомножителей в факториале. For intCtr = 1 То intМ Fact = Fact * intCtr
111:1 Гnава 7 Next intCtт End Function ' Небольшая nо,цnроrрамма, исnольэуемая для тестирования ' Sub test10 Dim intN As lnteger Dim dЫХ As Oouble 'Тестируемые значения intN = 3 dЫХ =0.3 'Печать значений и результатов в окне отладки. DeЬug.Print dЫХ, intN, legendre(dblX, intN), 0.5 * (5 * dЫХ " 3 • 3 * dЬIX) Stop End Sub В этом коде содержатся три процедуры: одна для вычисления поли­ номов Лежандра, вторая для вычисления факториала и третья для отлад­ ки. Процесс отладки необходим, поскольку сообщения об ошибках не отображаются на рабочем листе, если ошибка происходит в вызываемой функции. При этом просто возвращается код ошибки. Проводя тестиро­ вание в том же модуле, что и вызываемая функция, можно проследить любые синтаксические ошибки. Процедура тестирования записывает значениях, п, Legendre(x, п) и аналитическое значение для п = 2. В данном случае ряд имеет конечное число членов, определяемое верхним пределом суммирования п/2. Таким образом, число слагаемых в сумме извесrnо заранее. В случае бесконечных радов это число необхо­ димо определять из дополнительных соображений. Можно выбрать неко­ торое фиксированное значение, приводящее к достаточно точному ре­ зультату для тех значений аргумента, которые вас интересуют, как это было сделано в случае функции Бесселя. Или же можно ввести в функ­ цию логический критерий, наблюдающий за · величиной слагаемых и ос­ танавливающий процесс суммирования, когда члены ряда становятся пренебрежиыо малыми. Теперь давайте создадим рабочий лист, вызывающий. функцию для нескольких значений п и х. Для сравнения ниже приведен аналитический вид первых щести qолиномов Лежандра: Ро(х) =1 Р1(х) = х Р2(х) = (1/2)(Зх2 -1) Рз(х) = (l/2)(5x3 - Зх Р4(х) = (l/8)(35x4 - ) 30х2 Р5(х) = (1/8)(6Зх5 -70х3 + 3) + 15х) Вычислим значения этих полиномов и сравним их с результатами функции Visual Basic.
i1 QI tgммuрованuе рядов l. 2. Введите несколько значений х и п. Создайте новый рабочий лист и назовите его рис. 7.5. В ячейку А 1 введите название Полиномы Лежандра; функция Visual Basic. 3. В ячейки АЗ и А4 введите п и х соответственно и выровняйте их по правому краю. •• Примечание Ячейкам АЗ и А4 можно было бы присвоить имена п и х, но если сделать это обычным методом, то они заменят соответствующие имена, присво­ енные на других листах. Чтобы этого не произошло, нужно присвоить ло­ кальное имя, действительное только для данного листа Для присвоения локального имени выберите команду Вставка > Имя > Лрисвоить и в поле Имя появившегося диалогового окна введите имя рабочего листа, затем восклицательный знак, затем локальное имя ячейки. Такое имя действительно только в пределах указанного рабочего листа. 4. 5. В ячейки ВЗ:GЗ введите целые числа от О до 5. В ячейку В4 введите 0,3 и скопируйте ее в ячейки C4:G4. Создайте вызов функции Visual Basic. Простейший t:пособ сделать это без ошибок заключается в использовании мастера и выборе необходимой функции в категории Определенные пользователем. После этого введите аналитическое решение, указанное ранее. 6. 7. В ячейку А5 введите метку Рп(х) и выровняйте ее по правому краю. В ячейку В5 введите (или вставьте с помошью Мастера Функций) формулу =Legendre(B4;B3) и скопируйте ее в ячейки C5:G5. 8. В ячейку Аб введите метку Аналитически, выровняйте ее по правому 9. краю и установите ширину столбца равной 14. Введите следующие формулы в ячейки B6:G6 Вб =1 Еб =О,5*(5*Е4-З-З*Е4) Сб Dб =С4 =О,5*(3*04-2-1) Fб Gб =0, 125*(35*F4-4-ЗO*F4-2+3) =О, 125*(63*G4-5-70*G4-3+15*G4) Как видно из рис. 7.5, аналитические значения и значения, получен­ ные с помощью функции Visual Basic, совпадают. Теперь создайте табли­ цу, показанную в нижней части рисунка и отобразите результаты на диаграмме. 1. В ячейку А8 введите О, в ячейку А9 введите О,З. 2. Выделите ячейки А8:А9 и перетащите маркер заполнения до ячейки АЗО. Затем измените значение хна малое число, большее нуля, поскольку функция не определена при х =О, и вызов функции в ячейки таблиды:. 3. 4. 5. Измените значение ячейки А8 на 0,001. В ячейку В8 введите =Legendre($A8;B$3). Скопируйте ячейку В8 в ячейки В8:Gзо. Для этого вначале скопируй­ те вниз до ячейки 830, а затем вправо до столбuа G.
Гnава 6. 1 Поскольку реж.Им вычислений по-прежнему установлен Ручной, на­ жмите на клавишу <F9> (или на клавишу Macintosh) для пересчета листа. <Cmd+=> при работе на Теперь рабочий л ист должен выглядеть аналогично показанному на рис. 7.5. Если построить диаграмму полученных значений, она будет выглядеть как показано на рис. 7.6. .н. ,. з 4 5 о .з о.э о.з .Qji25 0,0723ЗВ : О.з.t5:Эе6 .0,ji'25 о.атзв о.з:45Зв6 1' . "0 .001:[ .... .О,?, .О,0015. 0,3749$ ОД11875 О.З ; ·О.365 jij325 iibiijj°(Q~~ 1 1 "" ~.6 оя o.?1s 1 1 1.2 1.5 '1.е 1,66 2,52 2.875 6.1075 ц; . 1'1.00: , 1 ,, 2 ,1 . 2,4 Рис. 7.5. Значения Visual Basic 0.().4 "6}15' e,i• .Q,36 .О ,41Б .Q ,15~ о .4125 о,201gээ .o.D411.i 4,0-47 . 6.72562 14д159-4 . ЗЗ.а3203 )4,1?2:. )9),,1;СВ5 . ;D.()025' ба ,9229( 244,5267 :ю.96 1 23щ1 sш.5966 :+. полиномов Лежандра , вычиспенные с помощью функции ..t Со~ет Линии в нижней части диаграммы накладываются друг на друга, что за­ трудняет выделение отдельных составляющих. Для быстрого вь1бора ли­ нии щелкните на какой-либо из них и используйте клавиши перемещения курсора для перехода между Линиями . Пonмttoti11t1 Ле•а~а 100000 90000 11ОООО 7()(00 1 Щ)(1О f i soooo 40000 30000 20000 10000 о .1COOQ . . . . ._.. _.. . . . :. Рис. 7.6. ""._,""."..1 "-". ""..~""."_."_ . ..,._ ••""." "~""".". ·...::. ·. . ·.: -~ -+- n•O ·~•~· n • 1 j i1 ~=~.' • """./ ___-~.... Полиномы Лежандра первых шести порядков - n· 4
if41 Суммuрованuе рядов Резюме В этой главе мы познакомились с тремя методами суммирования ря­ дов. Простейший способ заключается в том, чтобы вычислить члены ря­ да в отдельных ячейках, а затем сложить их вместе. Второй метод осно­ ван на создании итерационной функции, которая добавляет новое сла­ гаемое к результату при каждом пересчете листа. Наиболее удобным яв­ ляется третий способ, заключающийся в создании функции Visual Basic, вычисляющей сумму ряда из произвольного числа количество членов. Такая функция не занимает много места и для изменения числа учиты­ ваемых членов достаточно изменить значение одной переменной. К со­ жалению, метод не обладает интуитивной ясностью, поскольку не пока­ зывает отдельные слагаемые. Дополнительная литература Функции Бесселя и полиномы Лежандра G. Arfkeп, Mathematical Methods for Physicists Orlando, Fla.: Academic Press, 1970, стр. 438, 537. Обзорные задачи 1. Квадратная волна может быть описана следующим рядом Фурье f(x) =± ! 1t где L - _!_sin( n=•.з,s,." n nnx) L , половина периода волны. Найдите сумму ряда методом сум­ мирования и постройте график для значений х, удовлетворяющих ус­ ловию О s х s.2L и L = 1. Используйте достаточное количество точек х для аккуратного представления квадратной волны. 2. Пилообразная функция может быть представлена следующим рядом Фурье 2 ~ ( -1 у+• . ( ппх ) L,. SlП - !( Х ) -- 7t n=I n Напишите функцию L Visual Basic и создайте рабочий лист, вычисляю­ шие ./(х) для значений х, которые удовлетворяют условию О 5 х $ L = 3. 3. 2L и Постройте график функции. Натуральный логарифм в интервале от О до ставление в виде ряда 1nc1+x) = :L -1y+I х ос ( 11~1 п п 2 имеет следующее пред­
iflj 4. Гnава 7 Используйте метод итераций дЛЯ нахождения суммЬJ этого ряда вы­ числите значение ln(l,7). Вычислите косинус 2,85 радиан с помощью метода суммирования и следующей формулы cos(x) = со L х - 1)" 2n ( п=О (2п)! Сравните результаты с выражением =COS(2,85), использующим встро­ енную функцию косинуса. 5. Арккосинус вычисляется с помощью ряда arccos(x)=~-(x+-1-xз + 1·3 xs + 1·3 · 5 х1+".) 2 2·3 Напишите функцию 2.4.5 Visual Basic нуса и найдите с ее помощью арккосинус 6. 2·4·6·7 дЛЯ вычисления значений арккоси­ 0,85. Следующий ряд Фурье представляет положительный квадратный им­ пульс ширины с при х ширины с при х = 7L/4 = L/ 4 и отрицательный квадратный импульс mu:) 4 ~ 1 . ( -mt ) sш . (mtc) . ( -- sш !( х ) =-L.J-sш 7t п=t п Пусть и с L =2 2L 4 = 0,25. L Вычислите и постройте график ft..x) дЛЯ О ~ х ~ 2L. 7. Полиномы Чебышева Тп(х) и Uп(х) задаются следующими рядами т" (х) = х п - ( ;) х ll- l ( l - х 2 ) +(:) х 4 n- ( l - х 2 ) 2 - ( ~) х п-б (l - х 2 ) 6+... Ип(х)=(п;l)хп -(п; l)хп-2 (1-х2 )+(п;1)х"-4(1-х2)2 +" ' где = ( р) = p(p-l)(p-2)".(p-n+I) 1. 2 . 3.. " п (:) =0, п р! (р - , p > n-l п) !п ! р<п Вычислите Тз(.5) и Uз(.5) и сравните результат с точным выражением Тз (х) = 4х 8. 3 - Зх, U3 (х) = 8х 3 - 4х Полиномы Эрмита Нп(Х) определяются следующим образом
суммuрованuе рядов Н,1 (х) = 2 х11 - 2п-1(;) х"- 2 + 2 11 2 11 - 1 · з( :) х 11-4 '**' - 211 - 3 1· 3 · s(~) xn-6 +". Вычислите Н,/...7) и сравните результат с точным выражением 4 2 Н4 (х)=16х -48х + 12 9. Полиномы Лагерра L0п(х) определяются следующим образом (п +а) -х'т 11 L~ (х) = L(-l)m n-m т~о Вычислите 10. Полиномы т.1 LO:J..2,3). Бернулли Вп(х) для О :s; х :s; 2L определяются следующим образом 1 В (х)= (-l)n- 2(2n)!~cos(2krcx) f:t (2п)2п 211 еп Вычислите В,/...13) и сравните результат с точным выражением В4 (х)=х 4 -2х +х -1130 3 2 Упражнения 1. Напишите функцию Visual Basic, вычисляющую ряд Фурье для квад­ ратной волиы из задачи 1. Вычислите несколько значений и построй­ те график. 2. 3. Выполните задачу 2 с помощью метода итераций. Экспонента имеет следующее разложение в ряд Ехр( х) = 4. 5. х2 хз 1+ х + - + - + ··· 2! 3! Вычислите значение экспоненты от 3, 7 с помощью метода суммиро­ вания. Сравните результат со зиачеиием формулы =ЕХР(З, 7). Выполните упражнение 3 с помошью метода итераций. Полиномы Якоби задаются следуюшим уравнением ~(«.~)(х) = ~ 2 t(n m+а)(пn-m + P)(x-Iy-111 (х + l)m m"'O Вычислите и постройте иабор кривых для значений х в интервале от О до 6 при п О, 1, 2, 3, 4 и а= 2, р = 3. Используйте метод суммиро­ = вания . 6. Выполните упражнение 7. числения значений полиномов Якоби. Для z2 < 1 справедливо следующее равенство 5 с помощью функции Visual Basic для вы­
ifjl 1 -=L:zn 1- z Гnава 1 <О n=O Убедитесь в справедливосrn равенства, вычислив обе части уравнения для нескольких значений z из интервала от -1 до 1и сравнив резуль­ таты. Для нахождения значения ряда используйте метод суммирова­ ния. 8. Следующее равенство справедливо при любых значениях а 2 3 ах == 1+ х ln (а) + ( xLn (а)) + ( xLn (а)) + ... 2! 3! Убедитесь в справедливости равенства, вычислив обе части уравнения для нескольких значений а и сравнив результаты. Для нахождения значения ряда используйте метод итераций. < n2/4 тангенс х вычисляется с помощью следующей формулы 1 211 х 3 2х 5 17х 7 62х 9 2 2п(2 -l)IB2 "lx 2" Тап(х)=х+-+-+--+--+"·+ +". · 3 15 315 2835 (2п)! 9. При х2 где В" - числа Бернулл.и, равные значению полиномов Бернулли при х =О (см. упражнение 10). С помощью метода суммирования вычис- лите тангенс 0,8 радиан. . 10. Выполните последнее упражнение еще раз с помошью функции Basic. Visual ·
Г11ава 8 Интеrрирование и дифференцирование В зтой таве... "' Разностные форму11ы чисnенноrо дифференцировани• -1' Интеrрирование по правипу прямоуrо11ьников "' Интеrрирование по правипу трапеций -1' Интеrрирование по Ромберrу "' Интеrрирование по прави11у Симnсона -1' Квадратура faycca Интегрирование аналитическими и дифференцирование выражениями, однако, обычно если выполняются над функция задана в виде множества точек или интеграл функции нс: существует или является очень сложным, приходится прибегать к численным методам интегриро­ вания и дифференцирования. С помощью Excel можно численно находИть производные и интегра­ лы. Хотя приемы, описанные в этой главе, обыЧно используются в не­ больших компьютерных программах, они легко могут быть реализованы непосредственно на рабочем листе. В таком случае можно также наблю­ дать промежугочные результаты вычислений, что часто бывает поучи­ тельным (или пугающим) . Численное дифференцироввние Численное дифференцирование выполняется с помощью разностных формул. Центральные разностные формулы являются наиболее точными и наиболее часто используемыми. Левые и правые разности используют­ ся в специальных случаях. Типы разностных формул Левая, правая и центральная разностные формулы являются оценками значения производной, основанными на различных множествах точек. Левая разностная формула использует те ТОЧЮf., которые находятся левее исследуемой , правая разностная формула использует те точки, которые находятся правее, а центральная разностная формула основывается на равном числе точек по обе стороны от исследуемой.
ifiii Гnава 8 Левые и правые разности используются на граниuах интервала диф­ ференuирования , где невозможно применение uентральной формулы , требующей равного количества точек с каждой стороны. На граниuах же точки находятся только с одной стороны - внутри интервала , что и де­ лает невозможным использование центральной разностной формулы . Ле­ вые и правые разностные формулы часто дают более точные результаты в тех случаях, когда кривая имеет резкие изл омы , поскольку уменьшают влияние на производную точек с другой стороны . Б таких случаях, при приближении к точке излома используется левая разность, а при удале­ нии от нее - правая . Уравнения для вычисления первой производной одинаково для всех трех случаев. Различие заключается только в значении х, для которого вычисляется производная. Разностная формула для вычисления первой производной имеет вид dy dx где h = Х1 - Хо =Хо - х_ 1 расстояние между точками, а (х_1, у_ 1 ), (Хо, Уо) и (х1 , у 1 ) являются парами данных последовательных точек. Тип вычислен­ ной разности зависит ' от точки , производной в которой приписывается полученной значение. Если это уравнение является приближением для значения производ­ • • • ной в точке х 1 , тогда это левая разность. Если это уравнение является приближением для значения производ­ ной в точке х_ 1 , тогда это правая разность . Если это уравнение является приближением для значения производ­ ной в точке XQ, тогда это uеитральная разность. Ниже приведены разностные формулы для производных нескольких первых порядков и связанный с иими порядок ошибки ( O(hn)). Все фор­ мулы вычисляют производную в точке Хо· Ошибка формулы пропорцио­ нал ьна п-ой степени расстояния между точками h. Таким образом можно оuенить tочиость вычислений. Чем больше степень h, тем точнее формула. Производная в точке Хо dy У 1 -у 0 ~ == Уо ~У-1 dx h . dy У1 -У- 1 - = ~---dx 2h Оwибка тип разности O(h) правая O(h) левая центральная
Интегрuрованuе u Производная в точке Хо 1 d y У2 -2у, + Уо d У Уо-2У-1+У-2 ~2 h2 d У У1 -2у0 +y_I 412 1+1 дuфференцuрованuе Ошибка Тип разности O(h) правая O(h) левая h2 центральная ~2 h2 d У _Уз - Зу2 + Зу1 - Уо h3 d у_ Уо -Зу_1 +Зу_2 -у_з а:1 3 h3 d у У2 -2yl +2У..1 -У-2 dx 3 2h 3 113 O(h) правая O(h) левая центральная Ошибки разностных формул Разностные формулы имеют два типа ошибок: ошибки отбрасывания и ошибки округления. Порядки ошибок, приведенные в таблице, отно­ сятся к ошибкам отбрасывания. Такие ошибки появляются в результате того, что значение производной вычисляется на основании значений функции в нескольких точках, а не непрерывного множества значений. Поскольку ошибки отбрасывания пропорциональны расстоянию между точками (h), то может показаться, будто уменьшение этого расстояния уменьшит ошибку. Однако это справедливо только до тех пор, пока ошибка округления ие становится существенной. Ошибка округления возникает из того факта, что компьютер хранит числа с фиксированным числом знаков . При вычитании двух почти рав­ ных чисел, разность может быть очень малой, поэтому необходимо про­ верять, что результат является значимым. Для этого нужно разделить разность иа одно из исходИЪ1Х чисел и сравнить результат с точностью компьютера. Если полученное число равно или меиьше точности компь­ ютера, его необходимо отбросить, поскольку использование таких чисел приведет к бессмысленным результатам. Например, если два числа, при­ мерно равные единице, вычитаются друг из друга, и разность имеет по­ рядок 1 х 10-14 на компьютере, проводяшем вычисления с точностью до 14 знаков , такая разность должна считаться равной нулю. Таким обра­ зом, ошибка округления возрастает с умеиьшеиием h, одновременно с уменьшением ошибки отбрасывания. Это означает, что необходимо нахо­ дить "золотую середину" между уменьшением h для уменьшения ошибки отбрасывания и увеличением h для уменьшения ошибки округления. Суммарная ошибка достигает минимума при каком-то оптимальном, от­ личном от нуля, значении h.
1%1:1 Глава в Использование разностных формул в рабочем листе Разностные формулы, приведенные выше, являются достаточно про­ стыми, поэтому наилучшим способом их использование является реали­ зация непосредственно в рабочем листе, а не написание функции Vist1al Basic. Таким способом можно контролировать значения разностей, чтобы определить рост ошибки отбрасывания. Свободное падение Классической лабораторной работой первокурсников, связанной с движением с постоянным ускореmtем, является свободНое падение тел . Для этого металлическому грузу позволяют упасть вдоль полоски воше­ ной бумаги . Во время падения на rpyJ и металлическую проволоку, нахо­ дящуюся позади бумаги , подается высоковольтное переменное напряже­ ние. Каждые полпериода происходит искровой разряд между проволокой и грузом. Искра прожигает в бумаге отверстие, отмечая таким образом положение груза в момент разряда . Зная частоту напряжения и положе­ ние отверстий на полоске бумаги, можно вычислить скорость груза. Ниже приведены данные из такого эксперимента по свободному па­ дению. Искры генерировались каждые 60 секунд. Для определения ско­ рости необходимо вычислить первую производную, а для определения ускорения свободНоrо падения, вызванного притяжением Земли, необхо­ димо вычислить вторую производную. Д.анные числа показывают расстояния до отверстий от произвольной точки (в сантиметрах): 0,00 1,55 3,25 5,30 7,55 10,20 13,05 16, 15 19,50 23, 15 27,05 31,30 35,77 40,55 45,55 50.80 Введите несколько названий и время между генерациями искр. 1. 2. 3. Создайте новый рабочий лист и назовите его рис. 8. 1. В ячейку А 1 введите название листа Свободное падение. В ячейку С1 введите метку ЛТ• и выровняйте ее по правому краю. ••- Примечание . Для ввода символа Л необходимо набрвть заглавную букву D из шрифта SymЬol. 4. 5. В ячейку 81 введите =1/60 и присвойте ячейке имя В ячейку Е1 введите метку с . DT. Введите названия столбцов. 6. В ячейки АЗ:DЗ введите метки правому краю. t, х, dx/dt, d2xldt2 н выровняйте их по
Uнтегрuрованuе 7. u дuфференцuрованuе ifJi В ячейки А4:04 введите метки (с), (см), (см/с), (см/с2) и выронняйте их по правому краю. Вычислите время в столбце А. Обратите внимание, что нулевое время, указанное в таблице, не предполагает нулевой скорости в этот момент. Несколько первых отверстий были недостаточно четкими и потому не попали в таблицу. Данные о положении падаюшего груза вводятся в столбец В. 8. 9. Введите О в ячейку А5. В ячейку А6 введите формулу =AS+DT и скопируйте ее в ячейки А7:А20. 10. В ячейки 65:620 введите данные свободного падения тел, перечис­ ленные выше. В столбце С вычислите первую производную с помошью цеитра11ьной разностной формулы для середины интервалов между точками. В столбце О вычислите вторую производную с помощью центральной разностной формулы для каждой точки и усредните полученные значения. -·- Поимечан\1е Вместо вычисления второй производной ~111 определения ускорения можно было бы вычислить первую производную скорости. Результат был бы тем же. 11. В ячейку С5 введите формулу a(B6·B~jIOT и скопируйте ее в ячейки С6:С19. 12. В 13. ячейку 06 введите формулу =(B7.:~'"e$+B5)/(DTA2) и скопируйте ее в ячейки D6:D19. В ячейку С2 введите метку CpeдHt'f~= и выровняйте ее по правому краю. 14. В ячейку D2 введите формулу =СРЗНАЧ(D6:D19). 15. В ячейку Е2 введите метку см/с2. 16. Измените формат ячеек 65:020 на числовой с двумя знаками после запятой и формат ячеек А5:А20 на числовой с тремя знаками после запятой. 17. Оrключите отображение линий сетки. Теперь рабочий лист должен выr:Лядеть, как показано на рис. 8.1, только без результатов регрессии в ячейках F5:G5 (которые мы сейчас добавим). Столбец С содержит скорость груза, график которой представ­ лен на рис. 8.2. Как и ожидалось, это гладкая кривая движения с посто­ янным ускорением.
Гnава Свободное паден11е дт = 0,016667 8 с Среднее= 951.4286 см!с1 х o:bldt rA!cJ? (с) (см) (СМ/с) 0,0000 0,0167 0,0333 0.0500 0,00 1.55 0,0667 7,55 0.0833 10,20 0.1000 О, 1167 0,1333 0,1500 0,1667 13.05 16, 15 93.00 102.00 123.00 135.00 159,00 171,00 186,00 201,00 219,00 234,00 255,00 267,00 288,00 0.1833 0.2000 \11if::! 3.25 5.30 19,50 23.15 27,05 31,30 35,75 :H%i! о.21ы 4o.ss н1.$'"тн.··~~,- 'Q'··rc:, Рис. 8.1. Реэультатырегресс11и Сдвиг 540,00 1260,00 720,00 1440,00 89.65 1.326619 973.2857 стд ощибка Наклон Стдоши15ка 9,676316 0,998717 10117.21 г F СС-Рег СС-Ост. 73677,73 94.67143 Стд. ош оценки 2.698595 Степ. свободы 13 Равноускоренное движение: численное дифференцирование Поскольку объект падает свободно, ускорение в столбце О должно быть постоянным и равным ускорению свободноrо падения Как видно из рабочеrо листа и рис. 8.3, (980 см/с2 ). существует большой разброс вы­ численных значений ускорения, но их среднее имеет вполне подходящую величину (951,43 см/с2). J~r~;H~l~~Jiru[i;jj)jlti:gjillJцШJH!i;;;~;цш~!;;·:;i:~'N::·~·ш Ш;~[)~i1Шblii~.:iЫBlli'JttiJi~ШШ~t\ШШ~J!~Шlli!~~lli~Щi.•,; [i;~J!: ~~~р;1 Скорость свободного падения :: ~f JJ 350,00 ;~ эm.rn 13' 250,!XI !200.rn ~ ! 150.00 1(:0,00 50.00 0.00 +-----+----+------.-----t-------i O,IIXXJ 0,0500 0,10CXJ Вре..., Рис. 8.2. объекта 0.1500 (q 0.200J •' 0,2500 - Равноускоренное движение: скорость свободно падающего
Интегрuрованuе u ,,,, дuфференцuрованuе Ускорение с:вободноrо nадения 1600 1АОО "\;" 1200 ." !нm :1: •" IOJ 600 !! > 400 200 о о 2 1) 6 8 10 Врв"" 1<1 12 1~ 16 '18 8.1 Рис. 8.3. Равноускоренное движение: ускорение свободно падающего объекта • Предупреждение Вычисление среднего от разностных формул может привести к неожи­ данным результатам. Если подставить разностные формуль1 в выраже­ ние для среднего, то результат будет вычисляться только по двум пер­ вым и двум последним точкам, полностью игнорируя все остальные. При вычислении ускорения, при каждом вычитании случайная по­ грешность становится все больше. Это связано с тем, что исходные дан­ ные сами содержат случайную погрешность. При вычитании двух при­ мерно равных величин, результат яв;щется малой величиной, однако ве­ личина погрешности остается неизменной ввиду ее случайного характера. Например, если х1 содержит погрешность ЛХ и значение х2 примерно равно значению х 1 , то разность между этими двумя числами равна (х 1 +Лх)-х 2 =(х 1 -х 2 )+Лх Результат является малой величиной х2 - х 1 , содержащей ту же слу­ чайную погрешность, что и исходные числа. У вас может возникнуть во­ прос, не получится ли.так, что оба"числа содержат одинаковую погреш­ ность, которая при вычитании полностью исчезнет? Да, такое может происходить, но для случайных nогрещностей существует такая же веро­ ятность, что обе погрешности будут иметь разные знаки и в результате суммарная погрешность будет в цва раза больше. Таким образом, после вычитания получаются меньшие величины при том же значении случай­ ной погрешности, что означает увеличение относительной погрешности.
ijfj Гnава 8 что увели- Если известно, что погрешность экспериментальных данных одного знака и величины, такая погрешность является систематической, а не случай­ ной. Вычитание щественно меньшает системсJтичес ю по шность. Обычно, перед вычислением производных, экспериментальные дан­ ные сглаживают, то есть аппроксимируют какой-либо известной кривой, и вычисляют производную уже от этой кривой. При таком подходе сле­ дует быть внимательным, чтобы не "сrлалить" важные детали. В нашем случае известно, что движение является равноускоренным, поэтому ско­ рость можно аппроксимировать прямой линией. Угол наклона этой пря­ мой равен производной от скорости, то есть ускорению. 1. В ячейку 2. Выделите ячейки F5 введите метку Результаты регрессии. G8:H12 введите в них формулу =ЛИНЕЙН(С5:С19;А5:А 19;ИСТИНА;ИСТИНА) в качестве формулы массива, нажав комбинацию клавиш <Ctrl+Shift+Enter> (<Cmd+Enter> для компьютеров Maciпtosh). Добавьте метки для результатов регрессии и отформатируйте рабочий лист для придания ему вида, более удобного для чтения. Поскольку часть массива невозможно просто передвинуть, значения из столбца Н пере­ местить невозможно. Для улучшения внешнего вида рабочего листа, по­ сле отображения резупътатов регрессии можно скрыть весь столбец Н. 3. 4. Введите следующие значеиия в указанные ячейки. Fб Сдвиг F7 F8 F9 F10 Стд. Оwибка Накnон СтдОwибка r2 F11 F12 F13 F14 F15 F CC-Per СС-Ост. Стд. ow. оценки у Степ. саободы G6 G7 G13 G14 G15 =Н8 =Н9 =Н12 =Н10 =Н11 Выделите ячейку Н и выберите команду Формат> Столбец> Скрыть. Наклон линии скорости (973 см/с2) отображается в ячейке G8. Полу­ ченное значение довольно близко к ожидаемому (980 см/с2). Интегрирование Интегрирование дискретных данных включает в себя аппроксимацию этих данных известной функцией с последующим ее интегрированием. В большинстве случаев не удается подобрать одну функцию для аппрокси­ мации на всем интервале, поэтому область интегрирования разделяется на большое количество подинтервалов, на каждом из которых использу­ ется простая функция типа линейной, квадратической или кубической. После чего результаты для отдельных подинтервалов складываются вме­ сте для получения полного интеграла.
Интегрuрованuе u ,,,, дuфференцuрованuе Типы формул интегрирования " Наиболее часто при численном интегрировании используются прави­ ло прямоугольников, правило трапеций, интегрирование по Ромбергу, правило Симпсона и квадратура Гаусса. Каждый из этих методов являет­ ся более точным, чем предыдущий, поскольку производит аппроксима­ цию данных более сложной кривой. Правило прямоуrольников Согласно правилу прямоугольников, область между точками заполня­ ется прямоугольником, высота которого соответствует координате у од­ ной из точек, а ширина равна расстоянию между точками. Значение ин- теграла определяется по следующей формуле: · SOCIJ 400) DJJ 200) нm 11-! .__....... ~. о +--...._____,___....___.__, о 5 10 1= LY;(x;+i -х;) r=I Такое приближение может показаться очень грубым, например для случая, указанного на рисунке, однако при малой ширине интервала и гладх.ой функции результаты получаются достаточно точными. Кроме того, такой метод очень просто реализовать, поскольку достаточно про­ сто перемножить данные в каждой точке на ширину ин~рвала и сложить результат. Прввило трвпеций Согласно этому правилу, каждая .пара соседних точек соединяется прямой линией, образуя последовательность трапеций. scm .с((() DJJ <аю 100) ..._____....,. D -t-~-т-"-~---t о 5 10 [ =~(У;+ ~ i=I Yi+I ) ( 2 Х1+1 - .) х1 Площадь трапеции равняется полусумме оснований, умноженной на высоту - расстояние между точками в данном случае. Обший интеграл равняется сумме площадей всех трапеций.
,,,, Гnава 8 Интегрирование по ,Ромберrу Правило трапеций можно улучшить с помощью интегрирования по Ромбергу, использующее две различных оценки для экстраполяции зна­ чения интеграла. При вычислении первой оценки используется правило трапеций для каждой точки, а при вычислении второй оценки использу­ ется правило трапеций для каждой второй точки. 400J : ЗООJ ~ (У1 + Yi+I ) ( X;+l I 1= L..J 100J 2 1=! 5 - Xi ) 10 Полученные оценки соответствуют различным интервалам между точ­ ками. Согласно методу Ромберга, ошибка при вычислении интеграла пропорциональна квадрату расстояния между точками. I = / 1 +Ch 2 1=12 + C(2h) 2 где С - ' постоянная. Решение этих двух уравнений приводит к сле­ дующему выражению для интеграла 1 = 11 + t (!1 - l 2) Превило Симпсонв Согласно правилу Симпсона, для аппроксимации данных использует­ ся уравнение параболы, построенной по трем точкам (правило по четырем точкам (правило 3/8). 1/3) или п-2 500) l = 4(Ц) L t(Yi + 4У,+1 + Yi+2 )h 1~1.З,5.-·· п-3 l = L i(Y + Зу1+1 + Зу1+2 + Ym )h 1 i=ot.4,7"., о 5 10 Квадратура Геуссе При интегрировании аналитических выражений, в противополож­ ность интегрированию отдельных точек, можно использовать квадратуру
Интегрuрованuе u F)i)j дuфференцuрованuе Гаусса. Число необходимых точек определяется порядком кривой, кото­ рую должна быть использована для аппроксимации. Для кривой третьего порядка достаточно двух значений функции. 5(0) 4!Ц) ' . DXJ ' ' j, zm ·-·-- ,• 1СОО .\ ·2 о +t 2 f f(t)dt = f(-0. 5773) + f(O. 5773) _ 1 Хотя такая простая формула может показаться каким-то волшебством, для нее существует строгое математическое обоснование (см. список ли­ тературы в конце главы). Для использования этого выражения необходи­ мо провести замену переменных таким образом, чтобы интегрируемая функция имела выш~приведенный вид (формулы более высокого поряд­ ка приведены в литературе). Затем достаточно вычислить сумму значений функции в указанных точках. Несобственные интегралы Часто встречаются интегралы, у которых один или оба предела интег­ рирования равны бесконечности или подынтегральная функция не опре­ делена где-либо на участке интегрирования. Например, большинство специальных функций в физике и технике (гамма-функция, функция ошибок и т.д.) определены с помощью интегралов, один из пределов ко­ торых равен бесконечности. Обойти эту проблему можно несколькими способами. Простейшим способом является замена переменных таким образом, чтобы оба предела интегрирования стали конечными. Например, рас­ смотрим следуюшую функцию. 1= J: х е -х dx 2 Разобьем ее на два интеграла l = J: Х 2 е-х dx + J.''" Х 2 е-х dx и проведем замену переменных у 1= i = 1/х во втором интеграле. i е-1/у r х2 е-х dx + Jor -4-dy Jo у Теперь имеется два интеграла с конечными пределами. Подынте­ гральная функция второго интеграла на нижнем пределе не определена
1\1& Гnава (неопределенность типа 0/0), 8 однако предел равен нулю, так что это не проблема. Многие выражения с бесконечными пределами быстро сходятся при увеличении аргумента. Фактически, они должны быстро сходиться, что­ бы значение самого интеграла было конечным. В таком случае можно продолжать интегрирование функции до тех пор, пока значение измене­ ния интеграла не станет намного меньше ero значения, и прекратить ин­ тегрирование в этот момент. Функция во втором интеграле вышеприведенного уравнения не опре­ делена в нижнем пределе интегрирования. Если известно, что предел функции в этой точке равен нулю, этот факт можно использовать для вычисления интеграла. Если же значение предела не известно, или он равен бесконечности, как в случае r~ Jo "\/ х 1 I= ' необходимо заменить нижний предел на малое число Е и выполнить интегрирование. Затем нужно уменьшать значение Е до тех пор, пока ин­ теграл не сойдется (если он сойдется). Обратите внимание, что это именно тот способ, каким бы этот интеграл вычислялся аналитически. Использование методов интегрирования Использование методов интегрирования достаточно просто. В каждой ячейке происходит вычисление значения интеграла между двумя точка­ ми. В последней ячейке все эти значения суммируются. · Гамма-функция Гамма-функция принадлежит к так называемым специальным функ­ циям науки и техники. Она возникает в физических задачах, например, при вычислении вероятностей в статистической механике или при нор­ мировке волновых функций в кулоновском поле. Вы встречались с ними в предыдущей главе в виде сомножителя в выражении для функции Бес­ селя Jп(х) в случае нецелого значения п. При целых значениях аргумента гамма-функция становится обычным факториалом. Г(n+l)=n! Гамма-функция определяется следующим интегралом Г(х) = (ф e-r tx- 1dt Jo не имеющим ' аналитического выражения. обычно задаются таблично. На рис. ной функции для х 8.4 Значения гамма-функции приведен график подынтеграль­ = 1,5. Обратите внимание, что выражение быстро
Интегрuрованuе 111 дuфференцuрованuе u стремится к нулю, поэтому интеграл можно оборвать при t = 10, что приведет к точности более чем в три знака. В следующем примере, вычислите гамма-функцию с помощью чис­ ленного интегрирования. Используйте все методы, описанные ранее, и сравните результаты. Значение гамма-функции в точке х = г \/1t 1,5 равно 12. Используйте именно. такое значение х, чтобы сравнить результаты ин­ тегрирования с правильной величиной. 1. 2. 3. Создайте новый рабочий лист и назовите его рис. Установите ширину столбца А равной 8.5. 11. В ячейку А 1 введите название Гамма функция. Введите .значения и присвойте имена ячейкам для значений х и шага интегрирования dt. График функции, иктеграл которой определяет rамма функцию при к= 1,5 0.5 0.45 0,4 о.зs ":;- о.з 0.25 • 0.2 0.15 0.1 o.os o.j._~~-+-~~~+-======-.-~~---1e---~~--~~---1 о 10 8 12 r- Рис. График функции, интеграл которой определяет гамма функцию при х= 8.4. 1,5 4. В ячейку С1 введите метку х= и выровняйте ее по правому краю. 5. В ячейку 6. 7. 8. В ячейку Е1 введите метку В ячейку В 01 F1 ячейки введите значение dt= введите значение ВЗ:GЗ введите 1,5 и присвойте ячейке имя Х. и выровняйте ее по правому краю. 0,1 и присвойте ячейке имя метки 'Истина, Прям., DelT. Tpan.2, Трап., Ромберг., Симп.1/3 и выровняйте их по центру. - . _ Примечание Перед меткой Истина необходимо поставить одинарную кавычку, чтобы Excel не воспринял ее в качестве логического значения.
Hi ~~в Напишите формулу сложения содержимого всех ячеек для получения полного интеграла каждым методом. Вычислите ошибку каждого метода, сравнив вычисленный интеграл с правильным значением в ячейке 84. В ячейке F4 находится формула Ромберга, объединяющая два правила тра­ пеций. 9. Введите следующие значения в указанные ячейки. Ячейка Содержание Примечание А4 А5 Интеграл= выравнивание по правому краю Ошибка= =КОРЕНЬ(ПИ())/2 =СУММ(С8:С102) выравнивание по правому краю 84 С4 cs =(С4-$В$4)/$В$4 скопировать в скопировать в D4:E4 D5:G5 ==D4+(D4-E4)/3 =CYMM{GB:G 102) F4 G4 В столбuы А и В введите 96 значений переменной t и интегрируемого выражения. 10. Введите следуюшие значения в указанные ячейки. Ячейка Содержание Примечание А7 А8 t выравнивание А9 =A8+DelT f(x,t) no правому краю о 87 11. Измените скопировать в А 1О:А103 выравнивание по правому краю формат ячеек А8:А103 на числовой, с четырьмя знаками после запятой. 12. В ячейку 88 введите формулу =ЕХР(-А8)*А8"(Х-1) и скопируйте ее в ячейки С9:С102. Теперь введите формулы для правила прямоугольников 13. В ячейку СВ введите формулу =B8*DelT и скопируйте ее в ячейки 89:8103. Дважды проведите вычисления по правилу трапеций, первый раз с использованием одинарного шага, а второй раз с использованием двой­ ного шага интегрирования. Второе вычисление необходимо для вычисле­ ния по формуле Ромберга в ячейке F4. Обратите внимание, что при вто­ ром вычислении по правилу трапеций используется каждая вторая точка, поэтому в столбце Е происходит обнуление некоторых формул, чтобы не учитывать их дважды. 14. В ячейку 08 введите формулу =Dе1Т*(В8+В9)/2 и скопируйте ее в 15. ячейки D9:D102. В ячейку ЕВ введите формулу =Dе1Т*(В8+В10) И скопируйте ее в ячейки Е9:Е101. . 16. Замените ... , формулу в каждой второй ячейке столбца Е (Е9, Е11, Е13, Е101) на О.
Интегрuрованuе u ,,,, дuфференцuрованuе ./Совет Для быстрой замены формул можно использовать поочередное нажатие клавиш <О> и <стрелка вниз> Введите формулы для вычисления по правилу Симпсона. Как и ра­ нее, обнулите каждую вторую формулу в столбце 17. В ячейку в ячейки 18. Замените ... , G101) G8 введите G9:G101. G. формулу =Dе1Т*(В8+4*В9+В10)/З и скопируйте ее формулу в каждой второй ячейке столбца G (G9, G11, G1З, на О. 19. Отключите отображение линий сетки. Теперь ваш рабочий лист должен выглядеть, как показано на рис. 8.5. Значения, вычисленные по правилу прямоугольников и трапеций, прак­ тически одинаковы. Интегрирование Ромберга уменьшает ошибку для правила трапеций почти на 50 процентов, до значения, близкого вычис­ ленному по правилу Симпсона. Во всех вычислениях, область интегри­ рования была разделена Ге~мма функция х ИС1'111НЗ равноотстоящими точками. 96 = Прям. 1,5 Трал. 0,1 dt= Tpan.2 Ромберг Сl<!МП 113 Ин;еrрап= 0,886227 0,879481 0.879492 0,867836 0,883378 0,883346 Ошибка= -0,00761 -0.0076 -0,02075 -0.00321 -0.00325 f{x.t) 0.0000 0,1000 0.2000 0,3000 0,4000 0.5000 0.6000 0.7000 0.8000 0,9000 о о 0,286135 0,366148 0.405763 0,423948 0.428882 0.425108 0.415473 0.401892 0,385706 0.028613 0.036615 0,040576 0,042395 0.042888 0,042511 0,041547 0.040189 0,038571 0,014307 О.0?>6615 о 0.032614 0.038596 0.07901 0,041486 о 0,042641 0.084906 о 0.042699 0,0827 0.042029 о 0,040868 0,03938 0.076977 0,037679 о ·' 0,050356 . о 0.080438 .__,; о 0.085486 о 0.082963 о :·,, " ' ~: 0,077086 о 8.5 Рис. 8.5. Гамма-функция: вычисление интеграла с помощью правила прямоугольников, трапеций, Ромберга и Симпсона Формула квадратуры Гаусса в данном рабочем листе не, использова­ лась, поскольку она является более точной и требует меньшего числа то­ чек. Для нее достаточно 15 точек вместо 96. Фактически, будут использо­ ваны 43 точки, поскольку квадратура третьего порядка вычисляет значе­ ния в двух дополнительных точках .!lЛЯ каждого интервала. Расположение данных на рабочем листе остается прежним. Для сравнения, значение ин­ теграла будет вычислено по тем же точкам с помощью правила трапеuий.
IJf~j Гnава 8 Для использования квадратуры Гаусса, необходимо вначале провести замену переменных таким образом, чтобы пределы интегрирования стали -1 и 1. Используйте следующую подстановку: (Ь-а)у+Ь t = ..;._ _ __..;....;,.___+а _ 2 где а - нижний предел интегрирования, а Ь - верхний. В результате выражение для гамма-функции принимает следующий вид. Г(х) = Г' е- 1 tx-idt Jo = (Ь - а) J+le -((b-ti)y+h+"!/2 ( ( Ь - а )у+ Ь +а) x-i dy 2 2 -1 В данном случае значение интеграла вычисляется для каждого интер­ вала межлу точками, поэтому верхний и нижний предел интегрирования совпадают со значением t в этих точках. Обратите внимание, что такой :метод можно применять только в том случае, если известно аналитиче­ ское выражение для подынтегральной функции, а не экспериментальные точки, или же известны значения интеграла в этих точках. 1. 2. Создайте копию рабочего листа из предыдущего примера и назовите ее. Установите ширину столбца А равной 11. Введите значения точек области интегрирования. В начале области, где функция изменяется быстро, точки должны быть расположены чаще, чем в конце, где изменения функции более плавные. 3. Введите следующие значения в ячейки А8:А22 АВ А9 А10 4. О 0,2 0,4 А11 А12 А13 0,6 0,8 1 А14 А15 А16 2 3 4 А17 А18 А19 5 6 7 А20 А21 А22 8 9 10 Очистите содержимое ячеек А2З:D103, E1:G103 и C22:D22. Вычислите значение квадратуры для кажлой пары соседних точек в ячейках С8:С21 и сложите полученные значения в ячейке С4. 5. 6. 7. В ячейку СЗ введите метку Гауссиан и выровняйте ее по центру. Измените содержимое ячейки С4 на =СУММ(С8:С21). В ячейку С8 введите формулу =((А9-А8)/2)*(ЕХР(-((А9-А8)*(-1/КОРЕНЬ(З))+А9+А8)/2) "({(А9-А8)*(-1 /КОРЕНЬ(З) )+А9+А8)/2)"(Х-1) +ЕХР(-((А9-А8)*(1 /КОРЕН Ь(З))+А9+А8)12) *(((А9-А8)*(1/КОРЕНЬ(З))+А9+А8)/2)"(Х-1 )) и скопируйте ее в ячейки С9:С21. 8. Оставьте вычисления по правилу траnеЦ11и в столбце D для сравнения. Измените содержимо~ ячейки D4 на =CYMM(D8:D21).
Интегрuрованuе u дuфференцuрованuе Теперь ваш рабочий лист должен вь1глядеть, как показано на рис. 8.6. Обратите внимание, что ошибка квадратуры Гаусса составляет примерно одну пятую от ошибки интегрирования по правилу трапеций . .-.·_,l;JJ&i;;;~;~j:ll.'ffu\.J;~Щl':'~,:L'>L···.::.!:C~-''..:'J.:~~,·~.:"•...:.:·~·-·,:t=.:-.:;~;;:_"_c.:»:»t;;;i•;:_•.~:.:.~.>~~-;"'~-;;;_c_•:cl':l~.:±:~.t:·.'.:';;,;i1.~1 :J;i~ Ге~мма функция ~~;i~ х = Истина Гауссиан Трап ·;!~: и~т~~:: o.ssв221 ~:~~~~~~ ~о~~~~~ <?~~ i§1:J f(x.t) 0,0000 о 0,053628 0,2000 0,366148 0,080454 0,4000 0,423948 0,085489 0,6000 0,425108 0,0829~4 0,8000 0,401892 0.077087 1,0000 0,367879 0,275676 2,0000 0, 191393 0,13281 з.оосо 0.086234 4,0000 0.036631 5.0000 "~i 0,036615 0,07901 0,084906 0,0827 0,Q76977 0.279636 0,138813 С.061433 ~.r: .- Рис. 8.6. :...:~: ;·;:i ~ _~: ; " ~ ;+:~~, ;: ~;! • ·; ·<" Г~мма-функция: использование формулы квадратуры Гаусса Реализация формул интегрирования в виде· функций Visual Basic Как и следовало ожидать, все формулы интегрирования могут быть реализованы в виде функций Просто, вместо Visual Basic. Уравнения остаются теми же. вычисления частей интеграла в отдельных ячейках и сложения их вместе с помощью функции СУММ, используется uикл Программы Visual Basic FOR. обладают большей гибкостью, чем метод не­ посредственного интегрирования на рабочем листе. В первом случае, дr1я изменения пределов или шага интегрирования достаточно изменить зна­ чение переменной или константы, по сравнению с добавлением или уда­ лением ячеек во втором. С другой стороны, при интегрировании экспе­ риментальных данных пределы и шаг интегрирования являются задан­ ными, данные уже находятся в ячейках, и поэтому непосредственное ин­ тегрирование становится настолько же удобным, как и использование функций .... Visual Basic. Примечание Хотя функции Visual Basic предоставляют больше возможностей при вы­ числении интегралов, формулы рабочего листа позволяют наблюдать значения в процессе вычислений, что позволяет убедиться в правильно­ сти расчетов.
Г(lава IJ fj Функция Visual Basic для аычислания Программа Visual Basic 8 гамма-функции из следующего примера вычисляет rамма­ функцию с помощью правила трапеций. 1. 2. Visual Basic Макрос Visual Basic, создайте новый модуль и присвойте >- Редактор с помощью команды меню Сервис ему имя Gammaf. Введите следующую процедуру: Option Exp1icit ' ' ' . Вычисление гамма-функции по правилу трапеций Function Gamma(dЫX As DouЫe) As DouЫe Dim dЫТ As ОоuЫе ' Переменная икrеrрирования. Dim dЫTerm As DouЫe' Член суммы. Dim dЫTerm1 As DouЫe 'Две части члена суммы. Dim dЫTerm2 As DouЫe Const !Start =О 'Нижний nредел икrеrрироаания. Const tEпd = 20 ' Верхний nредел икrеrрирования. Const ОеlТ 0.01 ' Шаг икrеrрирования. Const CutOff = 0.000000001 ' Образающее значение для члена суммы ' Обнуляем пераменную суммирования. Gamma =О ' Цикл икrеrрирования, за один цикл вычисляется одkи член суммь1. For dblT = tStart То tEnd Step DelT ' Вычисляем один член суммы по правилу трапеций. dЬITerm1 = Ехр(-dЫТ) * dЫТ" (dblX - 1) dЫTerm2 = Exp(-dblT - ОеlТ) * (dЫТ + ОеlТ)" (dЫХ - 1) dЫTerm De1T * (dЫTerm1+db1Тerm2)/2 = = 'Добавляем полученное значение к разультату. Gamma = Gemma + dЫTerm ' Завершаем, если nосnедний член lf dЫТerm / Gamma < CutOff Тhеп Exit For End lf NextdblT End Function ' > Запустите редактор меньше, чем 1е-9 от всей суммы. Небольшая процедура, исполt:.Зуемая при отладке ' SuЫest1() Dim dЫХ As ОоuЫе Const Pi = 3.14159265358979 'Тестируемое значение dЫХ= 1.5 ' Выводим значение, результат и правильный разультат ' в окно отладки. DeЬug.Print dblX, Gamma(dЫX), Sqr(Pi) 1 2 Stop End Sub
Интегрuрованuе u дuфференцuрованuе В начале процедуры происходит объявление нескольких переменных, и определяются три константы, соответствующие предел ам и шагу интег­ рирования. Использо вание констант заметно упрощает измен ение цикла интегрирования при тестировании. Затем инициализируется переменная суммирования Gamma и начинается цикЛ, выполняющий интегрирова­ ние. В пределах цикла вычисляются два значения подынтегрального вы­ ражения , и находится их среднее, которое затем умножается тегрирован ия для получения площади трапеции. на шаг ин­ Найденн ая площадь прибавляется к переменной суммирования. В конце цикла происходит сравнение величины последнего слагаемого со всей суммой. Если сла­ гаемое меньше суммы более чем в 1 х 1О-9 раз, то цикл прекращается. После функции находится небольшая процедура, используемая при отладке. Процедура вызывает функцию для проверки синтаксических ошибок и правильности вычисляемых значений . Для этого переменным присваиваются значения, вызывается функция и результаты выводятся в окно отладки. Затем выполнение ~:~рекращается и отображается окно от­ ладки, в котором можно видеть текущие значения. При возникновении проблемы для проверки значений других переменных в этот момент можно использовать команды отладки. Для использования новой функции в рабочем листе , создайте новый рабочий лист и вызовите функцию с заданным аргументом. Вновь ис­ пользуйте значение 1. 2. 1,5 для проверки точности результата . Создайте копию рабочего листа рис. 8.6 и присвойте ему имя рис. Введите следующие значения в ячейки Е3:Е5 ЕЗ Гамма Е4 =Gamma(X) Е5 =(Е4-$8$4)/$8$4 8.7. Через несколько секунд рабочий лист должен выглядеть, как показано на рис. 8.7. Ошибка в данном случае составляет всего 0,02 %. Точность можно увеличить еше больще. уменьшив значение шага и обрезающее значение. В результате увеличится время вычислений , но это может быть допустимым, в зависимости от конкретной ситуаuии. Резюме В этой главе вычисляются численные производные данных и функ­ ций . В часrnости , рассмотрены методы, используюшие формулы рабо­ чего листа для вычисления правых, левых и центральных производных , и показаны некоторые проблемы численного дифференцирования, а имен­ но: окруrление , отбрасывание и рост ошибки при вычитании. Кроме того, рассматривается численное интегрирование данных и функций , как непосредственно на рабочем листе, так и с помощью функции Visual Basic. Реализовано несколько стандартных методов чис­ ленного интегрирования, обычно применяющихся в языках высокого уровня. Указанные методЫ включают в себя правила nрямоуrольников, трапеций , Ромберга, Симnсона и квадратуру Гаусса.
Гnава В Интеграл= Истина Гвуссиан 0,886227 О.886216 Ошибка" Трап. Гамма 0.867413 0.88601 9 -0,02123 -0,00023 -1,2Е-05 ~, i. ," ,:· f(x,!) 0,0000 0,2000 0.4000 0.6000 0,8000 1.0000 1,2000 1,4000 1.5000 1.8000 Рис. 8.7. о 0,366148 0.423948 0,425108 0.401892 0.367879 0.329942 0,291777 0,255381 0.221772 0,053628 0.080454 0,085489 0.082964 0,077087 0,06981 0,062155 0.054676 0,047664 0.041251 0.036615 0.07901 0.084906 0.0827 0,076977 0,069782 0,062172 0,054716 0.047715 0.041316 Использование функции Visual Basic при , ·· -, вычислении гамма­ функции Если вас заинтересовало математическое обоснование этих методов, его можно найти в книгах по численным методам. Большинство алго­ ритмов дифференцирования и интегрирования могут быть легко реали­ зованы на рабочих листах Excel. Дополнительная литература Специальные функции G. Arfken, Mathematica/ Methods of Physics (Orlando, Fla: Academic Press, 1970). Численное интегрирование и дифференцирование C.Gerald, Applied Numerical Analysis, 2nd ed. (Reading, Mass.: AddisonWesley, 1978). W.H. Press, et al" Numerical Recipes: Тhе А11 of Scientific Computing (Cambridge, Eng.: Cambridge Un.iversity Press, 1986). Обзорные задачи 1. Свободное падение тела на Луне описывается следующими цифрами , соответствующими положению тела через каждую 1/60 секунды. Объ­ ект начинает движение из состояния по.коя. Используя метод цен­ тральных производных , вычислите скорость и ускорение .объекта в каждой точке. Чему равняется ускорение свободного падения на Луне?
Интегрuрованuе Точка Положение(см) Точка Положение (см) 1 о 6 2 3 0,023 0,093 0,203 0,370 7 0,578 0,833 1, 134 1,481 1, 187 2,314 4 5 8 9 10 11 2. ij~i дuфференцuрованuе u Используя данные для х и у из следующей таблицы, вычислите и по­ стройте график первой и второй производной у по х. Сравните значе­ ния, полученные численными методами, с аt:1алитическим решением = у'= бх + 12х2 и у" 6 + 24х. (Ошибка в результатах вызвана аппрок­ симацией непрерывной кривой дискретным множеством точек.) 3. х у х у х у 0,0 0,5 1,0 1,5 2,0 2,5 3,0 2,00 3,25 3,5 4,0 4,5 5,0 5,5 6,0 6,5 210,25 306,00 427,25 577,00 758,25 974,00 1227,25 7,0 1521,00 1858,25 2242,00 2675,25 3161,00 3702,25 9,0 22,25 46,00 83,25 137,00 7;5 8,0 8,5 9,0 9,5 10,0 Закон Ампера используется для вычисления тоюl " 4302,00 ! в проволнике, ин­ тегрированием магнитного поля по замкнутому контуру, охватываю­ щему проводник. Магнитное поле i"JМеряется в нескольких точках вдоль границы квадрата, расположенного таким образом, что провод­ ник находится в центре. Ниже привсд::ны значения измерений в точ­ ках, расположенных меЖду серединu;i одной стороны и углом квадра­ та. Ввиду симметрии задачи, интеrр;~лы вдоль других половинок сто­ рон квадрата имеют такое же значение и полный ток в восемь раз больше интеграла по одной половине стороны. Вычислите ток в про­ воднике с помошью рабочего листа с формулами для правила прямо­ угольников, трапеций, Ромберrа и Симпсона. Закон Ампера имеет следующий вид: I= ~ (в(у)dу µ0 . µ 0 =1.26х10--6 Hlm у, м В(у), Вб/м2 у, м _В(у), Вб/м2 0,0 1,20*10-5 1, 19*10-5 1.16"10·5 2,5 963*10·6 a:ss*10-6 8 08*1Q•6 7:34*10·6 о,5 1,0 1,5 2,0 4. ° 1,10*1О-5 1,04*10·5 з,о 3,5 4,0 4,5 5,0 б,65*1Q•б 6,02"10-б Интегральный синус является специальной функцией, которая зада­ ется формулой:
иr& rnaвa 8 л J;xsin(t)dt S1.( х ) = - J"'sin(t)dt = --+ х t 2 о t Вычислите значение Si(x) = 0,5 с помощью правил прямоуголь­ при х ников и трапеций на рабочем листе. 5·. Интегральная показательная функция является специальной функци­ ей, которая задается формулой: Ei(x)=- J. ~ е-' -х х<О -dt t -i:e -1 -х t "'е -1 ] = - liin [ J. -dt + J. -dt х >о t--.O Вычислите значение f. Ei(x) реализованноrо в функции t при х = -3 с Visual Basic. помощью правила трапеций, 7. Выполните задачу 4 с помощью формулы квадратуры Гаусса. Выполните задачу 5 с помощью правила Симпсона, реализованного в виде функции Visual Basic. 8·. Интегральное представление функции Бесселя целого порядка имеет 6. вид: J п (z) = _!_ 7t rтт cos( n8 - Jo zsin(8) )d8 Вычислите значение Jп(Z) при п = 1 и z = 0,5 с помощью правила трапеuий на рабочем листе. 9. Выполните задачу 8 с помощью правила Симпсона, реализованного в виде функции Visual Basic. 1О. Выполните задачу 5 с помощью формулы квадратуры Гаусса, реализо­ ванной в виде функции Visual Basic. Сравните результаты с приведен­ ными на рис. 7 .2 Упражнения 1. С помощью следующих пар значений х и у, вычислите и постройте график первой и второй производной у по х. Сравните численные ре­ зультатъ1 с аналитическим решением у'= 6х2 I5x4 и у'= l2x + 6Ох3. + х у х у х у о 7,00 7,02 7,16 7,67 9,01 12,00 17,92 1,4 1,6 1,8 2,0 2,2 2,4 2,6 28,62 46,65 75,35 119,00 182,90 273,53 398,59 2,8 3,0 3,2 3,4 3,6 3,8 4,0 567,22 790,00 1079, 17 1448,67 1914,30 2493,80 3207,00 0,2 0,4 0,6 0,8 1,0 1,2
Интегрuрованuе 2. Ниже приводится таблица с данными о высоте над поверхностью Земли небольшой ракеты во время взлета . Вычислите и постройте график зависимости скорости и ускорения ракеты от времени. Може­ те ли вы сказать, когда двигатель остановится? Время 3. l)Q u дuфференцuрованuе Высота (м) Время высота (м) о о 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0 3,2 3,4 3,6 3,8 4,0 4,2 4,4 4,6 4,8 4 18 41 71 108 151 199 251 308 367 428 490 552 620 687 753 820 885 951 1016 1080 1145 1209 1272 5,0 5,2 5,4 5,6 5,8 6,0 6,2 6.4 6,6 6,8 7,0 7,2 7,4 7,6 7,8 8,0 8,2 8,4 8,6 8,8 9,0 9,2 9,4 9,6 9,8 10,0 1335 1398 1460 1522 1584 1645 1706 1766 1826 1885 1945 2003 2062 2120 2177 2235 2291 2348 2404 2459 2515 2570 2624 2678 2732 2785 Резервуар имеет глубину х х d = 80 - и ширину .w = 1000 rде х d, описываемую формулой 0,04 футов w, описываемую формулой + х/2 футов, расстояние от дамбы до поверхности воды. Вычислите объем - воды в резервуаре в акро-фуrах (объем прямоугольного параллелепи­ педа с площадью верхней грани один акр и глубиной один фуr) с по­ мощью правил прямоугольников и трапеций. 4. Интегральный логарифм является специальной функuией, которая задается формулой Li( х) = 0 = х <l ln(t) rсю . Lt(x) Г~ х J, dt t 1 (lп(x)- ln{t)) х >1
iji:I 5. Гnава 8 Вычислите значение Li(x) для х из интервала от О до l с помощью правила Ромберга. Представьте, что вы находитесь на комете Шумейкера-Леви (Schoemaker-Levy) на пуrи к Юпитеру. Оцените скорость столкновения, численно проинтегрировав произведение ускорения на время (а х Лt), необходимое для движения из состояния покоя на бесконечности (а мало) до поверхности Юпитера (r1) . Для определения времени столк­ новения необходимо также знать положение кометы (v х Лt). Уско­ рение описывается формулой: т; a=:.G- r2J G = 6,67 х 10-11 1,9 х 1027 т1 = Н-м2/кг2 кг r1= 7,0 х 107 м Сравните полученный результат с аналитическим решением: v= f2Gm 1 ~ 6. r; Количество грунта, вынимаемое из траншеи при прокл адке дороги , вычисляется с помощью числ енного интегрирования. Сечение тран­ шеи приведено на рисунке. Ширина дороги r фиксирована в данном случае) , также как и уrол наклона склонов к 1,5 (l (20 фуrов по вертикали по горизонтали). По результатам земельной съемки, план тран­ шеи представляется в виде последовательных сечений холма, через который должна пройти дорога. Результаты замеров для каждого слоя привелены в таблице. Количество грунта, который необходимо вы­ нуть, оценивается путем определения объема одного слоя и после­ дующего суммирования всех слоев. Для вычисления объема слоя вы­ числяется средняя площадь поверхности ограничиваюших его трапе­ ций, которая затем умножается на толщину слоя. Вычислите объем грунта, который необходимо вынуrь для прокладки дороги . Сечение Глубина траншеи Сечение (футы) А в с D Е F G н Глубина траншеи (футы) О ; 2 4 7 ,5 12 13,5 j k 1 n 13 12 10 7 4 2 14 14 о О m
Интегрuрованuе u дuфференцuрованuе . ' а 7. 8. 9. Ь d е f' g h k m n о Выполните упражнение 4 с помощью правила Симпсона. 4 с помощью формулы квадратуры Гаусса. Visual Basic для вычисления интегрального лога­ Выполните упражнение Напишите функuию рифма при произвольном значении х. 10. Три интеграла Френеля определены следующим образом Ф( х) = ~ Ге_, "\f 1t S(x) 2 dt о = ;_ rx sin(t 2 )dt v 2n Jo С(х) = ~ rxcos(t 2 )dt 'V2rt Jo Напишите функuию Visual Basic произвольном з начении х. для вычисления этих интегралов при
Гпава 9 Решение не11инейных а11rебраических уравнений В зтой таае... ./ ./ ./ ./ Метод посnедоватепьных nри611ижений Метод верхней репаксации Метод нижней репаксации Метод Ньютона Решение нелинейных алгебраических уравнений - работа трудная и неблагодарная. Уравнение , которое внешне выглядит предельно просто, может не поддаться решению никакими аналитическими методами . За исключением уравнений с левой частью в виде многочлена не выше чет­ вертого порядка и простейших трансцендентных уравнений (содержащих тригонометрические функции или эксПоненты), большинство нелиней-: ных алгебраических уравнений не допускает аналитического решения. Кроме того, аналитические выражения для корней многочленов треn,его и четвертого порядка стоJiЪ громоздки, что редко используются на практике. Все численные методЫ решения нелинейных уравнений основа.Мы на угадывании начального приближения к . решению и последовательном улучшении этой догадки. Очередное приближение вносится в уравнение, а результат используется для построения следующего приближения. Эта процедура повторяется до тех пор, пока не будет достиrнуrа удовлетвори­ тельная точносn, приближенного решения. Итерационный процесс мо­ жет оказаться расходящимся; в этом случае бросайте работу и идите до­ мой - утро вечера мудренее . Метод последовательных приближений Хотя для нахождения корней нелинейн.ыХ уравнений существует це­ лый ряд методов, лучше всего для реализации в электронных таблицах подходит метод последовательных приближений. Для его прим енения уравнение необходимо переписать в следующем виде : х = f(x) Записать уравнение в таком виде можно бесконечным числом спосо­ бов, однако некоторые из них мoryr привести к расходимости итераци­ онного процесса ..
Peweнue неnuнеuнын аnгебраuческuн уравненuu После преобразования уравнения необходимо выбрать начальное зна­ чение х - первое приближение к решению. В принципе может подойти любое значение, но чем ближе оно к точному решению, тем быстрее к нему сойдется итераuионный процесс. Следует помнить, что в задачах с несколькими решениями различные начальные приближения мoryr при­ вести к различным корням, то есть конечный результат существенно за­ висит от выбора первого приближения . Подставьте начальное значение х в функцию f (х) и вычиСлите новое значение х. Это значение будет являться вторым приближением, которое снова подставляется в f (х). Продолжайте вычисление новых . приближе­ ний х таким же образом до тех пор, пока последовательность не сойдется к пределу с удовлетворительной точностью. Хо = первое приближение х, =/(Хо) Х2 = /(Х1) Xn = f (Xn-1) На рис. 9. l показана последовательность приближений к решению нелинейного уравнения. График иллюстрирует поиск решения уравнения х Cos(x), которое находится в точке пересечения кривых у = х и у = = Cos(x). На этом рисунке итерационный процесс напоминает приближе­ ние к решению по сужающейся спирали; вычисления прекращаются то­ гда, когда очередное приближенное значение оказывается достаточно близким к точному решению. Рис. 9.1. Последовательные приближения к решению нелинейного уравнения
Гnава 9 ..... Прим~чание Исторически первым и классическим методом решения нелинейных уравнений является графический метод. Хотя его точность оставляет же­ лать лучшего, графический метод обычно позволяет найти удачное пер­ вое приближение для последующего применения численных методов. Так, чтобы найти грубое приближение к решению рассматриваемого не­ линейного уравнения, начертите графики функций у= х и у= казано на рис . 9.1, и f(x), как по­ на глаз определите абсциссу точки пересечения этих графиков . Сходимость процесса последоаательных приближений Н е дпя всех уравнений процесс последовательных приближений схо­ дится к точному решению. Для обеспечения сходимости метода необхо­ димо, •1тобы абсолютное значение производной от функции в правой части уравнен ия было строго меньше единицы : lf '<x>I < t Вообще говоря , существует бесконечное уравнений в виде х = f множество форм записи (х). Для некоторых из них производная меньше единицы, а дпя других - f '(х) больше. Можно, конечно, всякий раз проверять, удовлетворяет ли nроизводмая приведенному условию, ио бы­ стрее будет просто записать уравнение в простейшем виде и проверить его на сходимость. Если сходимость отсутствует, перепишите уравиеиие в другом виде и снова попробуйте решить его. Н ап ример, обе приведенные ниже записи эквивалентны одному и тому же у равнению Cos(x) - х = О, но только первая из них обеспечивает сходимость итерационного про­ цесса: = Cos(x) х = ArcCos(x) х Уравнение Рассмотрим Cos(x) = следующее х простейшее нелинейное трансцендентное уравнение: Cos(x) - х =О Его можно сразу же переписать в требуемом для метода последова­ тельных приближений виде: х = Cos(x)
Решенuе неnuнеuнык аnгебраuческuн уравненuu Решим это уравнение с использованием итерационного аппарата электронных таблиu. Формулы записываются в электронной таблице в том же виде, что и на бумаге, но для этого м ожно использовать не всю рабочую страниuу, а всего лишь несколько ячеек. Для реализации метода отключите автоматический пересчет листа и введите формулы с рекурси­ ей (циклическими ссылками). Как правило , ячейки листа пересчитываются в нормальном порядке. Это означает, что аргументы ячейки (то есть те ячейки, от которых зави­ сит ее значение) вычисляются до того, как пересчитывается значение са­ мой ячейки. Это правило применяется ко всем ячейкам листа, пока все они не будут пересчитаны. При изменении зна•1ения ячейки пересчиты­ ваются все ячейки, значения которых зависят от нее прямо или косвен­ но. Рекурсия, или циклическая ссылка, имеет место в том случае, когда значение ячейки зависит от нее самой, как прямо, так и косвенно через значения других ячеек. В нормальном порядке такое значен ие вычисл ить нельзя, поскольку нельзя определить аргументы ячейки, в число которых входит она сама - получается, что мя определения значения ячейки не­ обходИ?>Ю сразу з нать его заранее!В итерационном режиме вначале пересчитываются только те ячейки листа, которые не содержат циклических ссылок. Затем ячейки, содер­ жащие циклические ссылки, итерируются ОдИН или несколько раз, в за­ висимости от значения, установленного на вкладке Вычисления диалого­ вого окна Параметры (Сервис:>-- Параметры) . Яt.Jейки, содержащие цик­ лич еские ссылки, вычисляются с текущими значениями аргументов без их предварительного пересчета. Пересчет прекращается после вьшолне­ ния указанного в окне Вычисления количества итераций . Чтобы заново пересчитать все ячейки, щелкните на кнопке Вычислить (либо нажмите клавиши <F9> или <Ctrl+=>; на Maci11tosl1 им соответствуют клавиши <Cmd+=>). Этот способ используется для последовательного вычисления значения по заданной формуле и поnстановки его в ту же формулу. В нашем примере установим количество итераций равным l, чтобы наблюдать за изменением значений при пересчете листа . На практике мя более быстрого нахождения решения лучше выбрать большее коли­ чество итераций . 1. 2. Откройте новый лист и назовите его Рис. Выберите команду Вычисления, Сервис включите режим :>-- 9.2. Параметры. Вручную , Откройте сделайте вкладку значение поля Предельное число итераций равн ым 1 и уберите отметку с переключа­ теля Пересчет перед сохранением. Щелкните на кнопке ОК. 3. 4. Сделайте ширину столбuа А равной 38. ВведИте в ячейку А1 строку x=cos(x}; последовательные nриближения . Теперь необходимо создать таблицу с начальным значением и флагом иниuиализации. Флаг инициализации переводит лист в заданное началь­ ное состояние.
i)ji Гnава 9 l ,i\ ;;1 :'·,.~:.l_i,: ;~, , ~,, , ,ji1!\i1~,)f .: ~.:~~-·~ :~j::" .~:.···;<·· ' .. :· 5. В ячейки АЗ:В4 введите приведенные ниже значения. Выровняйте вправо содержимое ячеек АЗ:А4 . 6. Ячейка Значение Ячейка Значение АЗ А4 Нач. значение Нач. флаг 83 84 О ИСТИНА Назовите ячейки ВЗ и В ячейке 84 соответственно НАЧ_ЗН и НАЧ. 86 будет вы полняться проверка, равно ли ИСТИНА значение ячейки НАЧ. Если Это так, х будет установлено равным начальному зна­ чению, а в противном случае - равным ячейке 87, т.е. косинусу х. В ячейке 87 вычисляется косинус ячейки 86, и тем самым организуется цикл ическая ссылка. 7. Введите указанные ниже значения в ячейки А6:87 . Выровняйте впра­ во их содержимое. Ячейка Значение Ячейка Значение Аб А4 х 86 87 =COS(86) Cos(x) Далее следует вычислить погрешность =ЕСЛИ(НАЧ,НАЧ_ЗН,В7} - разницу между х и Cos(x) - которая будет служить критерием сходимости процесса последовательных приближений. 8. В ячейку А9 введите строку Поrреwност~ и выровняйте ее по право­ му краю . 9. В ячейку 89 введите =87-86. 10. ПреобразуЙте ячейку 89 в экспоненuиальный формат с двумя цифра­ ми после запятой . Теперь организуем вторую циклическую ссылку - дпя подсчета коли­ чества итераuий. l l. В 12. В ячейку А11 введите Итераций и выровняйте ее по правому краю. ячейку 811 введите =ЕСЛИ(НАЧ,0,812+1).
Решенuе неnuнеuныи аnгебраuческuн уравненuu 13. В ячейку 812 введите =811. 14. Отключите линии сетки. 15. Для выполнения расчета установите ячейке 64 равным ИСТИНА, и нажмите значение начального флага в клавишу • <F9> (Вычисли~ь) для запуска решения задачи. 16. Измените вишу значение начального флага на ложь и снова нажмите кла­ <F9>. При каждом нажатии клавиши <F9> выполняется одна итерация и вычисляется следующее приближенное значение х. 17. Н ажимайте клавишу <FЭ> до тех пор, пока значение х не достигнет необходимой точности. Точность полученного приближенного значения х проверяется путем его сравнения со значением (х); разность между ними отображается в ячейке В9. К этому моменту рабочий лист должен выглядеть так, как на рис. 9.2. Значение х, являющееся корнем уравнения, приведено в ячей­ f ках В6 и 87. Щ~:f:~~~~i·~Л~l·~ш~:?~i~~~~!;?:~-~~~-:Ni~~~;:~~i .:!;1!)' • = Со~(•); nос11едоаатепь•ы• nриб11""'ен•• .Я;,, 11 :}J'f Н•ч. 1нач ени.е Нач. флаг ЛОЖЬ ;~i 1 О, 739035 '11!' Соф) 0,739085 ~~ Поrрешwост• 1.641:·10 ~~ 1т ИТерэц•i! :u. 5б 56 !ЗЭ'. ~:t; •>15': :j~· к:':t",t;:)li' Рис. 9.2. Применение метода последовательных nриближений для решения уравнения Cos(x) =х Если бы итерационный процесс для данной формы уравнения оказал­ ся расходящимся, это уравнение следовало бы переписать в эквивалент­ ной форме (мя арккосинуса) и попробовать решить заново: х = Cos·I(x) Отслеживание значений х и прекращение вычислений после достиже­ н ия нужной точности может выполняться в Excel автоматически. Для демонстрации этой возможности изменим наш пример так, чтобы вместо непосредственного наблюдения за изменением приближенных значений х воспользоваться критерием остановки итераuий. Для начала очистите ячейки А9:В12 , поскольку их значения с каждой итерацией постоянно изменяются, что не позволяет критерию остановки корректно сработать.
Гnава 9 Затем выберите количество итераций и критерий остановки на вкладке Вычисления диалог.овоrо окна Сервис>- Параметрь1. 1. Скопируйте лист Рис. 9.2, и назовите ero Рис. 9 . З. 2. Удалите содержимое ячеек А9:812. · з. Выберите команду Сервис >Параметры, откройте вкладку Вычисления, и установите значение поля Предельное число итераций равным 100, а поля Относительная погрешность равным 1.ОЕ-7. Включите режим Автоматически в группе Производить пересчет и щелкните на кнопке ОК. Инициализируйте вычисления путем ввода значения ИСТИНА в ячейку 84 и пересчета листа. Запустите процесс последовате11ьных приближений путем ввода в ячейку 84 значения ложь . Лист будет пересчитываться до тех пор, пока максимальное относительное изменение значения л юбой ячейки не станет меньше 1.0 х Нач. )качt н"е Нац. фnar J0-7, как показано на рис. 9.3 . О ЛОЖЬ • 0,739085 О, 739035 Соф) Рис. 9.3. Реализация метода последовательных приближений с автоматическим контролем точности
Решенuе нелuнеuнын алгебраuческuн уравненuu -~ Примечание Если процесс сходится медленно, предельное количество итераций заданное на вкладке Вычисления окна Сервис >- (100), Параметры , будет достигнуто раньше, чем заданная точность . В этом случае нажмите кла­ вишу <F9> (на Macintosh <Cmd+=>) для выполнения еще ста итераций. Повтор~йте эту npoцeдvPv столько ра~. сколько необходи мо . Метод нижней релаксации Многие функции характеризуются столь сильной нелинейностью, что простейший метод последовательных приближений для нахождения их корней сходится очень плохо или вообще не сходится. Такого рода нел и­ нейность обычно возникает из-за наличия на кривой вблизи корня точек перегиба, так что значение корня х; на каждой итерации осциллирует во­ круг точного решения , не приближаясь к нему. -._ Примечание . Точка перегиба зто точка гладкой кривой, в которой ее кривизна · (вто­ - рая производная) меняет знак. Одним из пугей решения этой проблемы является уменьшение разни­ цы между последовательными приближениями на дробный множитель с. Этот метод известен под названием метода нижней релаксации. С его nримене.нием последовательные приближения корня х вычисляются сле­ дующим образом: Хо = начальное приближение Х1 = Хо х2 = х1 + СЛ.У() + сЛХ 1 Хп = Хп- 1 + СЛ.Хп-1 = ./{х11 ) Здесь ЛХ11 - х11 - погрешность хна очередной итерации, а с коэффициент релаксации (О < с < 1). При с= i - метод нижней релакса­ uии совпадает с обычным методом п оследовательных приближений , а при с 1 называется методом верхней релаксации , который используется > ДJIЯ ускорения сходимости плохо сходящихся итерационных процессов. Подставляя значение ЛХ11 в уравнение для Хп, получим расчетное уравне­ ние данного варианта метода последовательных приближений: Хп = Cf (X11_t) + (J - С)Хп- \
ifj:I Гnава 9 Метод верхней релаксации > Если значение коэффициента релаксации больше 1 (с 1), метод по­ следовательных приближений называется методом верхней релаксации. Его применение нередко ускоряет сходимость плохо сходящихся процес­ сов. Если задача медленно решается методом нижней релаксации, по­ пробуйте метод верхней релаксации со значением с между 1 и 2. Для значений с, больших 2, вычислительный процесс практически всегда не­ устойчив. Проделайте несколько итераций и посмотрите, сходится ли процесс к решению. Если нет, уменьшайте значение с и пробуйте снова до тех пор,' пока процесс не начнет сходиться. Наиболее эффективную сходимость дает верхний предел множества коэффициентов с, при которых процесс сходится. В процессе вычисле­ ний этот коэффициент не обязан оставаться постоянным, поскольку окончательное решение от него не зависит - изменение коэффициента релаксации приводит не...к изменению решения, а только лишь к измене­ нию скорости сходимости итераций. = Xn-I уравнение для приближенного = f (х"_ 1 ) и перестает зависеть от коэф­ После нахождения корня f (хп_ 1 ) значения принимает вид Хп = Xn-J фициента релаксации с. Для ускорения сходимости в процессе итераций этот коэффициент можно менять так часто, как это необходимо. Температура электронного газа в GaAs Температура электронного газа в арсениде галлия GaAs, ускоряемого электрическим полем, определяется путем совместного решения уравне­ ний сохранения энергии и импульса. Решение осложняется наличием в арсениде галлия двух зон провопимости, в одной из которых подвиж­ ность электронов выше, чем в другой. Разрешающее уравнение получает­ ся в следующем виде: Те= Т + ( ~) 'tq~2 µ (1 + Re-ef(kTe) )-' Здесь введены обозначения: Те - температура электронного газа; Т- абсолютная температура окружающей среды (300 К); • - среднее время релаксации энергии электронов в кристаллической q- заряд электрона решетке 00-12 с); (1.6 х 10-19 Кл); Е- напряженность электрического поля; k - постоянная Планка (1.38 х 10-2з Дж/К); µ - электропроводность в нижней зоне Е - разность энергий верхней и нижней зон проводимости (0.85 м2/В-с); (0.31 эВ);
Решенuе неnuнеuнын аnгебраuческuн уравненuu R(94.1 ). коэффициент распределения электронов по зонам проводимости Это уравнение уже записано в форме, готовой для при менения метода последовательных приближений. Испробуем метод на з начениях н апря­ женности электрического поля от 102 до 108 В/м . 9.4. >- Параметры , Откройте новый л ист и назовите его Рис. 1. 2. Выберите команду Се рвис откройте вкладку Вычисления, включите режим Итерации, установите значение поля Предельное число итераций равным 1 и включите режим Вручную в груп пе Производить пе ресч ет. Щелк н ите н а кнопке ОК. Устан овите ширину столбuа С равной 10. В ячейку А 1 введите строку Температура электронноrо rаза в 3. 4. GaAs; последовательные прпближения. Далее следует создать таблиuу коэффициентов уравне ния . Введите в ячейки АЗ:F5 следующие зн ачения : 5. Ячейка Значение Ячейка Значение Ячейка Значение АЗ Delt_E Tau =О.З1"Q сз Дж С4 с 04 Q вз В4 В5 ЕЗ Е4 05 т ES 06 R Еб А4 А5 u 03 к зоо 1.бЕ-19 1.38Е -23 1.бЕ-19 300 94.1 Выровняйте значения в ячейках АЗ:А5 и 6. 7. С5 м2/В-с FЗ Дж/К F4 F5 Кл 03:06 к по правому краю. Выделите ячейки АЗ:В5, выберите команду Вставка>- Имя>- Создать, активизируйте переключатель В столбце слева и щелкните на кнопке ОК. Выделите ячейки 8. 03:06, выберите команду Вставка >- Имя >- Создать , активизируйте переключатель В столбце слева и щелкните на кнопке ОК. Обратите в нимание, что ячейка Е6 имеет имя R_ . Следующий шаг - создание таблицы из начального з начения и флага иниuиализаuии. 9. Введите в ячейку А7 строку Нач. значение. 1О. В ведите в ячейку С7 значен ие 300. 11. В ведите в ячейку А8 строку Нач. флаг. 12. В ведите в ячейку СВ значен ие ИСТИНА. 13. Присвойте ячейкам С7 и С8 имена НАЧ_ЗН2 и НАЧ2 . Дал ее необходимо указать сп исок значений напряженности электри­ ческого п оля, лля которых будет решаться уравнение. ячейки Е8:Е16 следующими значениями: 14. З аполните Ячейка Значение Ячейка Значение Ячейка Значение Е8 Е Е11 1ЕЗ Е1 4 1Еб Е9 (В/м) Е12 1Е4 Е15 Е1 0 1 Е2 Е13 1 ES Е16 1Е7 1Е8 15. Выровняйте значен ия в ячейках Е8 и Е9 по центру .
liфi Гоава 9 В столбце F будет выполняться проверка значения флага инициализа­ ции. При инициализации листа используется начальное приближение к решению, в противном случае - функция из столбца Е . В столбце G вы­ числяется значение искомой функции. 16. Заполните следующие ячейки приведенными значениями и выров­ няйте их по центру: Ячейка Значение Ячейка Значение F8 F9 Те G8 f(Te) (К) G9 (К) 17. В ячейку F10 введите формуJJу =ЕСЛИ(НАЧ2,НАЧ_ЗН2,G10) и скопи­ руйте ее в ячейки F11:F16. 18. В ячейку G10 введите формулу =Т+(2/З)*Tau*Q*E10"2*Ul(K*(1 +R*EXP(-Delt_E/(K*F1 О)))) и скопируйте ее в ячейки G11 :G16. 19. Выберите для ячеек Е10:Е16 экспоненциальны}! формат с одной циф­ рой после запятой. 20. Выберите для ячеек F10:G16 экспоненциальный формат с двумя циф­ рами после запятой. 21 . Отключите линии сетки . Для расчета по данному листу установите флаг инициализации в ячейке F8 равным ИСТИНА и нажмите кл авишу <F9> (Вычислить; на компьютерах M acintosl1 это клавиши <Cmd+=>). После каждого нажатия этой клавиши лист пересчитывается заново. К этому моменту рабочий лист должен выглядеть так, как · на рис. 9.4. После примерно пяти итераций все уравнения, кроме пятого, сходят­ ся к решению, тогда как при напряженности электрического поля, рав­ ной 106 В/м, температура колеблется между значениями 6.76 х 103 и 4.17 -х 102 К. Причина этой проблемы видна из графика зависимости f (Те) от Те, показанного на рис. 9.5. Графи к функции имеет два пологих участка , разделенных точкой перегиба , между которыми и колеблется решение . Обратите внимание, tпо абсолютная величина производной слева от точ­ ки пересечения превосходит 1, что является нарушением нашего условия сходимости. Для решения этой проблемы вычисления необходимо вести в непо­ средственной близости от решения. Следует прибегнуrъ к методу нижней релаксации, чтобы уменьшить длину стрелок на рис. 9.5 и привести про­ цесс в нужную область. l. 2. Скопируйте лист Рис. 9.4, и назовите его Рис. rаза в GaAs; нижняя релаксация. Введите коэффициент релаксации , равный 3. 9.6. Исправьте строку в ячейке А 1 на строку Температура электронного 0.5, Те по уравнениям метода нижней релаксации . В ячейку А9 введите строку Коэф-т релаксации_ и вычислите значения
Решенuе неnuнеuнык аnгебраuческuн уравненuu De~_E Tau U 4.9бЕ·20 Дж К Ц8Е-2З Д>'l'К 1,ООЕ·12 с Q 1,бОЕ-19 Кл 0,85 м21В-с т 300 R 94,1 к 300 nожь Е Те f(Те) (В/м) (К) (К) 1,ОЕ+О2 З,ООЕ+О2 Э.ООЕ+О2 1,ОЕ+ОЗ З,ООЕ+О2 З,ООЕ+О2 1,ОЕ+О4 3,01Е+О2 З,01Е+02 1,ОЕ+О5 3.б5Ы2 Э.Б5Е+О2 1,ОЕ+Об б. 7бЕ+ОЗ 4.1 i'E+02 1.ОЕ+07 1.01Е+04 1.01Е+О4 1,ОЕ+О8 6,95Е+О5 6,95Е+О5 TJ19:i!1~цt'l~~~Pм<, ~ Рис. 9.4. "" , , .:.':.: ~;\~'L~\%И\i:?,i:Юi!l:P;(JЩjfJ#J!rЩ. :.· )' Температура электронного газа в GaAs; метод последовательных приближений 4. 5. 6. 7. Введите в ячейку С9 значение 0.5. Присвойте ячейке С9 имя С_. Измените содержимое ячейки G8 Измените содержимое ячеек на С*f(Те)+(1~С}'*Те. G10:G16 на следующее: =С_*(Т+(2/З)*Таu*Q*Е1 QЛ2*U/(K*(1+R_*EXP(-Delt_E/(K*F10)))))+(1-C_)*F1 О Рис. 9.5. Темпера-тура электронного газа в GaAs: график зависимости f (Те) от Те при напряженностv. поля 106 8/м, демонстрирующий причину расходи­ мости процесса последовательных приближений В этом случае вычислительный процесс весьма быстро сойдется к ре­ шению для всех значений напряженности электрического поля, как по­ казано на рис. 9.6. Причиной улучшения сходимости является введение коэффициента релаксаuии, который уменьшает приращение решения на каждом шаrе итерации.
Гnава 9 ·~~:1~+·:щ~~~~i·?1 :·:~1::Ek<> \::·:>c1~;;ч~~п~~J)(.i~.j~·~>:?:J::~~;.;, ::·:·;:;:..~f=:: ;1'f;~ Teunepaтyi:i1 ~лекrрон+1сrо газ~·! GiilAS; 1оtи>31111" ре.лакс.ациR 9бЕ-20 Дж 1;J:· К 1.38Е-2З Дж/К Dolt_E 4. TaiJ 1 ,ООЕ-12 t u о. ss м21В-<: i;ti( З~: :s( );;~ на~. )Н3Ч8НИ8 .... фnar ·:в··· н Q 1,бОЕ-19 Кn т зоо к R U4, 1 300 JЮЖЬ \~i.•· КО>Ф-Т ре11а.сацм• 0,5 Е Те (6/w) (К) C'f(fe)+(1-C)"Тe (К) 1,ОЕ+О2 3,ООЕ+О2 З,ООЕ+02 :m:i" "11· 1 ,ОЕтОЗ 3.ООЕ+О2 З,ООЕ+О2 12 1, ОЕ+04 3,01Е+02 З, 01Е+02 ц 1.ОЕ+05 З,б5Е+02 З,55Е+О2 '\.(" 1.ОЕтОб 1,28Е+ОЗ 1.28Е+ОЗ 1 .ОЕ+О7 1,01Е+О4 !,01Е+О4 :'JS: 1, ОЕ• 08 :IБ· б, 95Е+05 б, 95Е+О5 ifi li >Ч' ·tt · ;,,.;;9.z ;{f"iic; ~1~ 9:~1~:.;o.s),P>oe. 'J.6 .(Pit\• ~.1, 1•.1·, Рис. ·..,: ::1 •. IГ 9.6. Температура электронного газа в GaAs; меrод Н'1жней релаксации Хоrя для различных задач применяются различные коэффициенть1 ре- : 1 лаксации, но, как правило, значение этого коэффициента между 0.1 и 0.9 практически всегда обеспечивает сходимость , если ее не наблюдалось ! при значении 1. Как уже упоминалось, некоторые задачи сходятся быстR~~ П,1?~ з-~-~~~-~!1.и к9~ффи_4~~н.!_~.R-~J1а1<s:а~ии~-~..о~.Ь.ше.~. 1_: Метод Ньютона Никакое изложение численных методов решения нелинейных уравне­ ний не может быть полным без метода Ньютона, или метода касатель­ ных. Методы, рассмотренные в этой главе ранее , имеют первый порядок сходимости к корням уравнений, тогда как метод Ньютона является ые­ тодом второго порядка, и тем самым позволяет добиться большей точно­ сти за меньшее число итераций. Однако для реал изации метода Ньютона необходимо уметь вычислять производную функции , входящей в уравне­ ние , анал итически или численно . Для применения метода Ньютона вначале перепишем уравнение в не­ явной форме: g(x) =О Затем вычислим производн ую функции, стоящей в левой части урав­ н ения : g '( х ) = dg(x) dx Прибавим к обеим частям функции перем енную х и выполним итера­ ции по методу последовательных приближений :
Решенuе неnuнеuныи аnгебраuческuи уравненuu х 0 =нулевое приближение Х = Х 11 11- \ ..... g(x11-I) g ' ( хп-1 ) п~~мечание Основным недостатком метода Ньютона является необходимость вь1чис­ nения производной . Хотя оно обычно выполняется достаточно стандарт- . но, выражение может получиться громоздким. Если производную трудно вычислить аналитически , можно воспользоваться численными формула-· ми центральных разностей, изу_ченными в главе 8. Модифицируем рассмотренный ранее пример , решив его методом Ньютона вместо метода нижней релаксации. Для температуры электрон- ноrо rаза в GaAs функция левой части уравнения и ее производная вы­ глядят следуюшим образом: g(Te ) ~ Т-Те + ( ~) т:q~ g'(Te)= -l1. 2. 2 µ ( 1+ Re-F-f(kтe) ) - R · t/(kTe) ~:Тее2 1 ~ (t+Re -tf(kTe))-" Скопируйте предыдущий рабочий лист и присвойте ему имя Рис. 9.7. Изм ените заголовок в ячей·ке А 1 на Температура электронного газа в GaAs; 3. (32) tqЕ 2 метод Ньютона. Очистите ячейки А9: С9 . Теперь заменим уравнение метода нижней рел аксации уравнением метода Ньютона. 4. Введите в ячейку 5. Введите в ячейку GB выражение Te-g(Te)/g'(Тe) . G10 следующую формулу: =F1 O-(T-F10+(2/З)*Тau*Q*E10Л2*U/(K*(1 +R_ *EXP(-Delt_E/(K*F10)))))/(-1-(2/З)*Тau*Q*E10Л2 *U*Delt_PR_*EXP(-Delt_E/(K*F1O))/((K*F10)"2 *(1 +R_*EXP(-Delt_E/(K*F10}))"2)) и скопируйте ее в ячей ки G11:G16.
11§1 Гnава 9 К этому моменту рабочий лист должен выглядеть так, как на рис. 9. 7. Он обрабатывается точно так же, как и в предыдущих примерах. Устано­ вите значение флага иниuиализаuии равным ИСТИНА и нажмите клави­ шу <F9>. Затем измените его значение на ЛОЖЬ и снова нажмите кла­ вишу <F9>. При каждом нажатии этой клавиши выполняется одна ите­ рация. Данный метод сходится значительно быстрее, .чем описанные ранее. Так, для вычисления корня с точностью в три uифры после запятой ме­ тодом нижней релаксации потребовалось 16 итераuий, тогда как с при­ менением метода Ньютона на это понадобилось всего 4 итераuии. Метод простых последовательных приближений дает решение с той же точно­ стью за пять итераций для всех уравнений, кроме одного, но для этого одного итерационный процесс вообше не сходится. К t.ЗiE·23 11></К Q <,бОЕ·19 К• т 300 к R 94,1 300 ложь Е Те (8/w) (К) t,OE+02 Te11(Тe)lg'(fe) (К) З.ООЕ+О2 З,ООЕ+О2 t.ОЕ+ОЗ З.ООЕ+О2 З.ООЕ+О2 1,ОЕ+О4 З,01 E+Q2 3,01 Е+О2 t .ОЕ+О5 З,65Е+02 З,65Е+О2 ~ t,Ol'i+OO 1.28Е+ОЗ 1,28Е+ОЗ 1.ОЕ+О7 1,0tE+04 1.01Е+04 ;~ !1$.: 1,ОЕ+О8 б,95Е+~5 б,95Е+05 · :, ~~;-"к~щ~~!X~;:~~~*'}.Pмc,_~,A~~;.J.~~,;;',;:i''~f"rii'!',;:,::·_;: 0:::0 г:::::;f1: ·.·••1ffm Рис. 9.7. Температура электронного газа в GaAs; метод Ньютона Использование модуля поиска решения Для управления решением нелинейных уравнений можно использо­ вать модуль поиска решения Excel. Работа этого модуля организована следуюшим образом. Он "угадывает" пробное решение. подставляет его для проверки в уравнение и использует результат для подбора следую­ щего пробного решения. Поскольку модулю поиска решения требуется целевое значение, вначале необходимо перенести все члены уравнения в правую часть, чтобы результат, или uелевое значение, стал равным нулю. 1. 2. З. Скопируйте лист Рис. 9.4 и присвойте копии имя Рис. 9.8. Выделите ячейки А7:С8 и очистите их командой Правка>- Очистить. Выберите команду Сервис >- Параметры и откройте вкладку Вычисления. Включите режим Автоматически в группе Производить пересчет и отключите режим Итерации, сняв отметку с чателя. ero переклю­
Решенuе неnuнеuнын аnгеБраuческ.uн уравненuu 4. Измените заrоловок в ячейке А 1 на Температура электрониоrо газа в модуль поиска решения. Введите в ячейки F10:F16 значение 300. Введите в ячейку G10 следующую формулу: GaAs; 5. 6. =Т+(2/З)'*Tau'*Q*E1 QЛ2*U/(K*(1 +R_*EXP(-Delt_E/(K'*F10)))}-F1 О и скопируйте ее в ячейки G11:G16. Поскольку необходимо найти решения семи различных уравнений, применим модуль поиска решения к каждому из них по отдельности. -.._ Примечание В принципе, можно объединить решения уравнений в одну ячейку и ис­ пользовать ее как общее целевое значение для модуля поиска решения, хотя это не всегда срабатывает. Для объединения уравнений возьмите абсолютное значение каждого решения, чтобы они не уничтожались вза­ имно, и сложите их. Это значение и будет целевым, - если оно равно нулю, результаты вычисления по всем формулам таюке равны нулю, и реше1:1ие n~лучено. 7. Выберите команду Сервис~ Поиск решения. В открывшемся диалого­ вом окне введите строку $G$10 n поле Установить целевую ячейку, включите переключатель Значению в группе Равной и введите в соот­ ветствующее поле значение О. Введите в поле Изменяя ячейки строку $F$10. Щелкните на кнопке Выполнить и ожидайте, пока решение бу­ дет найдено. ..... Примечание Модуль поиска решения может исчерпать заданное количество итераций, прежде чем будет найдено достаточно точное решение. В этом случае для получения ответа необходимо запустить модуль несколько раз, 8. Найдите решения оставшихся шести уравнений с помощью модуля поиска решения, изменив ячейку и Изменяя ячейки, значения в полях Установить целевую
i1ffN Гnава 17 К 1.38Е·2З Дж1К Q 1,бОЕ-19 Кn т 300 R 94.1 9 к Е Те (8Jw) (К) f(Те) (К) 1,ОЕ+О2 Э.ООЕ+О2 О,ООЕ+ОО 1.ОЕ+ОЗ З.ООЕ+О2 1.ОЕ+О4 з.он:+О2 О.ООЕ+ОО О,ООЕ+ОО 1.ОЕ+05 З.б5Е+О2 8,75Е.07 1.ОЕ+О6 1.28Е+ОЗ -5.54Е.04 1.ОЕ+О7 1.01Е+О4 -1,07Е-08 1.ОЕ+О8 5.95Е+О5 0.ООЕ+ОО ,.;; :' ~:•,')il~·~'~;(~;;;s,'l~~l!!i!Шf(f; Рмс.g.а ,;T'Ш;i;t~H ;!i;щ;;;;ii!l!;;;;•;;;;щш!iioi;;:;;)~: - !ilfm Рис. 9.8. Температура электронного газа в GaAs; модуль поиска решения Рабочий лист должен выглядеть так, как на рис. 9.8. Для нескольких уравнений модуль поиска решения может работать довольно долго, по­ скольку он разыскивает решение поочередно для каждого из них. Теоре­ тически возможно объединить несколько уравнений таким образом, что­ бы модуль решал их вместе, но это не всегда срабатывает, тогда как для одного уравнения модуль легко настраивается и работает достаточно бы­ стро. Для повторного применения метода внесите в ячейки F10:F16 и выберите команду Поиск решения . . . _ Примечание Если модуль поиска решения испытывает затруднение с нахождением корня, можно наложить на значения ячеек дополнительные ограничения, которые бы удерживали их в непосредственной близости от решения. Это полезно сделать и в том случае, когда уравнение имеет несколько реше­ ний, а разыскивается только одно из них, находящееся в определенном диапазоне. Резюме В этой главе были изучены четыре различных метода решения нели­ нейных уравнений с помощью электронных таблиц Excel: метод последо­ вательных приближений, методы верхней и нижней релаксации, метод Ньютона и применение модуля поиска решения. Первые два метода пригодны для решения практически всех задач подобного рода, особенно в тех случаях, когда одновременно необходимо решить много уравнений. Метод Ньютона хорош для ускорения решения большого количества уравнений, а модуль поиска решения - для нахождения корней одного уравнения или небольшого количества несложных уравнений_
Решенuе неnuнеuныи аnгебраuческuк уравненuu Дополнительная литература Численные методы решения нелннейнь1х уравнений C.Gerald, Applied Numerica/ Analysis, 2пd ed. (Reading, Mass.: Addisoп­ Wesley, 1978). W.H.Press, B.P.Flaппery, S.A.Teukolsky, W.Т.Vetterling, Numerical Recipes; The Art of Scientific Computing (Caшbridge, UК: Carnbridge Uпiversity Press, 1986). Бахвалов Н.С" Численные методы (анализ, алгебра, обыкновенные диф­ ференциальные уравнения), М: Наука, 1973. Островский АМ., Решение уравнений и систем уравнений, ИЛ, Температура электронноrо rаза в & S.M.Sze, Physics of Semicondиctor Devices, 1981), р.647. 1963. GaAs 2пd ed. (Ne\V York: Johп Wiley Soпs, Зеrер К. Физика полупроводников. //Пер. с англ. Р. Бразиса и др., под ред. Ю.К. Пожелы. М.: Мир, 1977. Кесаманлы Ф.П., Наследов Д.Н. и др. Арсенид галлия. Получение, свой­ ства и применение. М.: Наука, 1973. Обзорные задачи 1. Используя метод последовательных приближений, найти нетривиаль­ ные решения (х х 2. * 0) следующего уравнения: =tan(0.805x) Решить задачу 1 х ;i:O с помощью метода верхней релаксации и сравнить количество итераций, необходимое в каждом из методов для получе­ ния решения одной и той же точности. 3. Плотность тока в барьерном диоде Шоттки зависит от температуры следуюшим образом: J = АТ 2 е ( В') iJ ' где А= в= 3.8 х 10-10 Nсм2-К2 1.7 х 1оз к Методом последовательных приближений или, при необходимости, нижней релаксации найдите температуру, соответствующую плотно- сти тока 4. J= 10-2 А/см2. · Разрешающее уравнение для стоящей из сопротивления R простейшей электрической цепи, со­ и конденсатора емкостью С, последова­ тельно соединенных с источником тока, напряжение на котором рав­ но V, выглядит следующим образом:
IJфl где Гnава заряд конденсатора, а q- t - 9 время. Найти емкость конденсато­ ра, необходимую для накопления заряда q = 10-s Кл за время t = 4 х I0-3 с, методом последовательных приближений и нижней релакса­ uии. Напряжение на источнике равио V = 10 В, сопротивление R = 5. 2000 Ом. Энергетический уровень Ферми в полупроводнике n-типа определяет­ ся из решения следующего уравнения: -( ~<-![) Nt. е кт N ( E,-HI) (d~f_-EJ) + Nv е кт 1+2е" кт где: Nc - плотность состояний в зоне проводимости= 1019 см-3; Nv - плотность состояний в пограничной зоне= 1019 см-3; Nd - rшотность донорных состояний = JOl6 см-3; Ее - энергия зоны проводимости = 1.1 эВ; Ed - энергия донорного уровня = 1.05 эВ; Ev - энергия пограничной зоны =О эВ; КТ= 0.0259 эВ. Найти значение уровня Ферми методом последовательных приближе­ ний с нижней или верхней релаксаuией. 6. При проектировании фотоэлектрического преобразователя (солнеч­ ной батареи) с максимальным коэффиuиентом полезного действия по энергоотдаче необходимо решить следующее уравнение·, определяю­ щее оптимальное рабочее напряжение: eV) ( 1+ КТ е _ (~~) - l +Js J0 = ' = при Т 300 К (КТ/е = 0.0259 В) и Jsf/0 2 х 1010 (отношение плот­ ности тока короткого замыкания к плотности тока насыщения). Най­ ти оптимальное напряжение, используя модуль поиска решения. 7. Методом Ньютона найти значение х, являющееся решением следую­ щего уравнения: 3.54 = 2 + О.3х + О.07х 2 + О.004х 3 8. Методом Ньютона найти три различных решения следуюшего урав­ нения относительно х: 27.6=14. 7х 2 е-0.з86 х 9. Решить 10. Решить задачу задачу 4 6 методом Ньютона. методом Ньютона.
Решенuе неnuнеuнын аnrебраuческuн уравненuu Упражнения 1. Выполните упражнение рис. 9.2 без итераций. Выпишите явные фор­ мулы для последовательных приближений в нескольких последова­ тельных яче~ках, как показано ниже: ~ = начальное приближение х 1 = Cos(~) х2 = Cos(x 1) Хп = Соs(хп-1) Проверьте сходимость последовательных приближений к решению. Начертите график зависимости результата от п. 2. Добавьте в пример рис. 9.2 проuедуру Visual Basic и кнопку для ини­ uиализации задачи и вычисления первого приближения. Добавьте вторую кнопку и проuедуру для отображения диалогового окна с за­ просом на количество итераций и последующего выполнения этих итераuий. 3. Методом последовательных приближений решите уравнение размно­ жения биологической популяuии: Pn+J = kPn (1- J~J ' которое связывает численность популяции особей в (п+ 1)-м поколе­ нии с ее чис.ленностъю в п-м поколении в зависимости от коэффиuи­ ента k. Коэффициент k описывает такие факторь1, как наличие пиши, условия существования и плодовитость особей популяuии. Найдите решение уравнения для значений k от 0.4 до 0.5 с начальным значе­ нием для Р, равным 0.5. Для некоторых k значение Р остается посто­ янным, тогда как для определенных значений этого коэффиuиента решение осuиллирует совершенно хаотическим образом. Уравнения такого типа и их решения лежат в основе исследования динамики де­ терминированного хаоса. 4. Сопроти:вление Rт термометра на платиновом резисторе, работающего при температурах менее 6600С, описывается следующим уравнением: Rт = R20 (1 +а(Т-20)+ ~(Т-20) ), 2 где а= 3.6 х 10-з к-1, 13 = -16.0 х JQ-7 к-2, R20 - сопротивление рези­ стора при комнатной температуре (200С), а Т- температура в граду­ сах Цельсия. Определить температуру методом последовательных приближений (при необходимости с верхней или нижней релаксаци­ = 5. 6. ей) при R20 21.3 Ом и Rт= 28.2 Ом. Выполните упражнение 4 с использованием метода Ньютона. Решите задачу 5 из предыдущего раздела методом Ньютона.
FJ~I 7. Гnава 9 Методом последовательных приближений найдите решение следую­ щего уравнения: О= Sin(ax) + Cos(bx) - х, где а = 1t/4 и Ь = 1t/8. 8. Методом Ньютона рещите следующее уравнение: 7721 = 245 + 9. 718х Решите задачу 5 + 29х2 + зхз из предыдущего раздела, используя метод Ньютона с uентральной разностью вместо производной. 10. Напишите на языке Visual Basic программу автоматического примене­ ния модуля поиска решения к набору уравнений наподобие того, что показан на рис. 9.8.
Гпава 10 Реwение систем уравнений 18 этой таrве... ./ Матричнь1е методы дn11 реwени11 систем nинейных уравие­ ний ./ Итерационный метод rаусса-Зейдеn11 дnя реwени11 nиней­ ных и нелинейных уравнений ./ Методы верхней и ниж.ней релаксации дn11 систем nиней­ ных и неnинейных уравнений ./ Использование модуn11 поиска реwени11 дn11 реwени11 св11- занных уравнений Моделирование взаимосвязанных проuессов в физике и технике не­ редко сводится к решению систем уравнений. Примерами задач, приво­ дяших к системам уравнений, могут служить дискретные аналоm урав­ нений в частных производных, установившиеся потенuиалы в электриче­ ских сетях, уравнения конuентраuии массы для взаимосвязанных (спа­ ренных) химических реакций. Большинство подобных проuессов описы­ вается системами линейных уравнений, для которых развиты мощные вычислительные методы. Если уравнения являются нелинейными, то для их решения обычно используются методы релаксации, хотя для них не­ редко бывает трудно добиться достаточно хор_Qшей сходимости. -.._ Примечание Набор чисел называется решением системы уравнений, если он удовле­ творяет одновременно всем уравнениям системы. Если все уравнения системы независимы друг от друга, решение системы ничем не сложнее решения отдельного уравнения, однако, как правило, уравнения, аходя­ щие в систему, связаны между собой, что делает их решение более сложной задачей. Решение систем линейных уравнений Большинство встречающихся на практике вычислительных задач сво­ дится к решению систем линейных уравнений. Это большая удача, по­ скольку такие системы решаются достаточно просто. Большая их часть поддается решению встроенными матричными функциями Excel, под­ 60. держиваюшими обрашение и умножение матриц размерностью до
iffJ -- Гnава 18 Примечание Физические задачи сводятся к системам линейных уравнений, как прави­ ло , не благодаря какому-нибудь общему физическому закону, а ввиду уп­ рощения математических моделей реаnьных процессов. При замене ис­ следуемой физической системы ее математическбй моделью область оп­ раделения решения разбивается на достаточно мелкие фрагменты. внут­ ри каждого из которых функции, описывающие поведение системы . ап­ проксимируются линейными фунt<Циями . В результате получается систе­ ма линейных уравнений , соответствующих каждому из фрагментов об­ ласти. В электронных таблицах легко реализуются также итерационный ме­ тод Гаусса-Зейделя и метод .верхней и нижней релаксации , которые при­ менимы к решению кзк линейных, так и нелинейных систем. Метод Га­ усса-Зейделя представляет собой многомерную векторно-матричную форму метода последовательных приближений, рассмотренного в преды­ дущей главе мя скалярных . уравнений. АIJалоrично, методы верхней и нижней релаксации являются векторными аналогами скалярных методов, описанных .в предыдущей главе. Матричные методы Легче всего в Excel реализуются матричные мето.з.ы решения систем л инейных уравнений. Для их нрименения систему необходимо записать в матрнчной форме : Ах-Ь Здесь А - матрица коэффициентов, х - вектор неизвестных, а Ь вектор правой части уравн~ий. Для решения этого матричного уравне­ ни я обе его части умножаются на матрицу, обратную к А: А-1Ах =k 1b По определению, произведение матриuы на обратную к ней дает еди­ ничную матрицу, а произвеление единичной матрицы на любой вектор равно этому же вектору, поэтому предьщущее уравнение преобразуется к слелующему виду: х = А- tь Это и есть решение системы уравнений. Хотя в абстрактном виде все выглядит очень просто , нахождение обратной матриuы точно нетривиальная. функция МОБР(). К счастью , в Ехсе\ есть для - задача достсt­ этоrо встроенная
iiij Решенuе сш:тем урааненuu Краткая справка по матричной алгебре Вкратuе напомним основные правила матричной алгебры - действия с числовыми матрицами и векторами. Чтобы умножить ,одну квадратную матриuу на другую, для вычисле­ ния каждого элемента результата с индексами (m,п) берете~ m-я строка нз л~вой матрицы и n-й столбец из пр<IВОЙ, все элементы строки умно­ жаются на соответствуюшие по порядку элементы столбца, и результаты умножения складываются: а Ь d е lg /lm k h i q 1 с!! j IP +- Ьт + ер ak + Ьп +cq al+bo+cr dj +ет + fp dk+en + fq dl +ео+ fr z1 aj r1 1gj+hm+ip п о\= Произнедение матрицы на nектор - gk+hn+iq gl + /10 + irl это. по сути, лроизведе-ние квад­ ратной и.1и nрямоутол;,ной \1аtрицы на матрицу, состоящую из одного столбuа: ь е h cllJI laJ + bk + cl f\kl ~ +ek+ fl i l11 lgj + hk + il l ldj Матрица, обратная к данной матрице - это, по определению, матри­ uа, в резупьтате умножения которой на данную получается единичная матриuа. то есть такая квадратная матриuа, на диагонали которой стоят единиuы. а нг.. всех остальных местах 11 о о 1 о о - нули: 1 .. ·1 .··i 1 . ··11 ·, i •1 Умножение единичной матрицы на любую матрицу или вектор дает в результате ту же матриuу или вектор, что аналогично умножению любого числа на единицу: Ix = х Матрица называется вырожденной, если какая-либо И3 се строк явля­ ется линейной комбинацией других строк. Вырожденная матриuа не со­ держит досrс1точной информашш для решения соответствуюшей линей­ ной системы. Матрица вырождена тогда и только тогда, когда ее опреде­ литель равен нулю.
IЯI Глава 10 Система из трех уравнений с тремя неизвестными В качестве примера рассмотрим следующую систему линейных уравнений: -8 Х1 + Х2 + 2 Х3 = 0 5 XJ + 7 Х2 - 3 Х3 = 10 2 Х) + Х2 - 2 Х3 = -2 Она имеет решение х 1 = 1, х2 = 2, х3 = 3. В матричной форме эти уравнения записываются следующим образом: 2 Х1 0 5 7 -3 2 1 -2 Х2 10 -2 -8 1 Х3 Такую систему можно с легкостью решить на листе электронной таб­ лиuы. Для этого проделайте следующее. 1. 2. 3. 4. 5. 6. 7. Создайте новый лист и присвойте ему имя Рис.10.1. В ячейке А1 введите Решение систем уравнений; обращение матрицы. В ячейке 83 введите Ах Ь. Теперь введите матрицу коэффициентов А и вектор правой части Ь: В ячейке А5 введите Исходная матрица (А). В ячейках А6:С8 введите элементы матрицы А: = Ячейка Значение Ячейка Значение Ячейка Аб А7 А8 -8 5 2 Вб 1 87 88 7 Сб С7 1 С8 Значение 2 -3 -2 В ячейке Е5 введите Правая часть (Ь). В ячейках Е6:Е8 введите компоненты вектора правой части: Ячейка Значение Ячейка Значение Ячейка Значение Еб О Е7 10 ЕВ -2 Далее необходимо обратить матрицу А и умножить вектор Ь на матри­ цу, обратную к А. Применяемая для этого функция МОБР возвращает массив значений, который вставляется сразу в целый столбец ячеек: 8. 9. В ячейке А10 введите Обраmая матрица (1/А). Выделите ячейки А11 :С1З, введите следующее: =МОБР(А6:С8) и нажмите Юiавищи <Ctrl+Shift+Enter> (на Maciпtosh для вставки этой формулы во все выбранные ячейки. 10. В ячейке Е10 введите Вектор решениях= (1/А)Ь. 11. Выделите ячейки Е11 :Е13 и введите следующее: =МУМНОЖ(А 11 :С13,Е6:Е8), - <Cmd+Enter>)
ifh Решенuе сuстем уравненuu а затем нажмите <Cmd+Enter>) 12. Отключите клавиши <Ctrl+Shift+Enter> (на Maciпtosh для вставки формулы во все выбранные ячейки. отображение линий сетки и обведите ячейки контуром , как показано на рис. 10.1. Рабочий лист к этому моменrу должен выглядеть так, как на рис. 10. l. В ячейках Е11-Е13 должны стоять значения компонентов век­ тора решения х 1 , х2 и х3. ~.:;J~: ~:i:~~~~;~;.;;•.-::~;·;пe1i;:·;;~~_;;~;1;Q:;:;;.~ ~:.:~: J~ ;::.~,", : :i::·~.e ~-· :.· .:;\:;f .~t:; P1tUJeн~ CМCJN уравнениМ; обращеttИе warp.щ,i,.1 :;.;;,:·. ;· :.:;.~-!::::·1. ,·:;·;11•:( ,-:~· ::..:( ~;:i~Ч;:~~ ·.1~~:·:; j ;, :'Э/,. :4:•' ~::, и" 0 сть(Ь} 80 11;:, 2 :м ~ ::8ii ·2 ;;9::---=----'----"" •1oiiОбра,,.ая wатриц• (1/11) 11;. -0.1 4865 0,054054 -0, 22973 ч; .о 12162 О, 1351з~ -0,82432 о 2 DшениА х • (1/1\}Ь J~i 0, 054054 0.162162 .О, 18919 : 1~' :1~, ':!!i " н. ~: ~· ~:\"~~~10. 1.АЫ<~" _1!;;c:щ4;{Jllic.to.·1: ·<=:;ф:J-;::';:"'":•:~·;,,."!.,::·:·"· :'"'·:~:·н Рис. 10.1. Решение системы Excel ·~· ." :,.J > линейных уравнений с помощью матричных функций • Итерационный метод Гаусса-Зейделя Итераuионный метод Гаусса-Зейделя представляет собой одну из форм общего метода Якоби решения систем уравнений. Это многомер­ ная разновидность метода последовательных приближений, описанного в предыдушей главе. Для его применения необходимо разрешить все урав­ нения относител ьно одной из неизвестных, которая д.~1я каждого уравне­ ния должна быть своей. Для уменьшения погрешности от округления лучше решать уравнения относительно неизвестных с наибольшими по модулю коэффициентами при них. Затем делается начальное предполо­ жение о решении, то есть выбирается первое приближение , которое под­ ставляется в систему для вычисления следующего приближения. Проuесс подстановки и вычисления очередных приближений продолжается до тех пор, пока не будет достигнута достаточно хорошая сходимость к реше­ нию. В классическом методе Якоби вычисление всех компонентов очеред­ ного приближения выполняется только на основе предыдуших значений решения. Однако, поскольку компоненты вычисляются поочередно , пе­ ред вычислением очередного компонента вектора решения часть новых значений уже известна и может испол ьзоваться для вычисления осталь­ ных значений нового приближения . Использование только что вычис-
iftN Гnава 18 ленных компон ентов очере.дноrо приближения для определения осталь­ ных компонентов, без ожидания перехода . к следующей итерации, как раз и составляет сушность метода Гаусса-Зейделя. Для применения метода Гаусса-Зейделя к нашему примеру перепи­ шем систему в другом виде, разреши.в каждое уравнение относительно одной из переменных: Х1 =(t)(x2 +2х3 ) Х 2 =(t)(10-5x1 +Зх 3 ) х 3 =(t)(2 +2x1 +х 2 ) Решим эти уравнени я с применением метода Гаусса-Зейделя в элек­ тронной табл иuе l. 2. Excel. Откройте новый л ист и назовите его Рис. 10 . 2. Выберите команду Сервис > Параметры, откройте вкладку Вь1числения и включит~ режим Вручную. Поставьте отметку на пере­ к.пючатель Итерации , введите в поле Предельное число итераций зна­ чение 1, отключите режим Пересчет перед сохранением и щелкните . н а кнопке ОК. 3. В ячейке А1 введите Решение систем уравнений; метод Гаусса-Зейде.ля . В таблицу необходимо добавить флаг Инициализации, который бы переводил вычислительный процесс в определенное начальное состоя­ ние. Ввод значения ИСТИНА в ячейке ВЗ должен заставить функцию ЕСЛИ в ячейках С8:С10 возвращать А8 :А10. 4. 5. 6. В ячейке АЗ введите Нач. флаг. В ячейке ВЗ введите ИСГИНА. Присвойте ячейке ВЗ имя НАЧЗН. начальные значения в ячейках
ifQ Решенuе сuстем уравненuu 7. . 8. 9. Теперь инициализируем итерационный проuесс начальным значением О. В ячейке AS введите Начальнwе. В ячейке А7 введите значения. В ячейке А8:А10 введите О. Введем в таблицу три уравнения системы. При итерировании листа ячейки с циклическими ссылками вычисляются слева направо и сверху вниз. Если поместить в ячейки столбuа С формулы, использующие зна­ чения ячеек столбца В, то в столбец В будет подставляться предыдущая итерация, а при вычислении столбца С д.rrя определения нового прибли­ жения будут использоваться только старые значения. Другими словами, будет реализован итерационный метод Якоби. Если изменить порядок вычисления и поместить в столбец В форму­ лы, содержащие значения из столбца С, то полученное по формуле в столбuе В значение будет подставляться в столбец С и тут же использо­ ваться в следующей формуле из столбца В. Это новое значение будет ис­ пользовано на текущей итерации сразу же после его вычисления, и, та­ ким образом, будет реализован метод Гаусса-Зейделя. 1О. В 11. В 12. В ячейке ячейке 86 введите Уравнения. 88 введите ={С9+2*С10}/8. 89 введите ={10-5*С8+3*С10)/7. 810 введите =(46·5*С8-7*С9)/9. ячейке ячейке Осталось ввести в уравнения рекурсивные ссылки и проделать тест 13. В инициализации. 14. В 15. ячейке С6 введите Решепия. В ячейке С8 введите формулу =ЕСЛИ(НАЧЗН,А8,В8) и скопируйте ее в ячейки С9:С1 О. 16. Сделайте формат ячеек 88:С10 числовым с тремя знача~цими деся­ тичными цифрами. 17. Отключите ьтображение линий сетки и обведите ячейки контуром, как показано на рис. 10.2. Для выполнения расчета по этому листу установите флаг иющи:uшза­ ции равным ИСТИНА и нажмите клавишу <Cmd+=>). <F9> (на Maciпtosh - клавиши После инициализации листа измените значение флага ини­ циализации на ЛОЖЬ и снова нажмите клавишу <F9> для выполнения очередной итерации. Продолжайте итерирование листа путем нажатия клавиши <F9> до тех пор, пока не будет достигнута удовлетворительная сходимость к решению. К этому моменту рабоч.ий лист должен выглядеть так, ках показано на рис. 10.2. Если решается система, для которой итераuионный процесс сходится ruюxo, нет необх'одимости нажимать клавишу <F9> много раз. Достаточ­ но выбрать команду Сервис ~ Параметры, открыть вкпадку Вычисления и изменить значение поля Предельное число итераций на количество ите­ раций, которое необходимо выполнять при каждом нажатии клавиши <F9> ( <Cmd+=> на Macintosl1).
Гnава 18 ,. ::начаn•нwе Ура1нtннА Pewe111-iя ·~ ~ начен+11111 ( .; ( ( ' Рис. 10.2. 1, 000 2.000 3.00!! 1.000 2,000 3.000 Решение системы линейных уравнений итерационным методом Гаусса-Зейделя Методы верхней и нижней релаксации Как и в случ.ае скалярных уравнений, сходимость и устойчивость вы­ числительного процесса нередко можно улучшить, специальным образом выбирая вел и<Jину приращения, которое получают искомые значения на каждой итерации. В методах верхней и нижней релаксаuии к искомому реш ению на КЮ!}дОМ шаге добавляется дробная доля с 1 вычисляемого приращения_. Эта вел ичина может быть как меньше, так и больще еди­ ницы ; если она равна единице, метод релаксации вырождается в метод Якоби или Гаусса-Зейделя. Для реализаuии метода вначале новые значения каждой неизвестной вычисляются точно так же, как в методе Гаусса-Зейделя. Затем, вместо их использования в качестве очередного приближения, от них отнимают­ ся предыдущие значения. и тем самым находится приращение вектора решения. Наконец, это приращение умножается на коэффициент релак­ сации с1 и добавляется к старым значениям неизвестных. Полученный вектор как раз и является следующим Приближением решения. x;+i = х:' + Cf[(!)(х; + 2х;)- х;'] х;+ 1 = х; +Cf[(~)(io-sx; +Зх;)-х;] x;+i .= х;' + Cf[ (t )( 2 + 2х; + х; )-.х;] Верхние индексы п ·и итерации. n+J относятся соответственно к п-й и (п+l) -й
IШ Решенuе сuстем уравненuii Реализуем метод релаксации в электронной таблице. Структура листа останется практически той же, что и в предыдущем примере, поэтому вначале сделаем его копию. 1. Скопируйте лист Рис. 2. Выберите ко.манду 10.2 и присвойте ему имя Рис. 10.З. Сервис >-- Параметрь1, откройте вкладку Вычисления, включите режим Вручную, поставьте отметку на пере­ ключатель Итерации, введите в поле Предельное чиспо итераций зна­ чение 3. 1, отключите режим Пересчет перед сохранением и щелкните на кнопке ОК. Установите ширину столбцов В и С равной 11. Введите n ячейке А 1 строку Решение систем уравнений; методJd релак~ сации. Данный лист должен содержать как флаг инициализации, так и ко­ эффициент релаксации. Флаг иниuиализаuии переводит лист в опреде­ ленное начальное состояние. Коэффициент релаксации определяет, ка­ кая доля приращения должна прибавляться к решению предыдущей ите­ рации мя получения очередного приближения. Выделите ячейку ВЗ и перетащите ее содержимое в ячейку СЗ. 4. 5. 6. 7. В ячейке А4 введите Коэф-т релаксации. В ячейке С4 введите 0.5. Присвойте ячейке С4 имя ~ J'lримечание Cf. .. " .""."" .. Хотя в качестве начальных могут использоваться практически любые значения, однако чем ближе они к искомому решению, тем быстрее будет сходит~.ся итее~цио_ннь.1й процесс. Внесем в таблицу разрешающие уравнения метода релаксации. В них нетрудно узнать уравнения метода Гаусса-Зейделя с добавкой, выражаю­ щей дробность приращения решения из-за введения коэффициента ре­ лаксации. Для формирования этой добавки предыдущие значения вычи­ таются из следующих, затем разница умножается на коэффициент релак­ сации и прибавляется к предыдушему приближенному решению. 8. В ячейках 88:810 введите следующие формулы: Ячейка Содержимое 88 89 810 =CB+Cf*(((C9+2*C10}/8)-C8) ""С9+Сf*(((10-5*С8+З*С10)/7)·С9) =C10+Cf*(((46-5*C8-7*C9)/9)-C1 О) В ячейках С8:С10 уже присутствуют циклические ссылки, оставшиеся там от предыдущего примера. 9. Обведите рис. смысловые блоки таблицы контуром, как показано на 10.3. Для расчета по построенной таблице введите значение коэффициента релаксации в ячейке С4. Для данной задачи вполне подойдет коэффици-
iiФI ент Гnава 10 0.5. Вообще говоря, д.ля различных задач оптимальными являются различные значения этого коэффициента, хотя немного существует за­ дач, которые бы сошли сь к решению при значениях коэффициента ре­ лаксаuии , больших 2. Меньшие значения обычно обеспечивают лучшую устойчивость итерационного npouecca, но дают более мед.ленную сходи­ мость. Рекомендуется вначале оценить сходимость задачи с коэффиuиен­ том релаксации между l и 1.5, и если процесс сходится, увеличить коэф­ фициент, а в противном случае - уменьшИJъ. Заново инициализировать итерационный процесс при изменении коэффиuиента релаксации нет необходимости, если уже вычисленные приближения к решению нахо­ дятся в разумном диапазоне; если же npouecc начал расходиться, необхо ­ димо инициализировать его новыми значениями . Установите значение флага инициализации ИСТИНА и нажмите клавишу <F9> (на в ячейке Macintosh - Затем измените его значение на ·ложь и снова наж~1ите жайте нажимать клавиш у СЗ равным клавиши <Cmd+=>). <F9>. ТJродол­ до тех пор , n ока проuесс не соИдется к <F9> решению. После достижения достаточной точности решения лист электронной таблиuы должен выrдядеть так, как на рис. 10.3. Помните, что для ите­ рирования уравнений нет J-1еобходимости нео1рывно сидеть у компьюте­ ра и нажимать клавишу Предельное число <F9>; итераций достаточно увеличить знаqение в поле вкладки Вычисления диалогового оюш Параметры . tut~~~~:·- · :~i!~~~~·;·f~;~~i:s--~~~~! .~--r~~J.:;~(tt ~:;t-'s:щ~~ :.~~ Pew1rtИ111 c~Cf*'-' УРil!-<енкК. мет::J:ды рtл111С:с1_,,.м . ...:~ ....,.......------.---~ :J.;· Н$чМ•ным флаr ЛОЖЬ , ';~~·· . t<о•Ф·Т •л••С•l!М• '!!fj! ' Jtj}~ Н.-чал~.w~• Ypaa!4eНJi1R Рещвиv~111 ..: ЗHIЧfl+Иflll ' Рис. о 1,QGO о о 1.000 3 00~ 10.3. 1,000 2 OOD З ООО Решен1,11е с111стем линейных уравнений методами релаксации Решение систем уравнений с помощью модуля поиска решения Если тщательно подготовить структуру ;шста , то для решения систем линейных уравнений можно использовать модуль поиска решения . Этот модуль выбирает в качестве uелевой оптимизируемой величины значение
11:11 Решенuе сuстем уравненuu одной ячейки, поэтому дпя решения системы уравнений их правые части необходимо объединить в одну скалярную целевую функuию и оптими­ зировать ее значение_ Одним из способов построения uелевого значения является запись всех уравнений с правой частью, равной нулю, и сложе­ ния модулей левых частей. Как только эта величина становится равной нулю, решение получено. Взятие модуля гарантирует, что результаты вы­ числений по двум уравнениям не будут в сумме взаимно уничтожены из­ за противоположных знаков. Для оптимизации целевого значения модуль поиска решения автоматически перебирает ряд возможных значений, по­ этому. для ячеек с исходными значениями не требуется какой-либо спе­ циальной инициализации. "' • Предупрежден1-1.е Не забудьте взять модуль каждого из слагаемых в целевом значении, по­ тому что в противном случае отрицательное значение одного может уравновесить положительное значение другого, и целевая функция ста-: нет равной нулю еще до того, как. система будет решена ... ," • Пре.цупре?Кде1:1ио ." " Модуль поиска решения справляется с решением системы, если слагае­ мые в целевой величине имеют примерно одинаковый порядок величины. В противном случае одно из слагаемых доминирует в целевой сумме, ухудшая иnи вообще делая невозможной сходимость процесса подбора· решения. Если слагаемые в целевой функции имеют различный порядок величины, их необходимо умножить на весовые коэффициенты для при- ' ведения к одному порядку. Умножение на весовые коэффициенты не ис- · портит требуемого результата, поскольку искомое значение целевой функции равно нулю, а сама она положительно определена. 1. 2. 3. Откройте новый лист и дайте ему имя Рис.10.4. Сделайте ширину столбца А равной 4. В ячейке А4 введите Решение систем уравнений; модуль поиска реше­ ния. Теперь введем в таблицу необходимые формулы. Они имеют тот же вид, что и для предыдушей задачи, за тем исключением, что значение левой части уравнения вычитается из правой для того, чтобы правая часть стала равной нулю. Как только подобран еектор, обращающий все уравнения в О, задача решена. 4. В ячейках 88:810 введите следующие формулы: Ячейка Содержимое 88 ==((С9+2"С10)/8)-СВ 89 В 1О ""({46·5·cs- 7*С9)/9)-С1 О =({10·5·сs+З*С10)/7)-С9
Гnава IJ:tj 10 Внесем в таблицу первое приближение дл:я искомого решения. 5. В ячейке С8 введите значение 1 и скопируйте его в ячейки С9:С10. Далее следует сложить абсолютные значения уравнений в ячейках для построения оптимизируемой модулем поиска решения целевой функции. В ячейке, соответствующей целевой функции, будет вычисляться сумма целого массива ячеек, поэтому она вводится с помощью клавиш (на Macintosh - <Cmd+Enter>). В ячейке С12 введите следующую формулу: <Ctrl+Shift+Enter> 6. =CYMM(ABS(B8:B 1О)) 7. и нажмите клавиши <Ctrl+Shift+Enter> (на Maciпtosh Обведите ячейки контуром, как показано на рис. 10.4. Ур3&Нf'НЮ1 <Cmd+Enter>). Решения О.ООО 1,000 0,000 2,000 3,000 0,000 j 2 ШОЗЕ·Обl Рис. 10.4. Решение систем уравнений с применением модуля поиска решения Присуупим к решению системы с помощью модуля поиска решения. 8. Выберите команду Сервис>- Поиск решения. 9. В поле Установить целевую ячейку введите $С$12 , а в поле Изменяя ячейки - диапазон ячеек $С$8:$С$1 О. Включите переключатель Значению и введите в соответствующем текстовом поле значение О. Щелкните на кнопке Выполнить дл:я поиска решения.
Решенuе сuстем уравненuu 11:Jj Найдя решение поставленной задачи, модуль поиска решения отобра­ зит диалоговое окно Результаты поиска решения, показанное ниже. Если модуль не сможет найти решение, он об этом сообщит. В этом случае попробуйте выполнить поиск решения еще раз - возможно, мо­ дуль просто исчерпал заданное количество пробных решений и ему тре­ буется еще несколько попыток. Если возникла проблема со сходимостью, можно попробовать другие начальные значения. Результаты решения нашей задачи приведены на рис. 10.4. Решение сис-rем нелинейных уравнений В некоторых случаях для решения систем нелинейных уравнений мо­ жет применяться метод Якоби или Гаусса-Зейделя; однако для обеспече­ ния хорошей сходимости итерационных методов, как правило, требуется применение верхней или нижней релаксации. В том случае, если уравне­ ния можно записать в виде задачи на оптимизацию одного скалярного значения, и абсолютные величины всех левых частей имеют примерно один порядок, можно с успехом пользоваться модулем поиска решения. Если же одно из уравнений по модулю значительно превосходит осталь­ ные, в целевом значении будет доминировать именно это слагаемое. В таком случае к нелинейным системам применяются те же описанные ра­ нее методы, что и к линейным. Системы нелинейных уравнений моrут иметь несколько решений, по­ этому начальные значения играют здесь ключевую роль. Если уравнения отличаются сильной нелинейностью, то при достаточно далеком от ре­ шения начальном приближении итерационный процесс может расхо­ диться. В этом случае рекомендуется изменить начальное приближение, а также коэффициент релаксации. Погрешность и нормирование Одним из недостатков использования матричных и итерационных ме­ тодов для решения систем уравнений является зависимость погрешности решения от порядка, в котором решаются уравнения. При подготовке системы к численному решению необходимо разрешить каждое уравне­ ние относительно одной из неизвестных. Для получения наилучших ре­ зультатов постарайтесь выносить в левую часть переменную с макси­ мальным по модулю коэффициентом. В идеале каждое уравнение должно
11:JI Гnава 18 быть разрешено относительно своей переменной, но это далеко не всегда так. Какую переменную выносить из какого уравнения, вам подскажет опыт и специфика задачи . ..... Примечание При выборе переменной, опюсительно которой будет разреwаться урав­ нение, следует разыскивать коэффициент, преобладающий над боль­ шинством остальных не в два-три раза, а, по меньшей мере, на порядок, то есть в десять раз и более . При использовании элементов матрицы матричных методов относительные коэффициентов решаемой системы величины также имеют большое значение. Все модули элементов матрицы должны иметь при­ мерно один порядок; если это не так, точность обратной матрицы и ре­ шения линейной системы сильно ухудшается. Для исправления положе­ ния следует разделить каждое уравнение (строку матрицы) на преобла­ дающий элемент этой строки. Нормируя уравнения, не забудьте, конеч­ но, нормировать таким же образом и правую часть (вектор Ь). Если матрица вырождена (то есть после диаrонализации содержит на диагонали, по меньшей мере , один ноль). однозначного решения полу­ чить нельзя. Для проnеркн на вырожденность можно вычислить опреде­ литель матрицы с помощью функции МОПРЕД. Если он равен нулю , матрица вырождена. Если определитель не равен нулю , но очень близок к нему , то решение существует, но ero нахождение сопряжено с боЩ>ши­ ми вычислительными погрешностями. Ошибки округления могут сделать матрицу приближенно вырожденной даже в том случае, если ее опреде­ литель строго не равен нулю. При малом по модулю определителе следу­ ет тщательно проверить решение на nредмет удовлетворения решаемой системе. Если у вас возникли такого рода трудности с получением доста­ точно точного решения, обратитесь к литературе по численным методам линейной алгебры за более подробной информацией о матричных мето­ дах решения систем линейных уравнений . Резюме В этой главе рассмотрены пять методов решения систем линейных и нелинейных уравнений с помощью электронных таблиц. В Excel имеют­ ся встроенные средства обращения и умножения матриц, которые могут использоваться для решения большинства встречающихся на практике небольших систем линейных уравнений. Итерационные возМОЖJiОСТИ электронных таблиu позволяют реализовать на рабочем листе методы Га­ усса-Зейделя, Якоби, верхней и нижней релаксации. которые примени­ мы к решению как линейных, так и нелинейных систем. Для решения систем уравнений также применим модуль поиска решения, реализован­ ный в Excel как вспомогательный программный модуль.
i1:fi Решенuе сuстем уравненuii Дополнительная литература Численные методы решения нелинейных уревнений C.Gerald, Applied Numerical Analysis, 2nd ed. (Readiog, Mass.: AddisonWesley, 1978). W.H.Press, B.P.Flaпnery, S.A.Teukolsky, W.T.Vetterliпg, Numerical Recipes; The Art of Scientific Compиting (Cambridge, UK: Cambridge Unive~ity Press, 1986). Бахвалов Н.С., Численные 11tетоды (аншzиз, алгебра, обыкновенные диф­ ференцишzьные уравнения), М.: Наука, 1973. Островский А.М., Рещение уравнений и систем уравнений, ИЛ, 1963. Обзорные задачи 1. Решить еле.дующую систему уравнений относительно х, у и пользованием матричных функций 4 х + 3.3 у+ 22х+ 14у+ 5.6 2. х 0.27 z= zс ис­ Excel: 39.6 5z=39.6 + 4.8 у+ 2.1 z = 39.6 Решить следующую систему, описывающую ток в изображенной на рисунке электрической цепи, относительно 11 и 12 с помощью метода Гаусса-Зейделя: V= 11 (R1 + R1) + f2R1 О = 12 Rз - 11 R1 R1= 10 Ом, R2= 5 Ом, Rз= 10 Ом, V= 10 В. Rз 3. Решить следующую систему уравнений относительно х, у и пользованием матричных функций zс ис­ Excel: 2 z = 10 1.5 х + 2 у+ 2 z = 1 х +у- 2.5 4. х +4 у+ 3 z= 4 Решить следующую систему уравнений относительно х, у, использованием матричных функций Excel: z, w и v с
11:1& Гnава 18 3 х + 7 у + 5 z + 20 w + 4 v = 96 х + 2 у + 3 z + 9 w + 1о v = 67 5 х +у+ 16 z - 4 w + 6 v = 124 2 х + 2 у+ z + w + 18 v = 73 х + 3 у - z + 5 w + 2 v = 19 5. Решить следующую систему уравнениn относительно х, у, z с исполь­ зованием метода верхней или нижней релаксации: x+3y+z=l7 4 х + 2 у+ z = 27 5х+6 6. у - z= 25 В электроизмерительных преобразователях давления широко исполь­ зуются уравновешенные мостовые схемы (см. рис.). Резисторы Rs и ~ представляют собой тензодатчики, установленные таким образом, ч.то nри воздействии давления их сопротивления изменяются в проти­ воположных направлениях (сопротивление одного возрастает, а дру­ гого падает), и это создает в мостовой схеме неравновесное состоя­ ние. В результате возникает разность потенuиалов Vo, которая регист­ рируется вольтметром. R1 " Vo " При заданных величинах: R1 = R2 = 1 Ом, Rз = /4 = 100 Ом, Rs = 1002 Ом, ~= 998 Ом, V= 10 В решить следующую систему уравнений относительно 11, 12 и V0 мето­ дом верхней или нижней релаксации: V= U1 + /2)(R1 + R2) + /1 (Rз + Rs) = Решить ту же систему при величинах R5 = ~ 1ООО Ом (в равновес­ ном состоянии). Попробуйте решить задачу еще для нескольких зна-
i1:Q Решенuе сuстем уравненuu чений этих двух сопротивлений, всякий раз увеличивая одно и уменьшая другое на равные величины. 7. При упругом рассеянии свободно движущейся частицы на неподвиж­ ной (см. рис.) начальные н конечные скорости и уrлы рассеяния можно определить из уравнений сохранения импульса и энергии. В приведенных уравнениях скорости без штриха жение до столкновения, а со штрихами т 1 v 1 = m1v; cos(e 1 ) + т 2 v~ - (v) описывают дви­ после него: cos(e 2 ) т 1 v; sin(e 1 ) = m2 v~ siп(e 2 ) 1 2 - 2т1 V1 - _l 12 2 т1 V1 1 12 + 2т2 Vz = = Пусть частица 1 - это протон (т 1 mv 1.67 х l0-27 кг), движущийся со скоростью 250 м/с, а частица 2 - ядро гелия (т2 = 4тр)· Частица 1 после столкновения отлетает под уrлом 81 = 250. Определить скорости v1, ~и уrол В1 • 8. Четыре пружины последовательно соединены и растянуrы между дву­ мя стенками (см. рис.). Сила F, действующая со стороны каждой пружины на соседнюю, дается следующим выражением: F= k(x - Хо), где жесткость пружины. а Хо k - - ее длина в недеформированном состоянии. Если данная система пружин находится в равновесии, все силы рав­ ны, и уравнения равновесия можно записать в следующем виде: k1 (Х1 - Х10) = k1 (Х2 - Х20) k2 (х2 - х20) = kз (хз - хзо) kз (хз - хзо) = k4 (х4 - x.io) , х1 + х2 + х3 + х4 = L
li:f:i Гnава 18 Определить х 1 , х2 , х3 и х4 методом верхней или нижней релаксации при следующих условиях: Н/м, k2 = 20 Н/м, k 3 = 30 Н/м, !ч = 40 Н/м, хю = х20 = х30 = х..о = 10 см, L 80 см. Решить следующие нелинейные уравнения относительно х и t мето­ k1 = 10 9. = дом верхней или нижней релаксации. х =а l О. e-at х = Ь Siп(0t) а = Ь = 2, 0 = 4, а. = 0.5. Решить следующие нелинейные уравиеиия отиосительио 0, а. и р ме­ тодом верхней или нижней релаксации. = 7.548 4 Cos(0) + 4 Cos(a.) + 2 Sin(p) = 6.390 2 Sin(0) + 3 Cos(a.) + 9 Cos(p) 5 Si11 (0) + Siп (а.) + 2 Si11(p) = 3.587 Упражнения 1. Решить следующую систему уравнений относительно х, у и пользованием матричных функций zс ис­ Excel. 18 х + 3 у + 2.2 z = 493. l 67 х+ 5.9у+ 7 z= 1745.78 14 х + 6 у+ 15.6 z = 609.2 2. Решить следующую систему уравнений относительно х, у и z с ис­ пользованием итерационного метода Гаусса-Зейлеля. Обратить особое внимание иа проблему нормирования уравиеиий системы. 100 х + 120 у+ 220 z = 3840 l х + 2 у + l z = 36 0.1 х + 0.2 у+ 0.3 z = 5.2 3. Уравновешенная мостовая схема, рассмотренная в задаче 6, может использоваться для измерения малых перемещений деформируемых систем. Для этого тензодатчик прикрепляется, скажем, к изгибаемой балке, перемещение которой измеряется. В результате смещения бал­ ки изменяется сопротивление датчика, регистрируемое приборами. Решить задачу для мостовой схемы с применением модуля поиска 4. решения. Использовать значения величин, указанные в обзорной за­ даче 6, за исключением R5 = 1000 Ом и Rt, = 1200 Ом. Решить следующую систему уравнений относительно а, Ь, с, d, е, и g f с использованием матричных функuий Excel.
iiф) Решенuе сuстем уравненuu 57 а + 77 Ь + 72 с + 45 d + 54 е + 63 f + 99 g = 20643 4 а + 100 Ь + 16 с+ 23 d + 44 е + 11 f + 67 g = 11902 1 а+ 79 Ь + 94 с+ 27 d + 62 е + 55 f + 88 g = 19526 + 25 48 а + 73 38 а + 71 17 а + 70 53 5. а Решить + 62 с + 33 d + 73 е + 2 f + 8 g = 9898 Ь + 58 с + 46 d + 43 е + 56 f + 14 g = 11492 Ь + 94 с + 86 d + 72 е + 78 f + 25 g = 17226 Ь + 1О с + 6 d + 59 е + 69 f + 59 g = 16303 Ь задачу из упражнения 4 итерационным методом Гаусса­ Зейделя. 6. 7. Решить задачу из упражнения Решить задачу из упражнения 4 методом релаксации. 4 с применением модуля поиска реше­ ния. 8. Решить следующие два уравнения относительно х и t с использовани­ ем метода релаксации: х = аеЫ + cedt + е х = aSiн(bt) + cCos(dt), rде задано: 9. а= 23, Ь = -2, с= 19, d = 2, е = -158.38. Решить следуюшую систему из трех уравнений относительно а, Ь и с. 3Sin(a) + 4Cos(b) + 5Tan(c) = 5.69 + 4Cos(2b) + 5Tan(2c) = 4.01 3Sin(3a) + 4Cos(3b) + 5Тап(3с) = 5.91 3Siп(2a) 10. Решить задачу для системы nружии из задачи для самостоятельного решения № 8 в предположении одинаковой жесткости пружин, но различной их длины в недеформированном состоянии. Задать сле­ дующие параметры пружин; k1 = k2 = k 3 = ~ = 20 Н/м, 10 см, Х20 = 20 см, Хзо = 30 L = 200 см. Х10 = СМ, Х40 = 40 см,
rпава 11 Решение обыкновенных дифференциапьных уравнений В зтой главе... ./ ./ Решение задач Коши ./ ./ ./ ./ ./ ./ Метод Р•дав Тейпара Решение краевых задач Метод Эйлера Модифицированный метод Эйлера Методь1 Рунrе-Кутта Метод стрельбы Метод конечных раsностей Большинство пользователей электронных таблиц Excel даже не дога­ дываются о возможности их применения для приближенного решения дифференциальных уравнений. Тем не менее, благодаря динамической связываемости ячеек и итерационным возможностям в электронных таб­ лицах можно разыскивать решения самых разных дифференциальных уравнений. В частности, численному решению легко поддаются два ос­ новных типа задач для обыкновенных дифференциальных уравнений : за­ дачи Коши (или начальные задачи) и краевые задачи. Отличие между этими двумя типами задач состоит не в типе рассматриваемых диффе­ ренциальных уравнений, а в локализации граничных условий. Решение задач Коши В задачах Коши, или начальных задачах, для однозначного определе­ ния решения дифференциального уравнения на одном из концов рас­ сматриваемой области определения решения задают начальные (гранич­ ные) условия. Целью приближенного решения является интегрирование уравнения от конца с известными граничными условиями до другого конца интервала, на котором они неизвестны . Такого типа задачи обыч­ но возникают для уравнений с производными по времени: известно зна­ чение искомой функции и некоторых ее производных в данный момент времени (определенная граница), и требуется найти ее значения для всех или некоторых моментов в будущем (на неизвестной границе). В этом
Решенuе 0Быкновеннь1и дuфференцuаnьнь1н уравненuu разделе будут рассмотрены четыре н аиболее распространенных метода решения задач Коши: метод рядов Тейлора, метод Эйлера, модифициро­ ванный метод Эйлера и методы Рунге- Кутта. Обыкновенное дифференциальное уравнение с од­ ним начальным условием Рассмотрим следующее обыкновенное дифференциальное уравнение первого порядка: (1 +х 2 ( ) '· d их )·_ 1, dx + u(x) =х х>О с начальным условием u(O) =О Поставленная задача относится к классу задач Коши, поскольку гра­ ничное условие известно только в одиой точке. Задачи для уравнений первого парядка не должны содержать более одного дополнительного ус­ ловия, так как в противном случае задача оказалась бы переопределен­ ной и, скорее всего неразрешимой. Для уравнений второго и более высо­ кого порядка необходимо задавать большее количество начальных или граничных условий. Сущность и назначение граничных условий Для понимания того, зачем для решения дифференциальных уравне­ ний необходимо задавать одио или несколько граничных условий, рас­ смотрим следующее функциональное уравнение: у=/( х) Имея это уравнение , можно начертить график значений у для всех требуемых значений независимой переменной х. Это уравнение полно­ стью определено, и для одиозначного определения значений у не требу­ ется присоединять к нему дополнительных условий . Теперь рассмотрим другое уравнение: y'=f(x) Это уравнение является дифференциальным и имеет первый порядок, определяя для каждого х значение производной функции у'. Производ­ ная описывает тангенс угла наклона касательной к графику функции; зная ее, можно начертить форму кривой, однако нельзя сказать, где именно кривая расположена. Все кривые на приведенном ниже рисунке удовлетворяют этому уравнению - поэтому для выбора решения необхо­ димо знать значение функции хотя бы в одиой точке, например, в чер-
'*' Гnава 11 ной точке н а левом краю рисунка. Значение функции в этой точке н бу­ дет представлять собой граничное условие. O/IЭS О/Л) 0.025 0.025 0,01S "' 0.010 О)Ю5 000) .О)Ю5 .0.010+-~.----.~----..~~~-< 0,000 0))9) 0,100 O,!SO О :ЮО о,250 Далее рассмотрим вторую производную функции: y"=f(x) Из этого уравн ения нам известна кривизна графика функции для ка­ ждого значения х. Определить по ней всю недостающую информацию о функции можно только в том случае, если в одной точке заданы значе­ ние функции и ее производной (начальная задача) или значения функ­ ции в двух точках (краевая задача). Эти условия и будут краевыми усло­ виями ДЛЯ данной задачи. ИТак, ДЛЯ ПолучеНИЯ ОДНОЗНаЧНОГО решения _ дифференциального уравнения необходимо присоединить к нему столько граничных условий , каков порядок уравнения . Если в уравнение входит более одной независимой переменной (например, две для плоских задач математической физики), граничные условия должны задаваться на гра­ ницах изменения каждой из переменных . В поставленной задаче целью является найти значения функции и в интервале изменениях от О до 0.2. Для данного уравнения известно ана­ литическое решение: и(х) _!_[х _ In{х + .Jid)] = 2 (х + ..J1+ х 2 ) Это решение будет использоваться для оuенки эффективности раз­ личных приближенных методов. На рис. 11.1 показано данное решение в диапазоне от О до О. 2. Метод рядов Тейлорв Одним из распространенных методов решения начальных задач явля­ ется метод рядов Тейлора. Рассмотрим разложение некоторой функции и(х) в ряд Тейлора в окрестности точки ,XQ.
Решенuе обыкновенныи дuфференцuаnьныи уравненuu 0,02 0,02 0,02 О,о1 0,01 § 0!)1 0!)1 0,01 0.00 0.00 о.оо..._""""""=---~~--~~--~~~--~--< 0.00 O/J5 0,10 O.IS Рис.11.1. Аналитическое решение задачи Коши и(х)=и(х0 )+ (х - х0 ) l! ~(х - х + о и'(х0 )+ )3 3! (х - х ) 21 и,,, (хо ) + 2 ° (х - х и"(х 0 ) о )4 4! и,, " ( х () ) + ... Здесь введены следующие обозначения: du и'(х) = d:x. и"(х) = Положим х h= ( - d 2 u(x) dx 2 , ••· Х{) ); с учетом этого уравнение переimшется в сле­ дующем виде: h h2 и(х) = и(х 0 ) + -и'(х 0 ) +-и"(х 0 ) 1! 2! hз h"'+ +-и"'(х ) +-и""(х ) + ··· З! о 4! о В точке Х{) известны значения двух первых членов ряда Тейлора: пер­ вый - из граничного условия, а второй - из дифференциального урав­ нения. Вот эти значения: и (О)= О и' (О)= О Последовательно дифференцируя собой выражение для первой уравнение, производной, которое представляет получаем выражения для производных более высокого порядка. Из этих выражений получаем сле­ дующие коэффициенты: и" (О)= 1, и"' (0) = -1, и"" (О)= -2
IWI Гnава 11 Подставим эти коэффициенты в первые пять членов ряда Тейлора и отбросим остальные члены ряда. Получим для решения следующую зп­ проксиманту: 2 h h 3 lz u(h)=----2 6 ~ 12 4 Это приближенное решение может использоваться для вычисления значений искомой функции для различных h. ПредnР~ждение ' Усечение ряда Тейлора допустимо только в том случае, если отброшен­ ные члены в сумме достаточно малы, что в свою очередь справедливо только ПDИ малых h. В приведенном ниже примере методом рядов Тейлора вычисляются значения и(х) для хот О до l. 2. 3. 0.2. Откройте новый рабочий лист и назовите его Рис. 11.2. Измените ширину столбцов A:D следующим образом: Столбец Ширина Столбец Ширина А В 7 12 С 11 11 D В ячейке А1 введите Обыкновенные дифференциальные уравнения; ме­ тод рядов Тейлора. Теперь нам предстоит ввести диапазон изменения х и вычислить зна­ чения аналитического решения уравнения для сравнения с численным. После этого для решения уравнения будет использован метод рядов Тей­ лора. В ячейке В будет производиться сравнение аналитического реше­ ния с численным. 4. В ячейках АЗ:DЗ введите приведенные ниже заголовки и выровняйте их по центру ячеек: 5. В ячейке Ячейка Заголовок Ячейка Загоповок АЗ х сз U(x) 83 u(x) С4 84 Анали:rика 03 По Тейлору Погрешность 04 % AS введите О, а в ячейке Аб введите 0.01; выделите ячейки А5:А6 и перетащите маркер заполнения в ячейку А25. 6. Сделайте формат ячеек А5:А25 числовым с двумя значащими цифра­ ми после запятой. 7. В ячейке 85 введите следующую формулу: =0.5*(A5-LN(A5+KOPEHb(1-+:A5"2))/(A5+KOPEHb(1 +А5л2))) и скопируйте ее в ячейки 8. В ячейке 88 86:825. введите следующую формулу:
Решенuе обыкновеннык дuфференцuаnьнык уравненuu =А5"212-А5"З/6-А5"4/12 и скопируйте ее в ячейки С6:С25 . 9. Сделайте формат ячеек В5:С25 экспоненциальным с двумя значащи­ ми цифрами после запятой. 10. В ячейке 06 введите формулу =(В6-С6)/В6 и скопируйте ее в ячейки D7:D25. 11. Сделайте формат ячеек D6:D25 процентным с пятью значащими циф­ рами после запятой . .... Пр~мечан.ие Процентный формат, используемый в данном примере, предусматривает автоматическое домножение значений ячеек на 100 перед их отображе­ нием . При этом фактическое значение ячейки не меняется , изменяется лишь отображаемая в та.блице в.е.!.!_ичина . :;,:)~ ~ц=~.1:·!;·~~#t?f.~~i)~~~~~~:~ffiJ1t~;;;~~i!·(~~o~;i:~~· .;i~~~~-~~~:: .J:!~r:~rf '=:i:-~';~:~~;·:·-:~r:?:~;н:::·~l!~~:ЫЕ:~ ~~~:: Обыкноtеюi~ д"фферt•щ"а1"'1-4\.1~ ~авиtи1tJ1; uvтод рядо• ТtM09a :§:: .. . .. Поrрешност. ·~~ .... 0.0:0!~i ~~ ~:Еш~· o,ooi74%; ·· ~: il!l!i 'lii' .. ~J 0,00303% о.оо48б% ; 0,00731% 0,010~9%· • ~ .. Рис. 0,01~1." 11 .2. Решение задачи Коши методом рядов Тейлора к этому моменту таблица должна выглядеть так, как показано на рис. 11 .2. Обратите внимание, что для данных малых значений х при­ ближенное решение является исключительно то•шым. Если же взять дос­ таточно больши е значения х, предп оложим, от О до 2, погрешность су­ щественно возрастет. В данном случае метод рядов Тейлора •ет хоро­ шую точнщ;ть для значений h (здесь это просто х, поскольку х0 = О) меж­ ду о и 1. Следует обратить внимание , что в рассмотренном примере h - это расстояние от х до Хо, а не шаг численного интегрирования, который бу­ дет использоваться в остальных задачах этой главы. Для вычислен ия зна­ чений и на больших расстояниях от Хо необходимо пересчитывать значе­ ния производных в конце текущего шага, чтобы выполнить следующий шаг уже от этой точки.
r nава 1§1$ 11 Метод Эйлера и модифицированный метод Эйлера Одной из основных трудностей применения метода рядов Тейлора яв­ ляется необходимость аналитического вычисления нескольких прои звод­ ных от уравнения. Для некоторых уравнений производные от правых частей могут выглядеть достаточно просто, но уже в приведенном приме­ ре это не так. Метод Эйлера позволяет устранить необходимость в вы­ числении производных благодаря усечению ряда Тейлора до члена с пер­ вой производной. Для того, чтобы это сработало, необходимо выбирать h малые значения и после каждого шага пересчитывать значения первой произвол.ной в начале нового малого интервала: и(х + h) = и(х) + hu'(x) Решим дифференциальное уравнение методом Эйлера на листе элек­ тронной таблицы. Для этого откроем таблицу, использовавшуюся для примера с рядами Тейлора, поскольку структуры двух таблиц в основном совпадают. 1. 2. 3. Скопируйте лист Рис. 11.2 и назовите его Рис. 11 . З. Сделайте ширину столбца Е равной 11, а столбца F - равной 9. Введите в ячейке А1 строку Обыкновеннwе дифференциальные уравне1П1я; методы Эйлера. 4. 5. 6. 7. Очистите ячейки СЗ:С25 . Найдем численное решение уравнения методом Эйлера. В ячейке С4 введите По Эйлеру. В ячейке С5 введите О . В ячейке Сб введите следующую формулу: =С5+(А6-А5)*(А5-С5)/КОРЕНЬ(1+д5л2) и скопируйте ее в ячейки С7: С25. Лист таблицы должен иметь такой вид, как на рис. рисунка, данный метод не слишком точен. u<i>___ - · ; · ---·· · ·· · - По дн.,,..,,..Са ~Q~l;.05. 1.~:(14; 4, 451:::04 0,00E+OO _jOQ,Q~OOOТ. 5.05Е-<14 0.ООЕ-<14 i,7бЕ.ОЗ 1.39е.О3: з;11Е:0э •.8Зе~з 5,82€:03 . Рис . 11.3. _. •..1,00!=_-:(!4 . _49. б6362'J(, 2,00E::U4 32.~_!452% 7,!ОЕ.04' 1,2ЗЕ.ОЗ Э. o:iE.03 - .... . . %" .. . . О,ООЕ+ОО n,QQE+OO' . ! ·.nё-,J;i.Щнос~· ).;Леру 10.~078<jt, 13,7D744Y., :i)I Е-63 1D.51101 % ·2,'74е.оЭ ·· 24.40477% 1 . ~Е.ОЗ 2,ОбЕ.03 4.З7Ё~:i 5,З2Е.ОЗ '"~ . 16,10470%11,Dog4б% - · o.:i!ii25% 8,47691%: . ~- ·· ·. ~ ~~:~н;:-.,; i•:i··.~·;::~~~::,:·~1н:,:·::...:; : -: ., . Решение задачи Коши методом Эйлера 11.3. Как видно из
Решенuе обык.новенныи дuфференцuаnьныи уравненuu Поскольку в начале каждого шага для определения значения искомой функции на другом конце интервала берется приближенное значение производной, которое к тому же подставляется в грубое приближение для ряда Тейлора, в ходе интегрирования непрерывно возрастает и нака­ пливается погрешность. Более приемлемым способом является получе­ ние значения функции с использованием среднего на шаге значения производной: u(x + h) = и(х) (u 1 (x)+u 1 (x+h)) + h--'---------_;_. 2 Трудность применения этой модификации метода заключается в том, что производная на дальнем конuе интервала неизвестна. В модифици­ рованном методе Эйлера (методе "nредиктор-корректор" или "предсказание-уточнение") для начального предположения о значении функции используется обычный метод Эйлера. С применением этого предположения вычисляется производная на дальнем конце интервала. Имея значение производной в начале интервала и оценку ее значения в конце интервала, можно точнее оценить значение искомой функции. Для уточнения полученного значения можно применить данный метод еще раз, но при большом количестве итераuий погрешность метода перекры­ вает любые поправки в точности, достигнутые итерированием. Пересчитаем лист таблицы модифицированным методом Эйлера. Вначале вычислим первое приближение к решению, используя обычный метод Эйлера. 1. Скопируйте лист Рис. 11.3 и дайте ему имя Рис. 11.4. 2. 3. 4. В ячейке ЕЗ введите Модиф. метод Эйлера. Вьщелите ячейки ЕЗ:FЗ и щелкните на кнопке Объединить и m ~поместить в центре панели инструментов Excel. В ячейке Е4 введите Предиктор и выровняйте надпись по uентру ячейки. 5. В ячейке Е5 введите следующую формулу: =F5+(A6-A5)*(A5-F5)Л<OPEHb( 1+А5"2) и скопируйте ее в ячейки Е6:Е25. Полученное начальное приближение (предиктор) будет использовать­ ся для вычисления производной в промежуточной точке и вычисления скорректированного значения (корректора) искомой функции. Необхо­ димо также выполнить сравнение этого значения с аналитическим реше­ нием. 6. В ячейке F4 введите Корректор и выровняйте надпись по центру ячейки. 7. 8. В ячейке F5 введите О. В ячейке Fб введите следующую формулу: =F5+((A6-A5)/2)*((A5-F5)Л<OPEHb(1 +А5"2)+(А6-С6)/КОРЕНЬ(1 +А6"2)) и скопируйте ее в ячейки F7:F25.
IЩ:I 9. Гnава Сделайте формат ячеек E5:F25 11 экспоненциальным с двумя значащими десятичными uифрами после запятой. 10. В ячейке GЗ введите Погрешность и выровняйте надпись по центру ячейки. 11. В ячейке G4 введите % и выровняйте надпись по центру ячейки. ' 12. В ячейке G6 введите формулу =(B6·F6)/B6 и скопируйте ее в ячейки G6:G25. 13. Сделайте формат ячеек G6:G25 процентным с двумя десятичными цифрами после запятой. ;щ~~ ;·~ц~~;!.):~~i1~~i~~~~:r1~t~~;~~~;:.~щ~~t~щщ;1~i.~i~~~~;~!iш::1:~!~~шЕtи~:шч~~~ш~щ~~~~пr;1}Ьl~~ыш~ш:ш~~~- ~~щ :·~·:~ 9.~~к.~~~~.н.~.~е.р.~ФферrJмци_:u~~~~-~ ура•.н.•.~~~; .~~~.~~-~..~~лер.а; . · дн~:L.а по ~~РУ riarii8~"~ciь' ~2:'~~=~0~:;;0~: rio~e~i.oi:ть J~~ i~~ о.оо О,ООЕ+ОО' '\!J5i ..0.03 4, 45E:G4 0,04 D.DS 1 , 2ЗЕ.ОЗ О.ООЕ+ОО О,ООЕ+Оо: О,Оое+оо; J!i1~-- _. ~,~1 . . 4, 9_81::115; . 0,00~+09 100.00000% .. 1,49E:G4: 5.00_E:Gs: ,7.;; 0.02.. .. 1,~:0~- ...1...0!J.E:IJ4 __ 49,663б2%, ... З,~7~:{1~; J.~9~:0~i ij~Щ '1Qii 7,89Е-{)4 ;;jfy ~}~:: О.'Об 9,Dl 1ЛЕ.аЗ i~З,j: 0,08 3,11Е.ОЗ j!(5i; 0,10 й, 11 4,SЗЕ.03 i~~ii . о,оо :w: 2,39Е·ОЗ э. о2Е:.оз 5,82Е.ОЗ 2,99E:IJ4. _32,88452%' 7.42Е-{)4 5,;бЕ-!J4 _ 24,4Q477% 1 ,18Е.03 9.ООЕ.04 19, 46078% 1 ,72Е.ОЗ 1,48Е-ОЭ tб, 10470% 2,35Е.QЗ ' 2,ОбЕ.03 . 1.ЗJО.7.~_4":.. ],07Е-{)3 2,74Е.ОЗ 11,909411% З,89Е.03 з:s1Е.оэ · 10,51101% 4.i9i:-oЗ 4,Э7Е:GЗ 9, 39Ш% 5, 78Е.ОЗ 5,32Е.QЗ 8, 47691% 6,87Е.QЗ 4, 47Е:04~ 7,91 Е-{)4: 1,2JE.03' 1,77Е-{)3 : 2,4оЕ.о~ :.. З,12Е-{)3 ' 3'9зe:jj3 , 4,84€.()З, ;: .О.33%: .0.29°% .:ii.~i%i .Q,26%: .0, 26% .Q,25% .Q, 25% .Q,25% - ~.~~~ · "'" " .0,24%; 5, 83Е.03 , \, й:t:~:t.i nf ~ ~·:~:!ftil-~~F;.:'1~12/,~&f~ ~ Pwc. ~-~~ " ".tf.1·: · ~ .i. ~~ .й~f;l!;~~~~~~~{?:~;щ:ч !ti'~~ni~Jm ·. ,, =~: ;~~ 4 Рис. 11.4. Решение задачи 0 Коши обычным и модифицированным методами Эйлера в результате проделанных действий таблица должна приобрести такой вид, как на рис. точн ости 11.4. расчета: Обратите внимание на существенное повышение погрешность неизменно составляет около четверти процента . Данный метод пригоден для получения приближенного реше­ ния на любом расстоянии от начальной точю~ , если только при интегри­ ровании используются достаточно мелкие шаги . Метод Рунге-Купа В настоящее время наиболее распространенным и часто применяе­ мым на практике методом решения задач Коши является метод Рунге­ Кутта четвертого порядка. Для получения · достаточно точного значения приближенного решения в этом методе испол ьзуются четыре промежу­ точных значения. Обосн ование и вывод расчетных формул данного мето­ да можно найпt в литературе по численным методам . Очередной шаг интегрирования в методе Рунге- Куrта выполняется по следующей формуле : u(x+h)=u(x)+ i (k1 +2k2 +2k3 +k4 ) Здесь введены обозначения :
Решенuе обыкновеннын дuфференцuапьнмн уравненuu k 1 = hu'(x, и(х)) k2 h k 2 2 h k 2 2 = hu'(x +-, и(х) +-1 ) k 3 = hu'(x+-,u(x)+~) k4 = hu'(x + h, u(x) + kJ r В приведенных формулах и' (х,и(х)) обозначает производную no х, ко­ торая формально является функцией двух аргументов х и и(х). Решим наш пример на листе электронной таблицы с применением метода Рунге- Купа. Все условия задачи остаются теми же, несколько меняется лишь структура таблицы. 1. Скопируйте лист Рис. 11.4 и дайте ему имя Рис. 11 .5. 2. Очистите ячейки СЗ:G25. 3. Измените ширину столбцов А:Н слеД}10шим образом: Столбец А с Е G 4. Ширина Столбец Ширина 11 о 10 10 10 F 10 н 11 10 А1 заголовок Обыкновенные в 7 Введите в ячейке днфферевцнат.ные уравнеяия; метОд Рувrе-Кутrа. Теперь вычислим четыре промежуточные значения. Они необходимы для получения значения искомой функции в очередной тоt.Iке и перехода на следующий шаг интегрирования. 5. В ячейках СЗ:GЗ введите заголовки kl, k2, k3, k4, u(x) и выровняйте их по центру соответствующих ячеек . 6. 7. В ячейке CS введите О. В ячейке Сб введите следующую формулу: =(А6-А5)*(А5-G5)/КОРЕНЬ(1 +д5л2) и скопируйте ее в ячейки С7:С25. 8.. В ячейке 06 введите следующую формулу: =(А6-А5)*((А5+(А6-А5)/2)-(G5+С6/2))/КОРЕНЬ(1 +(А5+(А6-А5)/2)л2) и скопируйте ее в ячейки 9. D7:D25. В ячейке Е6 введите следующую формулу: =(A6-A5)*((A5+(A6-A5)/2)-(G5+D6/2))/КOPEHb(1 +(А5+(А6-А5}/2)л2) и скопируйте ее в ячейки Е7:Е24. 1О. В ячейке F6 введите следующую формулу: =(А6-А5)*(А6-(G5+Е6))/КОРЕНЬ(1+А6л2) и скопируйте ее в ячейки Е7:Е24.
lfфj rnaвa 11 Теперь вычислим значение искомой функции, комбинируя промежу­ точные значения, И сравн11м полученный результат с аналитическим ре­ шением. 11. В ячейке G5 введите О. 12. В ячейке G6 введите следующую формулу: =G5+{1/6)*(C6+2"06+2*E6+F6) и скопируйте ее в ячейки G7:G25. 13. Сделайте формат ячеек B5:G25 экспоненциальным с двумя десятич­ ными позициями после запятой. 14. В ячейке НЗ введите Погрешность и выровняйте за1·оловок по центру ячейки. 15. В ячейке Н4 введите % и выровняйте надпись по центру ячейки. 16. В ячейке Нб введите формулу =100*(B6-G6)/B6 и скопируйте ее в ячейки Н7:Н25. 17. Сделайте формат ячеек Н6:Н25 экспоненци альным с двумя десятич­ ными позициями после запятой. Внешний вид листа ПО!\азан на рис. решения - 11.5. Очевидно , что погрешность его отклонение от анал итического - кардинально снизилась. Хотя расчетная схема метода занимает цел ых пять столбцов таблицы, его погрешность составляет не более - I .26x 1о·б, что на несколько порядков меньше, чем погреш ность .1tюбоrо другого из рассмотренных методов. li/: ~~;;~·;;~:~: j)?.t~E-.:~~~-~~ :~:?~~~~~~i;}~~~~:J№.; ~::~ ~-'fh)~~ .;;~·.~;·;Н·~Е·::~;~ц~;~~~~Q~~}::;~~;~~f~Ji~~~~~~J: · ·~;; ~wккоеt1<11""' A•Ф+tipaH\fll,..,.... ура••-11; \~:• • r;~; u(x) k1 . k2 дноnмntо ''°'DA Румr"КуТТI kЗ . k4 .. O.ciiE+oo . 9i~~ ~;~ ;.~-. ·1·'.9В99.. ЕЕ~ 09,~,.,., €<00.()5 s,ooe.os 1.49E.Q.\ ~ 4.>15E.Q.4 .• . =.·. :.. " -''8 • !~.i 1Ь'' :i : · ·~:J ~-·~.·~·.: ," J6 Рис. 3,92Е~4: 7.89E.Q4· .з:12е.ш ' :1· 4,ээе.64 4,1!7E.Q4 1.zjE.()3 · - ·2,~~~ 6,7.\E.o.i 7.21 ,Е-04 4 ,ВЗЕ.ОЗ 8,57E.Q4 9,47Е-04 .1,26e.ai;-~ 4.40е.04 , з.11е.оз 5,62Е.QЗ :6j1E.ri7i _!i Ose.{)4 s:з.iE:C4 7.б6Е.().1 ·,· ·~ ~ЕЕ~ """' 2.95Е.{)4 4 .87Е-04 З,92Е.Q3 """";;~ . ~ 9,95E.0S 1.ii;ii.Ь:З s:а1е.Ш % 4,97E.OS З,Ц!'-04 2.Ре.ОЗ О.ООЕ-+00 2.47E.Q.4 2,95€.()..1 з~~ : norpewнoc~ 1; 2.47Е.0:." 7.IЭ'JE.Q.4 1 .2ЗE.ffi ~ft- 1.00E.Q.I ~' ' u(•) б .28€-04 1,49E-Q4 З.44Е.Q.4 5.З.:Е-04 Б,281:.о.i 7,20Ё.а4 1 :~Е.б4 s§i"E:c:.i . 1)6~~ -2,[J7E.{)7 7.66Е~4 -1 .54Е~7 s.74E~ е .12е.о.с. 8.12Е-04- 8.57Е.04 : 9.02E.Q.\ 9Р2Е·О4 • ·417№ 9 ,47Е~4 • 2.З9Е.аз 3,11Е.QЗ J,921:.(13: 4,l!ЗЕ.QЗ f.j . -1.771::~7 :1,37е:СТ ·1.2ЗЕ~7 11.5. Решение задачи Коши методом Рунrе-Кутта Решение уравнений более высокого пор11дка Задача Коши может формулироваться не только для дифференциаль­ ных уравнений первого порядка. На практике часто встречаются также уравнения второго или третьего порядка с начальными услови ями . Для решения этих уравнений 11х следует преобразовать в систему двух или более уравнений первого nорядка, считая п роизводные новыми неиз­ вестными функциями. Для примера рассмотрим следующее уравнение:
Решенuе обыкновенным дuфференцuаnьнын уравненuu au"+bu'+cu+d=O Выполним подстановку у = и' и получим следующую систему из двух дифференциальных уравнений первого порядка: и' -у= О ау' + Ьу +си + d = О Для решения этих уравнений применяются описанные выше методы. На каждом шаге интегрирования новые значения искомых функций вы­ числяются по промежуrочным значениям и по системе уравнений точно так же, как если бы это были отдельные уравнения, и в конце каждого шага приближенные решения становятся известными, готовыми к вы­ полнению следующего шага. Решение краевых задач для обыкновенных дифференциальных уравнений Второй класс задач для обыкновенных дифференциальных уравнений составляют краевые задачи. В то время как в задаче Коши (начальной за­ даче) краевые условия задаются только на одном конце области опреде­ ления решения, в краевой задаче часть условий задается на одНом конце интервала, а часть на другом. Таким образом, необходимо удовлетво­ - рение определенных требований сразу в двух точках интервала. Двумя наиболее известными методами решения краевых задач явля­ ются метод стрельбы и метод конечных разностей. Метод стрельбы В методе стрельбы краевая задача решается с применением тех же ме­ тодов, что и задача Коши . Для этого неизвестные граничные условия на одном краю (край 1) заменяются их предполагаемыми значениями, что превращает краевую задачу в задачу Коши. После этого уравнение интег­ рируется от края l до другого конuа интервала определения решения (края 2) с применением , например , модифицированного метода Эйлера. После завершения интегрирования граничные условия на краю 2, полу­ ченные из решения, сравниваются с заданными. Если они совпадают, за­ дача решена; в противном случае необходимо изменить начальные пред­ положения о неизвестных краевых условиях на краю решение под условия на краю 2, 1, чтобы подогнать и вновь выполнить интегрирование. Та­ ким образом, выполняется своего рода "пристрелка" по rраничным усло­ виям краю на краю 2 пуrем подбора неизвестных граничных условий на l. Например, для решения дифференциального уравнения второго по­ рядка необходимо иметь два граничных условия. Если бы ставилась зада­ ча Коши, это были бы значения функции и ее производной в одной точ-
eнrJ Гnава ке, тогда как в типичной краевой задаче обычно задаются 11 значения функции на двух концах некоторого интервала. Для интегрирования этого уравнения от одного конца интервала до другого с использованием методов решения задачи Коши понадобилось бы также значение произ­ водной иа одном из концов интервала. При наличии этого значения уравнение можно проинтегрировать до другого конца и сравнить полу­ ченное решение с граничным условием на нем. При их совпадении зада­ ча решена, тогда как в противном случае необходимо вернугься к на­ чальной то<.Jке и изменить предполагаемое значение производной. Этот процесс необходимо продолжать до тех пор, пока не будет найдено ре­ шение, удовлетворяющее обоим граничным условиям. Изгиб равномерно нвrруженной балки Если шарнирио опереть балку на двух ее концах, оиа слегка прогнет­ ся под собственным весом, как показано на рис. 11.б. Величина этого прогиба описывается следующим дифференциальным уравнением: J d -у dxJ т El -.._ Примечание Шарнирное, или свободное, опирание балки - это способ опирания, при котором конец балки лежит на опоре, но не прикреплен к ней жестко, так что ~н может свободно поворачиваться,вокруг горизонтальной оси. Рис. 11.6. Шарнирно опертая балка, прогибающаяся под собственным весом В этом уравнении у обозначает перемещение (прогиб) в точке х, момент инерции поперечного сечения балки, Е стали Зх10 7 фнс/кв.д.), а т - 1- модуль упругости (для изгибающий момент. Для балки с посто­ янным поперечным сечением изгибающий дующей формулой: - момент т выражается сле­
Решенuе обыкновенныи дuфференцuаnьныи уравненuu т w =-x(Z-x) 2 Здесь w- удельный линейный вес балки, а/ - ее длина. Рассчитаем прогиб 50-фуговой стальной балки широкополочного прокатного профи­ ля 8-WF-67 (широкий двугавр), весящей 67 фунтов иа фуг. Для случая горизонтальной ориентации полок момент инерции сечения 1 состамяет 271.8 дюйм4. Для малых перемещений аналитическое решение данной дифференциальной задачи выглядит следуюшим образом: wx у=--(1 3 -2lx 2 +х 3 ) 24EJ Максимальный прогиб достигается в центре и выражается следующей формулой: l/2) - 5w/4 у( - 384EI К этому дифференциальному уравнению следует присоединить два граничных условия опирания, по одному на каждом конце: у(О) =О y(l) =о Для решения этой задачи теми методами, которые применялись для задач Коши, необходимо знать на одном конце еще и производную. Тре­ буется предположить ее значение на конце х = О, проиитеrрировать уравнение от одного конца балки до другого и проверить, равен ли про­ гиб у в точке х = /нулю. Если это не так, следует принять для производ­ = О другое значение. Обратите внимание, что с тем же ус­ пехом можно интегрировать уравнение от точки х = / к точке х = О. ной в точке х Решим эту задачу модифицированным методом Эйлера. Вначале све­ дем уравнение второго порядка к двум уравнениям первого порядка, за­ менив первую производную новой неизвестной функцией и: у'(х) = и(х) и'(х) =-!!!:._ EI Обычно при использовании модифицированного метода Эйлера зна­ чение в следующей точке вначале вычисляется обычным методом Эйле­ ра: + h) = и(х) + hu'(x) у(х + h) = у(х) +hy' (х) и(х После этого решение уточняется (корректируется):
1в11 Гnава ( их+ ( h )=их)+ h 11 (u'(x)+u'(x+h)) 2 у(х + h) = у(х) + h (у'(х) + у'(х + h)) 2 Однако в данном случае можно hропустить первый шаг алгоритма, поскольку точное значение и ~x+h) известно из дифференциального уравнения. Решим данное уравнение на листе электронной таблицы, приняв начальное предположение относительно значения u(O). 1. 2. 3. Откройте новый рабочий лист и назовите его Рис. Сделайте ширину столбца 11.7. F равной 13. В ячейке А1 введите заголовок Изгиб балки; краевая задача; метод стрельбы. Заполним таблицу, содержащую геометрические и физико-механичес­ кие параметры балки. Линейный вес балки, который будет вводиться в ячейку равен 85, 67 фунтов на фуг; чтобы перевести его в фунты на дюйм, следует разделить его на 12. В ячейке 88 будет находиться длина балки, преобразованная в дюймы умножением на 12. 4. 8 ячейке А4 введите заголовок Параметры балки 8-WF-67. 5. Введите в таблицу следующие значения: Ячейка Значение Ячейка Значение Ячейка Значение А5 Аб w 85 86 87 88 =67/12 271.8 С5 Сб фи/дюйм дюйм4 3.ОЕ7 С7 =50*12 св фнс/кв.д. дюйм 1 А7 Е. А8 1 6. Выровняйте содержимое ячеек А5:А8 по ячейки А5:В8 и выберите команду Вставка правому краю. >- Имя >- Создвть. Выделите Включи­ те переключатель В столбце спева и щелкните на кнопке ОК. Поскольку аналитическое решение задачи известно, заполним вторую таблицу, содержащую Прогиб из аналитического решения для некоторого значения х (предположим, в центре (х 7. 72 дюйма) и максимальное значение прогиба = 1/2). Введите в указанные ячейки таблицы следующие значения: Ячейка Значение ЕЗ Анапитичвское Ячейка Значение Ячейка Значение Е4 х Е5 Еб у F4 G4 G5 ДЮЙМ y(l/2) G6 дюйм дюйм решение 8. Присвойте ячейке F4 имя Х. 9. 8 ячейке F5 введите следующую 72 формулу: =(W*X/(24*E*l))*(LлЗ-2*L•хл2+хлз) 10. В ячейке Fб введите следующую формулу:
Решенuе обыкновеннын дuфференцuаnьнын уравненuu =5-w*LЛ4/(384*E*I) 11. Сделайте формат ячеек F5 и F6 числовым с пятью цифрами после за­ пятой. Разобьем интервал определения решения, от О до 600 дюймов, сеткой с шагом 12 дюймов и вычислим производНую искомой функции прогиба для всех узловых значений х. Это можно сделать на основании самого дифференциального уравнения задачи. 12. Введите в указанных ячейках приведенные ниже значения и выров­ няйте их по центру ячеек: Ячейка Значе- Ячейка Значе- ние А10 А11 х (дюйм) 13. В 810 Ячейка Значе- ние ние С10 (1/дюйм) С11 u(x) u'(x) 811 ние 010 011 (д/д) ячейке А12 введите О, а в ячейке А13 - Ячейка Значе- 12; у(х) (дюйм) выделите ячейки А12:А13 и перетащите маркер заполнения вниз до ячейки А62. 14. Введите в ячейке В12 следуюшую формулу: =-'№А12*(L-A12)/(2*E*I) и скопируйте ее в я чейку 813:862. 15. Сделайте формат ячеек 812:862 экспоненциальным с одной цифрой после запятой. Теперь нам предстоит вычислить значения и(х) для каждого шага сет­ ки, испол ьзуя средНее зн ачение ее производНой на интервале между дву­ мя узлами сетки. Первое значение и(х) - это недостающее на одном из концов rраничное условие; его следует заменить начальным предп оложе­ нием. Ему соответствует ячейка F9. 16. В ячейке С12 введите 17. В ячейке С13 введите следуюшую формулу: =F9. =С12+(А 13-А 12)*~812+813)/2 и скопируйте ее в ячейки С 14:С62 . Вычислим значения у для каждого шага, используя среднее значен ие и(х) на интервале между узлами сетки. Начальное значение у равно ну­ лю - это задано rраничным условием в начале интервала определения решения . 18. В ячейке D12 введите О. 19. В ячейке 013 введиТе следуЮщую формулу: =012+(А 13-А 12)*(С12+С13)/2 и скопируйте ее в ячейки 014:062. Нам осталось заполнить таблицу, подытоживающую полученные чис­ ленные результаты и содержащую значение у в точках х = l и х = l/ 2. В эту таблицу также помешается начальное предположение о значении и(О). 20. 21. В ячейке Е8 введите Численное решение . Введите следующие значения в указанных ячейках :
liнii Гnава 11 Ячейка Значение Ячейка Значение Ячейка Значение Е9 u(O) y(l/2) y(I) F9 F10 F11 0.01 G9 G10 G11 д/д Е10 Е11 22. =DЗ7 =D62 дюйм дюйм Выровняйте содержимое ячеек Е9:Е11 по их правому краю. Сделайте формат ячеек и F10 F11 числовым с пятью десятичными цифрами. Для выполнения расчета по построенной таблице введите в ячейку начальное предположение для и(О) . F9 После пересчета листа проверьте, равно ли нулю значение у(() в ячейке f 11 . Если это не так, введите дру­ гое начальное предположение для и(О). Продолжайте изменение началь­ ного предположения до тех пор, пока у(() не станет равным нулю с точ­ ностью до требуемого количества десятичных знаков. Описанную операЦию легко выполнить вручную, и на поиск решения при этом уйдет всего около пяти минут. Однако данный алгоритм реше ­ ния краевых задач есть отличное поле деятельности для применения мо­ дуля поиска решения Excel. Поскольку в построенной таблице имеется всего одна ячейка исходных варьируемых данных и одна ячейка. содер­ жащая критерий оптимальности, модуль поиска решения должен легко справиться с задачей. 23. Выберите команду Сервис~ Поиск решения. В качестве целевой ячей­ ки укажите F11 , в качестве ее целевого значения задайте О, а в поле Изменяя ячейки укажите ячейку 24. Для пои ска реш ения F9. щелкните на кнолке Выполнить. После завершения работы модуля поиска решения таблица должна выглядеть rdк, как показано на рис. 11.7. Сравните данные аналитического решения в ячейках логичными результатами численного расчета в ячейках тите внимание, что хотя граничные FS 018 и и F6 с ана­ F10. Обра­ условия удовлетворяются стью до четырех знаков после запятой, с точно­ во внутренних точках области точными яаляются только три цифры после запятой . Такая потеря точ­ ности присуща самому методу и пропорциональна величине шага сетки , нан есенной на интервал определения решения. Уменьшение шага повы­ шает точность решения до тех лор, пока не становится существенной ошибка округления.
Решенuе обыкновенным дuфференцuаnьныи уравненuu :::'~'1:':Ф~f.1~;,~;~'fl:i;:;:,;:;·i:i€::~'i:::;1,~,':"''·i.-~ч;1i'7;;:,:::;%:,~::f~'fff'~"'i:11ff\~:G"'i'ii:~(;';J;J:;;ii<~;J;~~i · :;~,+ Изrиб ба.nюt; краt1J"'3ад.а ...а; w11од cтpe.ntiб~ ·1·1 :!_ :Амалктнчоокое решенмо · . . l i AIO.n. __ 1'!;<•f1.ар1Мtтf)Ы баа«>1 8-Wf-67 5,583З:J3 :ф>tlAIOMW ; 1: ..... 271,8 , фн• ... . •. ;;{jj;' Е 3,(DЕ-+07 . фН<;/""А·. i_1f:; ·~х iAi!!. 1, .• u(r) , у(•) ,~ ~юйw:~. (~/l~;: о!~: :;;:; дi 2~ ·~5: 0·,43170 ДIO~W 1,15549,ljюйw .Чнс·"1енное ргwе~~е ~ o'fu>l60155 дoOt..ifAIO ... . щ~.'-!1'°"" u1X) х; у y(V2) W ;;§l]i. ii;",; . . ... ,. , y(V2) 1,15-475 11юИ11 yQ} 0,CUµJ.l\IOKM ..' ·" -НЕ-00; 0~1аэi 0 .147325' з; -7 ,ОЕ-<Е О.ООЕlJЗЗ . о.т1за "8 ·9.1 E.QI 0,005937 0 ,291953 )iJ' , ·,~~? .-:-.1' ~J:ii~~~йi"~1:n'$:"'~1.1 ~;ii:xl t ~, Рис. 11.7. Изгиб шарнирно опертой балки под собственным весом ; решение краевой задачи методом стрельбы Метод конечных разностей Другим методом решения задачи об изгибе балки является замена производных, входящих в уравнение, uентральными разностями. Этот метод уже использовался в главе 8 для численного дифференцирования. Пуrем центрирования разностей по узлам сетки можно получить систему уравнений с ленточной структурой, которая должна решаться методами, развитыми для таких систем. Заменим первую и вторую производную следующими выражениями для центральных разностей: du dx d 2u dx 2 и( х + h) - и( х - h) 2h u(x+h)-2u(x)+u(x-h) h2 Если заменить центральной разностью вторую производную в уравне­ нии изгиба балки, получим следующее уравнение: у(х + h)-2y(x)+ y(x-h) =- - т EI Такое ураянение можно записать для всех узлов сетки , кроме двух крайних, в которых значения у задаются граничными условиями. Для решения задачи, записанной в такой форме, на листе электрон­ ной таблицы можно эффективно реализовать три метода: итерационный , итерационный с ускорением сходимости и матричный.
llФI Гnава 11 Итерационный метод конечных разностей Итерационный метод конечных разностей является специфической разновидностью метода последовательных приближений, рассмотренного в главах 9 и 10. Решим этим методом разностный аналог дифференци­ ального уравнения относительно у(х): у(х) = +[y(x+h) + y(x-h) +h';;] Это уравнение будет использоваться во всех внуrренних точках интервала, а на его краях будут также использоваться граничные условия: у(О) =О у({)= о Решим поставлен ную задачу итерационным методом конечных разно­ стей на листе таблицы Excel. П ервая часть таблицы будет выглядеть так же, как в примере с методом стрельбы, поэтому используем то, что у нас уже есть. 1. Скопируйте лист Рис. 11 .7 и дайте ему имя Рис. 11.8. Включим итерационные возможности· таблиц и зададим выполнение Итераций до тех пор, пока погрешность не станет меньше 1Q-6. 2. пересчета и · Вычисления диалогового окна Сервис Включите режим ручного > Предельное число итераций значение погрешность - значение lE-6. 3. на вкладке 1000, а в поле Относительная Введите в ячейке А1 заголовок Изгиб балки; краевая задача; метод ко­ нечных разностей. 4. итерирования Параметры. Введите в поле Очистите ячейки 810:062.
Решенuе обыкновенным дuфференцuаnьнын уравненuu Введем флаг инициализации, который бы переводил таблицу в опре­ деленное начальное состояние. 5. В ячейке АЗ введите Нач. флаг. · 6. В ячейке 83 введите ИСГИНА, а в ячейке СЗ 7. Дайте ячейкам 83 и СЗ имена Нач и Нач_Зв. введите О. Внесем в таблицу разностное уравнение, а также граничные условия в первой и последней ячейках диапазона 812:862. Протестируем флаг ини­ циализации для проверки необходимости перевода задачи в начальное состояние. 8. В ячейке 810 введите у(х) и выровняйте содержимое по центру. 9. В ячейке 81.1 введите (дюйм) и выровняйте по центру. 1О. В 11 . В ячейке В 12 введите О . ячейке 813 введите следующую формулу: =ЕСЛИ(Нач,Нач_Зн,О.5*(814+812+((А 14-А 12)/2)Л2)*W*А13*(L·A13)/(2*E*I))) и скопируйте ее в ячейки 814:861. 12. В ячейке 862 введите О. 13. Сделайте формат ячеек пятой. Очистите ячейки 14. 15. В ячейке F10 E9:G9 812:862 и числовым с пятью знаками после за­ E11:G11. •837. введите формулу Для выполнения расчета по построенной табл ице установите флаг иннциализации (в ячейке 83) равным ИСТИНА и нажмите клавишу <F9> (на Macintosh - <Cmd+=>). После перевода листа в начальное со­ стояние сделайте этот флаг равным ЛОЖЬ и снова нажмите <F9> дr1я запуска итерационного процесса. Процесс пересчета таблицы будет длиться до тех пор , по:ка изменение всех значений на каждом шаге не станет меньше 1О-6; после его завер­ шения в таблице будет отображено полученное решение. Сходимость к решению достигается примерно за 6,5 за считанные секунды на компьютере минут на компьютере 486DX-80. 386SX-20 и Если за первую после- довательность · итераций решение нужной точносrn не получено , снова нажмите клавишу <F9>. После сходимости процесса лист должен выгля­ деть так, как показано на рис. 11.8. Метод конечных разностей с ускоренной сходимостью Если рабочий лист сходится так медленно, как это наблюдается в данной задаче , то ускорение сходимости является жизненно необходи­ мым . Для ускорения итерационного процесса можно использовать мето­ дъ1 рел аксации, которые в предыдушей главе уже применялись для реше­ ния систем уравнений . Перепишем разностные уравнения так , чтобы иметь возможность управлять приращением решения на каждой итера­ 1 ции. Для этого введем в уравнения постоянный множитель с : у(х) = у(х)+ с1[ t(y(x + h) + y(x-h)+ h ' ;!) - у(х)]
111~• Гnава 11 .~,.!':'~;~~~~ШЩi~~~~~?L{~i:ffit, :йЩ~ 1~:~;'"! :.(п~~~} :z:~~=e ~:.;~;~; :~!~\~!T:.ffl~i~~~: ~:l:~~;~~;;?:.1: :~~~.:~~tи~~~:~·!:Ф~t· ~г: :~~ И:1tttб бi.1'1t:М, icpaeaa.1111 :1ад1"Ч1; ·';2i" !~!Hav фnar ЛОЖЬ ~етод коне~~wх р1зносrей о: А"аn"тмчес~ое реше"ие J.:~л:~·"·т:,~-~;~з~~~1юйu ~:: . .:~~~~ .. _.· ;>:.··:. :~.~&~;~-:·" __. · -··· · IJ( _ ~\\ ~;~.;) \!\~~~) . Щi_ :r~Щ __ _ · •: " т,.8;фн• . . . . Е з.ооЕ"от:Фнс/.ад. . 600 ,дюИм 1: ~< t,15549 ~'°"" y(V2)· . ; ,Ч•с11е"""е роwонмв .. . .·.. ; .. J, !5561 ДЮ,Й!о!"." i y(L/2) О· О 00000: ;\~ "1if' ::t~;; 11 ·0:01)91 24 0.14/46: Зб О,220Н !~9ii 48 О Ш21 ' iiri.;:·•.i~~; JW~;1:r~f~.~.1'~:.fi;i Рмс.. ~ • .е :~;:it.•~· :~:a i.!i Рис. ", . :-·.· ·;~+~~:~>~t:~:::i.~ii~\;;:;;~;,;;~i:~:й~;.~ ,_, .=:.,;: t; 11.8. Изгиб балки; решение краевой задачи итерационным методом конечных разностей Внесем необходимые изменения в копию листа. Вначале введем в таблицу коэффициент релаксаuии. 1. 2. 3. 4. 5. Скопируйте лист Рис. 11.8 и назовите его Рис. 11.9. В ячейке А2 введите С релаксацией. В ячейке А9 введите К-т релакс. В ячейке 89 введите При свойте ячейке 1.9. 89 имя Cf. Изменим расчетные разностные формулы так, чтобы в них появился коэффиuиент релаксаuии, контролирующий приращение решения на каждой итерации . Искомое узловое значение, фигурирующее в формуле, ссылается н а ячейку , в которую эта формула помещена, из-за чего созда­ ется циклическая ссылка. С тем же эффектом узловое значение можно поместить и в другой столбеu. 6. В ячейке 813 введите следующую формулу: =ЕСЛИ{ Нач ,Нач_Зн,{О .5*{814+812+{(А14-А12)/2)"2)""№А 1З*(L-А13)/(2*Е*\))­ В13)*Cf+B1 З) и скопируйте ее в ячейки 614:861. Этот лист пересчитывается таким же образом , как и Вначале необходимо сделать зн ачение флага иниuиализаuии предыдущий . (83) равным ИСГИНА и нажать клавишу <F9> (на Macintosh - <Cmd+=> ), а после иниuиализаuии процесса изменить его значение на ЛОЖЬ и снова на­ жать <F9>. Расчет по построенной таблице на компьютере 386SX-20 дает решение за 26 секунд , то есть почти на 1500 процентов быстрее, чем рас­ чет другими методами! Результат расчета показан на рис. 11 .9.
Решенuе обыкновеннын дuфференцuаnьнын уравненuii ··fZifu~µш~f.J~~;mы1~н~~i?.Л~Ш~~ш:ШJ1Щ:D~~1n~~ii;·;.fE;1~rurщ;,:~~~zrnmt~1~#:?:1i(~~oih~t~;.::~~i~tlш;~~!{f;,iffщ~ 5J.ii И•~б _бал...; !!!!~••• >ад.ача; WOTo.<j : ~!С рtлаоссац.t~ j~} Нац. ф~аr: ЛОЖЬ ' · коне"""'' ра_>н~сrе~ · · дн111~тмческо1 pewl!н~e t:: -~~~~м•r~wэ:·~~!~1f ;Jii. ;~; !13': ~it! " i1ti: ijgi · r~ N~~!~ ::щ. 600 дю11w 1- i~~К-т релакс . :;ro0i • 1mi.•.(1\юйм) · · .Чисnенно1 реuпнив 1,9! y(I) . •.. (.!\!Ой") 1, 15586 AIOiiW y(V2) о о, 00000 12 о 07392• 24_· сН Зб О 22039 .t1sa· · 48 1 о:ш28 . ' ~'TTf:Jщ*-~· ~~~p;Jf'1!7. : ~~r· · Рж.11.• Рис. 11.9. Изгиб балки; решение краевой задачи методом конечных разносrей с ускоренной сходимостью . . _ .Примечание ' ' '· Если попытаться еще ускорить сходимость процесса путем увеличения коэффициента релаксации, то метод, наоборот, разойдется . При коэф­ фициенте релаксации, равном 2, узловые значения искомой функции по­ сле нескольких итераций становятся очень большими. следует уменьшить значение коэффициента релаксации - 8 этом случае для задач, ко­ торые расходятся при решении методом конечных разностей с ускорен­ ной сходимостью, следует применять коэффициент· релаксации, меньший · 1 (который в таких задачах иногда называют коэффициентом торможе­ ния) . Матричное решение разностных уравнений Для решения систем линейных уравнений можно применять матрич­ ные функuии Excel. Единственное ограничение, накладываемое при этом на систему, состоит в том, ч:то ее размерность н е должна превышать Вообще говоря, строгих оrранич:ений на размерность матрицы в Excel 60. не предусмотрено ; указанное ч:исло определяется объемом свободной памя­ ти и структурой матрицы. Если Excel не может обратить матрицу из- за ее больших размеров, возвращается значение #VALUEI .(#ЗНАЧ!). Для обращения больших матриц необходимо использовать процедуры Visual Basic или внешние приложения. матриц можно написать на языке ческую можно Н апример , модуль обращения FORTRAN и поместить его в динами­ DLL-библиотеку (ресурс CODE на Maciпtosh). Этот модуль затем зареги стрировать в оболочке Excel и вызывать функцией ВЫЗВАТЬ .
lifj Гnава Для использования средств обращения матриц Excel 11 перепишем раз­ ностное уравнение в матричной форме. Вначале преобразуем исходное разностное уравнение y(x+h)-2y(x)+ y(x-h) т h2 El ----------- = -в следующую форму: у(х + h)-2y(x) + y(x-h) = -h 2 ; 1 Присоединим к уравнению граничные условия: у(О) =у(/)= О Все перечисленные уравнения леrко объединить в одно матричное уравнение: Ах=Ь 1 о о о о Хо ho 1 -2 1 о о Х1 ь1 о 1 -2 1 о Х2 Ъ2 о о 1 -2 1 Х3 Ъз = 1 -2 1 о 1 -2 о о о о 1 хп-2 ьп-2 хп-1 brt-1 хп ьп Здесь введены следующие обозначения: Ь0 = Ьп =О Ь = -h 2 т; ' El т. 1 i = 1,2,3,··· n- l =wx -2-1. ( 1-х. ) После 1 преобразования сравнительно несл.ожным - уравнения его решение становится делом остается всего лишь обратить матрицу урав­ нения и умножить обратную матрицу на вектор правой части. Решим эту
Решенuе обыкновенныи дuфференцuаnьныи уравненuu задачу на листе электронной таблицы. Воспользуемся копией таблицы из предъщущеrо примера, поскольку она содержит нужную нам "шапку". 1. Скопируйте лист Рис. 11.9 и назовите его Рис. 11.1 О. 2. Включите режим пересчета Вручную на вкладке Вычисления диалого­ вого окна Сервис )о-- Параметры. 3. 4. В ячейке А2 введите Матричвwй метод. Очистите ячейки В12: В62. S. В ячейке С 1О введите Ь и выровняйте строку по центру. Выделим и обозн ачим в таблице место ш~я вектора решения . Введем в таблицу вектор правой части , содержащий в числе прочих компонентов граничные условия. 6. 7. В ячейке С12 введите О. В ячейке С13 введите следующую формулу: =-{(А 13-А 12)л2*W*А1З*(L-А13)/(2*E*I)) 8. 9. и скопируйте ее в ячейки С14:С61. В ячейке С62 введите О. Присвойте ячейкам С12 : С62 имя В . Выделим и обозначим в таблице местонахождение матрицы А и об­ ратной к ней матрицы А-•. 10. В ячейке .011 введите заголовок А и выровняйте ero 11 . Выделите ячейки D12:ВВ62, дайте этому диапазону по центру. нмя А и обведите его контуром . 12. В ячейке D65 введите заголовок АОБР и выровняйте его по центру. 13. Выделите ячейки D66:BB116, дайте этому диапазону имя АОБР и об­ ведите его контуром . Исходиая матрица будет содержать в основном нули, только на диа­ гонали и рядом с ней будут стоять единицы и двойки. Поскольку вам, очевидно, не захочется набирать 2601 число вручную, напишите ш~я за­ полнения матрицы программу на языке Visual Basic. 14. Откройте лист нового модуля и назовите его MakeMat. 15. Введите в модуль следующую программ у: ' Заполнение матрицы ' Процедура залолнения ленточной матриць1 конечно-~ностного уравнения . Sub MakeМЗtrix() Dim intl As lnteger Const numRows 51 = 'Заполнение матрицы нулями RangeC'A").Select Selection.Formula = "О" 'Внесение первого граничноrо усповия 'в верхний левый угол матриць1 RangeC'A").Cells(1. 1).Select ActiveCell.Formula = " 1" 'Заполнение внутренних элементов матрицы в цикnе For intl = 2 То numRows - 1
1111 Гnава 11 Range(''A").Cells(intl. intl).Select ActiveCell.Formula =·"-2" Range("A'1.Cells(intl, intl + 1).Select ActiveCell.Formula "1" Range("A").Cells(intl, intl - 1).Select ActiveCell.Formula "1" Next intl = = 'Внесение второго граничного условия 'в нижний nравый угол матрицы Range("A").Cells(numRows. numRows).Select ActiveCell.Formula "1" End Sub = Приведенная. nроцедура вначале вьщеляет всю матрицу и заполняет ее нулями: Range('A").Select Selection.Formula ="О" После этого программа помещает в верхний левый угол матрицы гра­ ничное ус;rовие . Метод Range("A") возвращает координаты ячеек с име­ Cells(1,1) возвращает номер яqейки, находящейся в пер­ первом столбце матрицы . Метод Select вьщеляет ячейку, ак­ нем А, а метод вой строке и тивизируя ее. Оператор ActiveCell . Foпnula вставляет в выбранную ячейку значение 1. Range("A").Cells(1, 1).Select ActiveCell.Formula "1" = В следующем блоке программы выполняется цикл с перебором по строкам (или столбцам), на каждом шаге которого по диагонали в матрицу вносятся три значения. For intl = 2 То numRows -1 Range(''A").Cells(intl, intl).Select ActiveCell.Formula "-2" Range("A").Cells(intl. intl + 1).Select ActiveCell.Formula "1" Range("A").Cells(intl, intl - 1).Select ActiveCelf.Formula "1" Next intl = = = В последнем блоке в нижний правый угол матрицы вносится второе граничное условие; это проделывается точно так же, как и с первым гра­ ничным условием. Range(''A").Cells(numRows, numRows).Select ActiveCell.Formula "1" = Вставим в лист кнопку и ассоциируем ее с процедурой 16. Активизируйте лист Рис. 11 .1О. MakeMatrix. Отобразите панель элементов управления , включив в меню Вид Панели инструментов переключатель Элементы управ· 17. >- ления, затем щелкните на кнопке Кнопка и нарисуйте на листе кнопку. 18. После появления диалогового окна Назначить макрос объекту выбери­ те процедуру MakeMatrix и шелкните на кнопке ОК.
Решенuе обыкновеннын дuфференцuальныи уравненuu 19. Выделите 20. надпись на кнопке и измените ее на Заполнить. Закройте панель элементов управления. 21. Щелкните в любом месте листа для снятия выделения с кнопки, а за­ тем щелкните на кнопке для выполнения процедуры. Обратим матрицу в ячейках диапазона АОБР. списка Имя выберите АОБР, или выберите команду Правка ~ Перейти и в списке переменных щелкните на АОБР. 22. Из 23. В верхней левой ячейке выделенного фрагмента введите =МОБР{д) и нажмите клавиши <Ctrl+Shift+Enter> (на формулу Maci11tosh - кла­ виши <Cmd+Eпter>) для вставки обратной матрицы в выделенный фрагмент. Для обращения матрицы может потребоваться несколько минут, если оно выполняется на компьютере старой модели. Более современные компьютеры проделывают это за несколько секунд. Если в результате вычислений возвращаются не числовые значения, а #VALUE! (#ЗНАЧ!), это означает, что в матрице что-то набрано неправильно или превышен максимально допустимый в Excel размер матрицы. В последнем случае единственным выходом является уменьшение размерности матрицы, что достигается путем разрежения сетки, то есть уменьшения общего количе­ ства ее узлов за счет увеличения промежутков между ними. 4' Предупреждение Разрежение сетки приводит к уменьшению точности приближенного ре­ шения. Умножим обратную матрицу на вектор Ь в ячейках С12:С62 и помес­ 812:862. Это и будет вектор искомого решения. 812:862. В верхней ячейке выделенного диапазона тим результат в ячейки 24. Выделите введите ячейки формулу <Ctrl+Shift+Enter> (на =МУМНОЖ(Аобр,В) Macintosh - клавиши результирующего вектора в диапазон. 25. Нажмите клавишу <F9> для пересчета листа. и НаfКМИТе <Cmd+Enter>) клавиши для вставки
llA Гnава 11 После проделанных операций лист должен выглядеть так, как на рис. 11.1 О. Для расчета по этому листу внесите любые желаемые измене­ ния в исходные данные и нажмите клавиши клавиши intosh - <F9> или <Ctrl+=> (на Mac- для пересчета матрицы. После завершения <Cmd+=>) расчета результаты будут отображены в столбце В. ~~~ ~~л.?-'; ~а~•~.~ ~1дач1; ~~~ m~·~~~ Р~3~~~~~ .. ~~ач.фnаr ЛОЖЬ ·] o;Jf Акали,.,,ческое решение П~Р•"•Т!)ы баl'ки 8W .l;1 w 5, 583333 ф1/дt0йw у . ~;:К-т pena~~ З,ОDЕ~~~·:~~u<ад y(v]j ЧИсnе"ное реwекие • у(х) ;1!)::; y(l/2): 1.1$536 д10iiu _ _ _ _ _ _ _ _ _ _ _ _ __ (дюйu) 0,00000 48 Рис. _..;.А;..._ о о.оiЭ92 ,(1,О6оз5 1 .1 0.14750 .O,oQ068 о.22озg; ./J,001 0,29228 .(),00131 · .~;1{,s''~tfi;,r, h 72 дюtiw О. 43170 дюi!u 1,15549 дюiiu •· :i71,8iдЮй"4 1 ,~t ·ш~~~1 о о о о Q -2 1 1 о о о -2 1 о о i•1x«· :flit:ii:i """- i1.1a .• -2 j' ;· f, ~­ 11.10. Изгиб балки- решение краевой задачи методом конечнь1х разностей ...... Примечание Если в этот момент снова включить режим автоматического пересчета, появится диалоговое окно с сообщением о невозможности пересчета таблиц из-за наличия .циклических ссылок. Эти ссылки находятся не в рассматDиваемом листе, поэтомv не стоит беспокоиться. Учет граничных условий более высокого порядка Дифференциальная задача, которая только что рассматривалась, со­ держала граничные условия типа Дирихле, но с тем же успехом она мог­ ла бы содержать и условия типа Неймана, а также смешанные граничные условия . ...... ПDимечание В граничных условиях типа Дирихле на границе области задаютСя зна­ чения искомой функции. В· rраничных условиях типа Неймана на границе задаются производ­ ные искомой функции. В смешанных граничных условиях на одном конце интервала задаются vсловия Пиоихле, а на другом - условия Неймана.
Решенuе обыкновеннын дuфференцuаnьныи уравненuu Для корректного учета гранич:ных условий типа Неймана необходимо добавить к граниuе дополнительную точку сетки, расположив ее вовне от точки границы с заданной производной. Для учета заданного значения производной следует составить центральную разность с использованием этой дополнительной точки. Например, если бы в предыдущей задач:е вместо условия у(О)=О было задано условие у'(О)=О.00616015, пришлось бы добавить в сетку дополнительную точку х тральную разность первого порядка в точ:ке х = -h, = затем составить цен­ О и приравнять ее числу 0.00616015: (}~h) - }~-h)) (2h)-1 = 0.00616015 Решите это уравнение относительно y(-h) и используйте его для оп­ ределения знач:ения функции в дополнительной точ:ке сетки. В точке границы следует использовать такое же разностное уравнение, как и во внутренних точках сетки. Граничные условия с производными более вы­ сокого человека учитываются таким же образом - путем замены произ­ водной соответствуюшей конечной разностью. Можно также исключить y(_-h) из приведенного выше уравнения с помощью уравнения в гранич­ ной точ:ке, и таким образом избавиться от необходимости явного введе­ ния дополнительной точки границы. Граничные условия типа Неймана Следует помнить, что задачи с граничными условиями типа Неймана на обоих концах интервала могут не иметь единственного решения. Это происходит, например, в том случае, если добавление к искомой функ­ ции произвольной константы не меняет вида дифференциального урав­ нения, что возможно тогда, когда в уравнение входят только ее произ­ водные. Задача об изгибе балки обладает именно таким свойством. Если доба­ вить к функции у(х) произвольную постоянную у0 , дифференциальное уравнение от этого не изменится, потому что производная от Уо равна нулю. Если не задать в некоторой точке граничное условие типа Дирих­ ле, искомую функцию нельзя будет определить однозначно, поскольку любая функция, отличающаяся от нее на константу, также будет реше­ нием поставленной задачи. По физическому смыслу это соответствует подъему или опусканию балки как целого на некоторую высоту, что не отражается на ее упругой деформации - балка изгибается одинаково как в подвале, так и на крыше. Резюме В этой главе рассмотрена методика применения электронных таблиц для численного решения обыкновенных дифференциальных уравнений. Для решения задач Коши на листе электронной таблицы могут приме-
111:1 Гnава 11 няться метод рядов Тейлора, метод Эйлера и модифицwрованный метод Эйлера, а также методы Рунге-Кугrа. Все эти методы обладают различ­ ной степенью точности и трудности в реализации. Краевые задачи для обыкновенных дифференциальных уравнений могуг решаться методом стрельбы, в котором на одном конце интервала перебираются значения недостающих граничных условий до тех пор, по­ ка не будут удовлетворены граничные условия на другом конце. Краевые задачи могуг также решаться методом конечных разностей; их конечно­ разностные аналоги можно решать итерационными или матричными ме­ тодами. Модуль поиска решения Excel изначально не предназначен и не слишком хорошо приспособлен для решения систем, состоящих из не­ скольких десятков уравнений, однако при тщательной подготовке задачи она может быть решена точно так же, как системы уравнений из преды­ дущей главы. Для систем большой размерности итерационные методы работают гораздо быстрее, чем модуль поиска решения. Естественно, каждый из перечисленных методов можно реализовать в виде программы на языке Visual Basic с использованием общеизвестных в программировании алгоритмов. Однако, как это вообше бывает с про­ граммами такого рода, в результате ее выполнения будет отображаться только конечный результат, но не промежуточные значения, как в элек­ тронных таблицах. Вычисления, выполняемые в программах, вообще не столь наглядны, как вычисления в электронных таблицах. Дополнительная литература Изгиб и растяжение-сжатие элементоа конструкций S.Timoshenko, D.H.Young, Eleтents of Strength of Materia/s, York D. Vап Nostrand Со., 1968). 5th ed. (New (Имеется перевод 3-го издания: СП.Тимошенко. Сопротивление ма­ териалов. Пер. с англ. В.И.Федорова с 3-го амер.изд-я. Изд-е 2-е, стерео­ типное. М.: "Наука", 1965. Т.1 - Элементарная теория и задачи, 363 с.) Численнь1е матоды решения дифференциальных ураанений C.Gerald, App/ied Nuтerica/ Ana/ysis, 2nd ed. (Reading, Mass.: AddisonWesley, 1978). W.H.Press, B.P.Flanпery, S.A.Teukolsky, W.Т.Vetterling, Nuтerica/· Recipes; The Art of Scientific Coтputing (Cambridge, UK: Cambridge University Press, 1986). Бахвалов Н.С., Численные методы (анализ, алгебра, обыкновенные диф­ ференциальные уравнения), М.: Наука, 1973. Самарский А.А., Гулин АВ. Численные методы. М.: Наука, 1989, 430 с.
Решенuе обыкновенным дuфференцuаnьнын уравненuu Обзорные задачи 1. Заряд (q) конденсатора с емкостью С, который заряжается батареей (V), последовательно соединенной с резистором (R), описывается сле­ дующим уравнением: dq v q - = - - -dt R RC Решите это уравнение методами рядов Тейлора, Эйлера и модифици­ рованным мет,одом Эйлера при заданных значениях R=lOOO Ом, e=10-s Ф, V=10 В и начальном условии q=O (Г-0) на интервале О ::;:; t cv( q; 2. $ 5х 1О-2 с. Сравните результат с аналитическим решением: 1- .-(;с) J Решите задачу 1 для разряжаемого конденсатора методом Рунге- Кутта V=O (Г-0), q=J0- 4 Кл (=CV). Сравните резуль­ при начальном условии тат с аналитическим решением: q 3. = CVe -(ic) Индуктивный колебательный контур описывается следующим диффе­ ренциальным уравнением: L d2 q + R dq + !1_ = dt 2 dt с О Здесь L=l0-2 Гн, С=ЗхlО-6 Ф, R=20 Ом. Заданы начальные условия q=J0-5 Кл , dq/dt-=:-0.01 Кл/с (Г-0). Решить данное уравнение на ин­ тервале О$ t $ 4x l0-3 с модифицированным методом Эйлера. 4. Колебания простейшего гарм онического осuиллятора описываются следуюшим уравнением: d 2x dt 2 2 --=-(Ох Заданы начальные условия х=О, ние при ro=6 на интервале О $ dx/dt= I (Г-0). Решить данное уравне­ t $ 3 с модифиuированным методом Эйлера. 5. Дифференциальное уравнение упругой линии равн омерно нагружен­ ной консольной балки выглядит следующим образом : 2 2 d y dx 2 wx 2El Длина балки равна L, а координата х отсчитывается от свободного конuа балки. Заданы начальные условия у = О и dy/dx = О (х = L) и
мщ~• Гnава 11 следующие параметры балки: Е=ЗхlО6 фнс/:кв. дюйм, /=271.8 дюйм4, w=lOO фн/дюйм, L=lO футов (=120 дюймов). Решить поставленную L и сравнить результаты с задачу методом Эйлера на интервале О :S х :s; аналитическим решением: у=;(~:- L:x + ~·J 6. Темп прироста колонии бактерий описывается следующим диФФе­ ренциальным уравнением : dn =kn dt Здесь п - количество бактерий, а k - коэффициент прироста. Опре­ делить k методом стрельбы при условиях n=l04 (t=O) и п=4х104 (t=lO 7. с) . Решите следующее дифференuиальное уравнение методом стрельбы на интервале О :S х :S при краевых условиях у(О)=З и у(1)=7. 49: 1 2 d y dy dx1 + dx -6у=О 8. Решите следующее дифференuиальное уравнение методом стрельбы на интервале О::; х :S 2 d dx 1 при краевых условиях у(О)=2 и у(1)=5.288: d dx х-----2:.2 - 2 + 4х 3 у= D Сравните результат с аналитическим решением: 2 2 у= 5sin(x ) 2 cos(x ) + 9. Решите· следующее дифференциальное уравнение методом конечных разностей на интервале и у(О.5)=9.1: 2 -0.5 :S х :S 0.5 при краевых условиях у(-0.5)= 60.703 d y dx dy dx -+2--18у=О 2 10. Дифференuиальное уравнение упруrой линии балки, закрепленной на обоих конuах и нагруженной сосредоточенной силой в середине, вы­ глядит следующим · образом : 1) d y _ wL (х 3) dx 2EI L - 4 d y _ wL (х dx 2 - 2EI L - 4 2 О <х <L /2 2 2 - L/2<x<L
Решенuе обыкновеннын дuфференцuа11ьнын уравненuu Здесь L - /=271.8 длина балки, у=О при х=О и x=L; E=30xl06 фнс/кв.дюйм, дюйм4, w=lOO фн, уравнение относительно у L=200 футов (=2400 дюймов). Решите это на интервале О s; х s; L методом конечных разностей. Сравните численное решение с аналитическим: у= ; :1 ( х: -;~) О <х < L/2 Упражнения 1. Напряжение в uепи, состоящей из последовательно соединенных ка­ тушки индуктивности и заряженного конденсатора, описывается сле­ дующим дифференuиальным уравнением: 2 V +LCd V 2 dt =О Методом рядов Тейлора определить напряжение на конденсаторе в 2. течение первых десяти микросекунд при C=l мкФ, L=lO мкГн и Vo=50 В. Решить задачу 1 методом Эйлера и модифиuированным методом Эй­ лера. 3. Движение снаряда, вылетевшего из орудия с начальной скоростью vo под углом к горизонту а описывается сJiедующим уравнением: dv -=-gk dt Здесь k- вертикальный орт. Если пренебречь сопротивлением возду­ ха, это уравнение второго порядка можно свести к двум уравнениям первого порядка, одно из которых описывает вертикальную скорость, а другое - горизонтальную. Уравнение для вертикальной скорости: dvv -=-g dt Уравнение для горизонтальной скорости: dv" =О dt Скорость горизонтального смещения постоянна: vh = Vo Cos(a), тогда как в вертикальном направлении под действием силы тяжести снаряд вначале летит вверх, затем останавливается и падает вниз. Методом стрельбы найти а и определить время, в течение которого снаряд на­ ходится в воздухе, если v0=500 мjс, g=9.8 мjс2, а дальность полета
ltlj Гnава снаряда составляет 22300 11 м . Сравните полученные результаты с ана­ литическим решением: 2 Va sin(a) g Va2 sin(2a) Range=----g t=----- 4. Выполните упражнение 2 с использованием метода конечных разно­ стей. 5. Движение центра параллелепипеда, съезжающего по наклонной плос­ кости под углом а к rоризонту, с учетом трения описывается следую­ щим уравнением: 2 d x dt 2 = g(sin(a)- µcos(a)) Здесь µ - коэффициент трения, а g- ускорение свободного падения. Рассчитать и начертить график координаты на промежутке 10 с при следующих условиях: g=9.8 м/с2, µ=О.6, а=55о, хо=О, х' 0 =О. Свести задачу 6. к двум дифференциальным уравнениям первого порядка и применить метод Рунrе-Кутrа . Итерационным методом конечных разностей определить у(х) из сле­ дующеrо дифференциального уравнения на интервале от О до 1 при условиях у(О)=5 и у(1)=8. d 2y -3 dy dx 2 dx 7. +2у= ех Выполнить упражнение матричного аппарата 8. Решить уравнение 6 с Excel. из использованием конечных разностей и задачи 6 с граничными условиями у(О)=О, y'(l)=O. 9. Снова решите уравнение из задачи 6, но на этот раз с граничными условиями у'(О)=5, y'(l)=-5. Обратите внимание на бесконечное воз­ растание и расходимость решения при граничных условия.х типа Неймана. Зафиксируйте значение искомой функции на левом конце, сделав его равным нулю, но оставив ненулевую производную на пра­ вом конце, и получите сходящееся решение. 1О. Методом конечных разностей решите следующее уравнение на интер­ вале от х=О до х=6 при заданных граничных условиях у(О)=О и у'(6)=25. d 2y dx dy dx . --2-=sш(х) 2
Гпава 12 Реwение дифференциа11ьных уравнений в частных производных В э'ГОЙ таае... ./ Решение эппиптических уравнений ./ Решение nарабоnических уравнений ./ Решение rиnербопических уравнений ./ Решение уравнений nannaca и Пуассона ./ Решение вапновоrо уравнения Дифференциальные уравнения в частных производных - это, по­ видимому, наиболее распространенный аппарат математического моде­ лирования физических процессов. За исключением таких простейших процессов, как скольжение параллелепи педа по наклонной плоскости . описываемое простым аналитическим выражением, мя адекватного опи­ сания большинства процессов необходимо применять дифференuиаль­ ные уравнения. Например , уже при учете сил трения и сопротивления воздуха в уравнение движения параллелепипеда необходимо добавить дифференциальные члены. Во мноrих случаях по причине независимости пространственных и временных координат вместо обыкновенных диффе­ ренциальных уравнений используются уравнения в частных производ­ ных. Как и обыкновенные дифференциальные уравнения, уравнения в ча­ стных производных обычно не имеют аналитических решений, или же эти решения очень трудно отыскать. Поэтому, как и в случае обыкно­ венных дифференциальных уравнений, мя решения уравнений в част­ ных производных чаше всего применяются численные методы. Во многих важных задачах науки и техники процессы описываются главным образом дифференциальными уравнениями в частных произ­ водных. Более того , если непрерывный процесс зависит от нескольких независимых переменных , этот процесс обязательно должен описываться такими уравнениями. Для дважды непрерывно дифференцируемой функции и, зависящей от двух независимых пере менных х, у, можно записать пять частных производных : различных
it4• Гnава 2 2 2 аи д и ди д и д u ------дх' дх 2 ' ду' ду 2 12 ' дхду Из них можно составить следующее общее линейное уравнение в частных производных: д2и Сд2и Dдu Еди F А -д2и+ В --+ - + -+ -+ дх 2 дхду ду 2 Каждый из коэффициентов дх А - F О ду также может представлять собой функцию двух независимых переменных х, у. Различие между обыкновенными дифференциальными уравнениями и уравнениями в частных производных Различие между этими двумя классами дифференциальных уравнений состоит оrnюдь не в употреблении символов d или д для обозначения производных. В обыкновенное дифференциальное уравнение входит одна независимая переменная , функции этой переменной и производные функций по ней же. Так, следующее уравнение содержит независимую переменную х, функции этой переменной и(х) и Зх, а также первую и вторую производные неизвестной функции по независимой переменной . Оно является обыкновенным, несмотря на символ частной производной: 2 д и - дх 2 дu +4-+2u+3x=O дх В дифференциальное уравнение в частных производных входит две или более независимые переменные, функции этих переменных и част­ ные производные функций по этим переменным . Например, следующее уравнение содержит две независимые переменные (х и у), функции неза­ висимых переменных (и(х, у) и Зх+Sу), а также частные производные по одной или обеим независимым переменным: ди(х, у) дх + з"д 2и(х, у) д2и(х, у) + 2 . дхду ду ( +и х,у ) + 3 х + 5 у= о Классификация типов уравнений в частных производных Линейные дифференциальные уравнения в частных производных вто­ рого порядка подразделяются на три типа: эллиптические , параболиче­ ские и гиперболические уравнения. Тип уравнения определяется соот-
Решенuе дuф. уравненuй в частн1t1н nроuзводнын ношениями между коэффициентами при вторых производных искомой функции. Например, для уравнений с двумя независимыми переменны­ ми тип определяется следующими условиями на знак дискриминанта: • • • эллиптический: IJ2 параболический: IJ2 гиперболический: IJ2 Поскольку коэффициенты 4АС <О; 4А С = О; 4А С > О. сами являются функциями независимых переменных, в разных точках области определения искомой функции уравнения могуr иметь различный тип. Решение эллиптических уравнений Уравнения в частных производных эллиптического типа обычно воз­ никают в задачах о равновесии тел или балансе физических величин. Другими словами, решение эллиптического уравнения обычно описывает стационарное состояние некоторого физического поля, например, кон­ центрации, плотности или потенциала. Хорошо известными примерами эллиптических уравнений являются уравнения Лапласа и Пуассона. Оба эти уравнения возникают в самых разных разделах физики; особенно ве­ лика их роль в электростатике и теории теплопроводности. В обоих уравнениях коэффициент при смешанной производной (В) равен нулю, что делает дискриминант IJ2 - 4АС строго отрицательным (при условии, что А и С одновременно положительны или отрицательны). Эллиптические уравнения решаются конечно-разносrnыми методами, близкими к итерационным методам решения обыкновенных дифферен­ циальных уравнений, с той лишь разницей, что приходится иметь дело с двумерным полем физической величины. Уравнения Лапласа и Пуассона Эти уравнения обычно используются для расчета скалярных полей. Так, стационарный электрический потенциал описывается следующим уравнением Пуассона: V'2Ф = -qE.. Е Здесь q обозначает заряд электрона, р - плотность распределенных зарядов, а с - проводимость. Обратите внимание на употребление диф­ ференциального оператора Гамильтона: .д .д kд V'=l-+J-+ дх Здесь i, j ду и осей Ох, Оу и дz k - единичные векторы в направлениях координатных Oz. Таково определение этого оператора в трехмерных де­ картовых координатах. В других координатных системах данный опера-
Гnава 12 тор имеет другое выражение. Квадрат оператора Гамильтона является символическим скалярным произведением оператора на самого себя: а2 а2 а2 v2 = V · Vax2= -ду2 +-+дz2 Если распределенный в пространстве заряд отсуrствует, уравнение Пуассона сводится к уравнению Лапласа: \7 Ф =О 2 потенциал между двумя концентрическими цилиндрами Рассмотрим два длинных концентрических проводника цилиндриче­ ской формы с радиусами а и Ь, находящиеся в вакууме, как показано на рис. 12.1. Если на проводники подать напряжение, потенциал между ни­ ми будет описываться двумерным уравнением Лапласа. Рис. 12.1. Концентрические электропроводящие_ цилиндРы в вакууме Внешний проводник заземлен (находится под напряжением О В), то­ гда как на внутренний подается напряжение составляет 5 см, а наружный радиус Ь - 20 В . Внутренний . радиус а 15 см. Для расчета потенuиала между проводниками воспользуемся дв)тмерным уравнением Лапласа. Двумерная расчетная область допустима вследствие бесконечной длины цилиндров, из-за которой изменение потенциала вдоль их общей оси пренебрежимо мало: V2Ф = д2Ф + д2Ф =О дх2 ду2 Эта задача допускает аналитическое решение, которое понадобится нам для проверки результатов численного расчета. В терминах расстоя-
Решенuе дuф. уравненuu в частнын проuзводнын ния r от оси цилиндра аналитическое выражение для потенциала имеет следующий вид: ф r = ф ь ln(r /а)- фа ln(r / ь) ln(Ь/ а)· ( ) Для решения этой задачи в электронной таблице следует вначале за­ менить в уравнении производные на центральные ванные относительно точки сетки с индексами разности, центриро­ (iJ). Шаг сетки h предпо­ лагается одинаковым в обоих координатных направлениях. Ф.1+ 1 ,j.-2Ф 1,) .. +Ф 1 . Ф" 1 -- - - - - - -/--.)+ 1.j+ h2 -2Ф 1,J .. +Ф 1,;.. 1 h2 = о Решим это уравнение относительно потенциала Фу в узле (iJ): ф i,j ={ t )( ф i+l,j + ф i-1,j + ф i,j+I + ф i,;-1) Это выражение означает, что потенциал в произвольной точке ~шля­ ется средним арифметическим значений потенциалов в 1.Jетырех окру­ жающих точках. При решении задачи на листе электронной таблицы rрани'-!нЫе зна­ чения искомой функции будут определяться из граничных условий, а внутренние - из полученного разностного уравнения. По сути, в данной задаче достаточно выполнить расчет только попе­ речного сечения цилиндров, поскольку решение осесимметрично и не меняется вдоль оси. Поэтому в качестве рабочей области выберем сектор поперечного сечения цилиндра с углом раствора 900; для каких-либо других областей труднее задать геометрию и граничные условия. На внешнем цилиндре потенциал равен нулю, на внутреннем 20. На радиу­ сах сектора зададим граничные условия в виде равенства нулю нормаль­ ной производной потенциала. 1. Создайте новый лист и присвойте ему имя Рис. 2. Сделайте ширину столбцов / • A:R равной 2.43, 12.2. а столбцов S:T - равной 9. Экспресс-метод Для того, чтобы сделать ширину сразу нескольких столбцов равной од­ ному и тому же значению, выделите все столбцы, последовательно щелкнув на них и удерживая клавишу <Shift>, а затем измените Ширину одного из столбцов. Все остальные столбцы автоматически подстроятся под новую ширину. Таким же способом можно сделать высоту нескольких строк равной одной и той же величине. 3. 4. Сделайте высоту строк 3:20 равной 11.25. Выделите ячейки А 1 :Т20 и сделайте высоту шрифта равной на вкладке Шрифт, выбрав команду Формат >- Ячейки. 8 пунктам
it4:1 5. Гnава Выберите команду >- Сервис Параметры и откройте 12 вкладку Вычиспения; включите режим пересчета Вручную, поставьте отметку на переключатель итераций значение 6. Итерации 100. и введите в поле Предельное чиспо Щелкните на кнопке ОК. В ячейке А 1 введите заголовок Задача для ур3J1нення Лапласа в облас­ ти между цилиндрами; эллиптические ДУЧП. Введем метки для обозначения координатнь~х осей, а также столбцов и строк граничных условий. 7. Введите в указанные ячейки приведенные ниже заголовки; выровняй­ те содержимое ячеек А6 , А7 и Вб no центру. Slчейка Содержимое Ячейка Содержимое Аб Гр. вз А7 усл. Вб у С4 С5 Аналит. Гр.у . х Построим таблицу, содержащую значения потенциала на внешнем и внутреннем цилиндрах. 8. 9. В ячейке S9 введите заголовок Приложенные l}отеициалы. Выделите ячейки 59 и Т9, а затем щелкните на кнопке Объединить и поместить в центре . 10. В указанных ячейках введите приведенные ниже значения и выров­ няйте их по центру ячеек. Ячейка Содержимое Ячейка S10 S11 Внутренний Т10 20 Внешний Т11 о 11. Присвойте ячейкам Содержимое Т1 О и Т11 имена Внутр и Внеш. Введем в таблицу внутренние и внешние граничные условия, то есть условия вдоль поверхностей внутреннего и внешнего проводников . Для определения ячеек, попадающих на границу, можно начертить две кон-
Решенuе дuф. уравненuu в частнык проuзводнык центрические окружности, изображающие цилиндры, на миллиметровой или разграфленной бумаге. Предполагается, что любая ячейка, которой касается граниuа, является граничной ячейкой. 12. Введите 13. или скопируйте формулу =Внеш в следующие ячейки: Р9:Р12, 013, N14:N15, М16, L17, J18:K18, G19:119 и A20:F20. Введите или скопируйте формулу =Внутр в следующие ячейЮ1: F8, F9 и 04:08, G4:G7, A10:D10. Граничное условие вдоль радиусов сектора заключается в равенстве нулю нормальной производной. Для внесения :этого условия в таблицу необходимо добавить дополнительный ряд ячеек вне границы и устано­ вить их значения равными ближайшему внутреннему ряду ячеек. В ре­ зультате на самой границе (в ячейках Н5:Р5 и 811 :819) производная, точнее, центральная разность, окажется равной нулю. 14. В ячейке Н4 введите формулу =Н6 и скопируйте ее в ячейки 14:Р4. 15. В ячейке А11 введите формулу =С11 и скопируйте ее в ячейки А12:А19. Заполним внутреннюю область между двумя цилиндрами конечно­ разностными аналогами исходного дифференциального уравнения. Для этого введем уравнение в ячейку HS и скопируем его .во все ячейки Н5:Р5. Затем скопируем строку из ячеек Н5:Р5 в ячейки Н6:Р7. Последо­ вательно копируя ячейки целыми блоками, заполним всю область между ячейками граничных условий. 16. В ячейке HS введите формулу =0.25*(G5+H4+15+H6). 17. Скопируйте содержимое ячейки HS в следующие диапазоны ячеек: Н5:Р5 Е10:010 В15:М15 Нб:Рб Н7:Р7 811:011 812:012 817:К17 G8:P8 F9:09 В1З:N13 В14:М14 818:118 B19:F19 B16:L16 Для сравнения расположим вдоль верхней границы значения анали­ тического решения. Поскольку для их вычисления необходимы значения радиуса, введем их в отдельной строке сразу под таблицей. 18. В ячейках G22 и Н22 введите значения 5 и 6 соответственно; вьщели­ те ячейки G22:H22 и перетащите маркер заполнения в ячейку 022. 19. В ячейке GЗ введите следующую формулу: =(Bнeш*LN(G22/5)-Bнyтp*LN(G22/15))/LN(15/5) и скопируйте ее в ячейки НЗ:QЗ. ::Ю. Активизируйте панель инструментов рисования, щелкнув на кнопке Рисование стандартной панели инструментов. С использованием кнопки Вид стрелки нарисуйте стрелки, как показано на рис. 12.2. 21. Вьщелите все стрелки с помощью мыши и клавиши <Shift>, а затем выберите команду Формат )о- Автофигура и откройте вкладку Цвета и линии; уменьшите наконечники уменьшения дпины и толщины. стрелок путем одновременного
Гnава 22. Выполните Macintosh - 12 пересчет листа нажатием клавиш <F9> или <Ctrl+=> (на клавиши <Cmd+=>). После нескольких минуr работы Excel прекратит вычисления, и на листе появится таблица значений искомой функции (рис. 12.2). Для по­ лучения удовлетворительной сходимости может потребоваться несколько нажатий клавиши <F9>. На рис . 12.3 приведено сравнение аналитиче­ ского решения в ячейках GЗ : QЗ с численным решением на границе в ячейках Кривые на этом рисунке практически совпадают. Неко­ G4:04. торое расхождение объясняется погрешностью', внесенной путем замены производных разностями. При уменьшении значения h погрешность численного решения также снизится. ,....;,..,, __:_.._;. : 20 : 17: Н. 11 . .~;;_· :_' ~:t :~: :·i} :: ·:г:: :j i:"-t: ( 1 1: 1! 4: ) · _, - · ii( 17' i< 12· io" . - : 20 : 11: 1.4 11 8 1; 1 ' . :· : . 28• 18· 11 t ) 11 ' , , 5 : . : ' ·~ • : :ю: 11: 11· 1•· 12 10 • 1 s s· , " ~пi:Ja_ jo; ;~·ч ,~; ;i; ;1·· ·· ·гг i. •.: i • .1.7 .w.~ 7 ~-~ - ~.1 ! ..!~: Н; 12 . '1 • . ~- i ·1: 1 1• •• 1• " , t ) ' 12: " 1: ·, 1· 1 ".4:· 1:· и'li\.')<;o. ~ !~~ --!•i 1 2: 12 12 12 11 i 11. 10 ' 10 10 10 1 g : • ' .J 1 • Гi .. •. •' 1 1 ,, 5 1 • • ) , , 2; , , 2' 1 ! о 1: ( о 1 "Г 1. О :, : j , 1:· ~ 2: 1· о 1: ~- i 2: •' 1 о о· 4· 4 3· i" 7' 1 i 5 ;. . i" 2 s & ;. 1' з ( j . i' о. 2 2 1 э 2: 1' 2 1 1 • · о· 1 о о о" " ~ а: 7"{ ·o·"io- i'1t 12: 1 з 1• •' ~( .. 1 . внrтР"":".11 " "" ". 2.0• .!ittouнt1. .:. .. ". . ..о: 1 · .., ' 1 >· ""'"""'"'о:- ~·......­ ,, ~­ , 1 " Jj; ' : .":", 1~ :iJ ~:"'"•~·· '"" .- . Рис. 12.2. Потенциал между двумя концентриЧескими цилиндрами : решение двумерного эллиптического уравнения в частных производных
Решение дuф. равненuu в частнык проuзводнык "w_"'"'••1 ...•••.. ,."...•""м.,._ _ ~ 1 1 +-~~---~----0~~---~~--~~-<=:::::,......_~ • 12 11 11 14 • !<>oOJ Рис. 12.3. Сравнение аналитического и конечно-разностного решения задачи о двух концентрических цилиндрах После построения таблицы для решения данной задачи ее можно бы­ стро модифицировать для учета других заданных потенциалов . Для этоrо достаточно изменить значения ячеек Т10:Т1 1. Можно также добавить в исходную конфигурацию новые проводники . Так, если необходимо рас­ положить посредине между цилиндрами проводник под напряжением В, просто замените разносrnое уравнение в ячейке L5 на число 25 и пересчитайте лист. Результат показан в таблице на рис. 12.4 и графичес­ 25 ки на рис. 12.5. На графике для сравнения показано аналитическое ре­ шение без учета дополнительного проводника и численное решение с проводником. ~11'"'.~"""""""·~·~~.~;·~ш.~ .. :: ~.~:20· ;1 : iEiiI CT : .;з: , о ,Гр.у.__.___._.. 20 : 18 ' 11 17 17 17 13 •• 'i;' 3· о ' ---.: 20: 19: 18 1t io: 1в : 1.1."!.7 ·· jo: 1 u 20· 2020 1:f1~! :~ :: И И' 12 12 12 12. 11 : 10 ': ,r1iij]8 5 s .. s· ~; • !'! : ' " ~." 3 : э , о Рис. ~ ~ в & з : : ; , о о ·~ ....:· 9, : ' :?: ; :.•:1~, ~ а· 1 12.4. о s •· э• 2 } · ~. · · · 0 ' 1 ~~· : ·· ·:~···;· ·:~~ ·~· ~·· 4: 4· • . з: 3: 2 о, а. i· ' ~"°'-; s s 4'• э 2· 2 · ·; · il . ( 2' 2~ , ,, 1· 1· о ~ s.· ~:·~;щ:~1 :~: :~ :~ · i~ :: ~. ~·~·· ·~ ,:··~ · :~ :~ :~ ~~ :r. :н~: ::: [tf ;: 1~. 1~ 19 25• ,5: 10• в. 3 1.1..17'Ч: 1 о' 2; 1: 1 ·' 1 о о'·огiг· 1 о о. ". t· · ·· Потенциал между двумя концентрическими цилиндрами с учетом проводника, внесенного между ними , под напряжением 25 В (яч~йка LS)
llfJ Гnава 12 26 · - - - - . - ------- - - - · ----- -----···-···----·-··-----20 10 ,. 12 11 •(ао) Рис.12.5. График решения задачи о потенциале между концентрическими цилиндрами с дополнительным проводником под напряжением дено аналитическое решение без проводника) 25 В (приве­ Решение параболических уравнений ·в частных производных Линейное уравнение в частных производных второго порядка называ­ ется параболическим, если ero дискриминант, то есть комбинация коэф­ фициентов 02 - 4АС, равен нулю. Параболические уравнения обычно возникают в задачах, связанных с диффузией и течением жидкости. Как правило, такие уравнения содержат первую производную по времени и вторую производную по пространственной координате от концентрации какой-лнбо скалярной физической величины (плотности заряда, темпе­ ратуры, концентрации химиката н т.п.). Наиболее важным из этих урав­ нений является уравнение неразрывности. Уравнение неразрЫВtiОСТИ Уравнение неразрывности в общем виде - это математическая запись закона сохранения массы, или утверждения о том, что скорость измене­ ния концентрации физической величины в определенном объеме равна скорости притока величины в объем минус скорость вытока ее из объе­ ма, плюс интенсивность генерирования этой величины в объеме и минус интенсивность ее поглощения там же. Если обозначить скорость потока этой величины через v, полу1.ц1м следующее уравнение в частных произ­ водных: ди =-V·(иv)+G-A дt Здесь дивергентный член (первое слагаемое в правой части) описыва­ ет приток и выток величины в бесконечно малом объеме, слагаемое G описывает генерирование, а А - поглощение плотности.
Решенuе дuф. уравненuu в частныи проuзводныи Уравнение неразрывности широко распространено в физике и техни­ ке, являясь весьма общим для описания разного рода процессов. Движе­ ние всякого вещества или физической величины, которая может пере­ мещаться в отведенном объеме, описывается, в числе прочих соотноше­ ний, уравнением неразрывности. Общий вид уравнения остается, как правило, одним и тем же для всех видов физических субстанций, будь то тепло в твердом теле или банки шпрот, движущиеся по конвейеру. Нестацнонарнея теплопроаодность а медном стержне Рассмотрим поток тепла Q в твердом теле. Скорость, с которой тепло течет в каком-либо направлении, пропорциональна отрицательному гра­ диенту температуры (закон Фурье). Подставляя в уравнение неразрывно­ сти вместо скорости отрицательный градиент температуры и используя формулу дифференцирования сложной функции по времени, получим следующее уравнение: дQ дТ = V ·(КVT)+G-A дТ дt Производная от тепловой энергии по температуре равна удельной массовой теплоемкости рС, где р - плотность, а С - удельная объемная теплоемкость. Подставляя эту величину в уравнение, получим следую­ щее: рСдТ = V·(КVT)+G-A дt Если в металлическом стержне отсуrствуют тепловые источники и стоки, приведенное уравнение сводится к одномерному нестационарному уравнению в частных производных: дТ К д Т дt рС дх 1 2 Для решения этого уравнения перепишем производную по простран­ ственной координате в виде центральной разности, а производную по времени тп+I 1 - - в виде разности вперед: Т" 1 -'------"- = Лt к тп -2Т" r+I 1 рС Лх + Т" 1-I 2 Здесь ЛХ и Лt - шаги сетки соответственно по пространству и по вре­ мени. Верхний индекс (п, п+ 1) обозначает номер шага по времени. Ре­ шим это уравнение относительно температуры в будущий момент време­ ни ( Т,л+I): Т"+' , = Тп, + КЛt ( Тп1+1 - 2 Т", + Т",_, ) рСЛх2
EFjl Гnава 12 Для обеспечения вычислительной устойчивости данного разностного уравнения коэффициент при сумме температур не должен превышать 1/2: КЛt 1 ----<рСЛх2 - 2 Если этот коэффициент строго равен 1/2, уравнение сведется к сле­ дующему: Тп+\ 1 = 1-(T'i + Тп ) 2 1-l 1-\ Для медного стержня: - к = 1.15 см рС ' /с <. Таким образом, получаем следующее соотношение между шагом сет­ ки по времени (М) и по пространству Лх 2 (il:x): = 2.3 lЛt Обоснование критерия устойчивости Приведем упрощенный вывод критерия устойчивосrn. Более строгое и подробное доказательство можно найти в пособиях по численным ме­ тодам. Итак, критерий устойчивости, заключающийся в требовании сде­ лать коэффициент при слагаемых второго порядка меньше 1/2, из следующих рассуждений. Пусть Т численное решение разностного уравнения, И - вытекает точное аналитическое решение уравнения теплопроводности, и е = И- Т - погрешность решения. Разностное уравнение выглядит следующим обра­ зом: = Т'I1 + рСЛх2 КЛt ( Т"1+1 - 2 тn1 + тn1-1 ) r11+J 1. Подставим в него Т = И - е и решим относительно погрешности на будущих шагах по времени. Получим следуюшее уравнение: e;+t = е; (1- 2r) + (е;+ 1 + е 1"_ 1 )r Здесь КЛt r=---рСЛх2 Для устойчивости численного решения погрешность должна равно­ мерно стремиться к нулю при стремлении к нулю шагов ilx или М (пре-
Решенuе дuф. уравненuu в частным проuзводнын небрегая ошибками округления). Соответственно, для этого коэффици­ енты при каждом из слагаемых погрешности должны быть неотрицатель­ ными. В противном случае погрешность может осциллировать, ие при­ ближаясь к нулю и делая решение неустойчивым. Путем элементарной проверки можно убедиться, что оба коэффициента будут неотрицательны при О < r ~ 1/2. Если, например, шаг по пространству равен 1 см, должен составлять 0.433 с. Рассмотрим задачу для медного стержня длиной то шаг по времени 10 см, на одном кон­ uе которого поддерживается температура оос, а на другом 2оос. Рассчи­ таем изменение температуры в стержне со временем в электронной таб­ лице. 1. 2. Откройте новый лист и дайте ему имя Рис. 12.6. Если автоматический пересчет листа отключен (как это было в пре­ дыдущем примере), включите его, выбрав команду Сервис ~ Параметры и открыв вкладку Вычисления. 3. 4. Выделите столбцы A:L и сделайте их ширину равной 6. В ячейке А 1 введите заголовок Теплопроводностъ в медном стержне; параболическое ДУЧП. 5. В ячейке СЗ введите заголовок Зависнмостъ температуры от координа­ ты н времени. Введем сетку по времени с шагом 6. 7. 8. В ячейке AS 0.433 с. введите заголовок Время и выровняйте его по центру. В ячейке А6 введите (с) и выровняйте его по центру. В ячейке А7 введите О, а в ячейке А8 - 0.433; выделите ячейки А7:А8 и перетащите маркер заполнения в ячейку А20. Заполним пространственную сетку узлами, отстоящими на 1 см друг от друга. 9. В ячейке AS введите заголовок Координата (см). 10. В ячейке 86 введите О, а в ячейке С6 - 1; выделите ячейки 86:С6 и перетащите маркер заполнения в ячейку L6. Введем первое граничное условие фиксированную температуру 2оос. Наличие формулы в ячейках 88:820 позволяет легко изменять это условие. 11. В ячейке 87 12. В ячейке 88 введите 20. введите формулу =В7 и скопируйте ее в ячейки Введем второе граничное условие 13. В ячейке L7 14. В ячейке L8 введите О. веедите формулу Введем начальное условие времени =L7 L9:L20. - фиксированную температуру оос. и скопируйте ее в ячейки равенства температуры нулю L9:L20. в момент t=O. 15. В ячейке С7 введите значение О и скопируйте его в ячейки D7:K7. Теперь введем разностное уравнение в первую ячейку расчетного диа­ пазона и скопируем ее в остальные.
151& Гnава 12 16. В 17. ячейке С8 введите формулу =0.5*(B7+D7) и скопируйте е в ячейки С8:К20. Сделайте формат ячеек А 7:L20 числовым с двумя цифрами после за­ пятой. 18. Обведите таблицу контуром, как показано на рис. 12.6. Лист таблицы после проделанных операций должен выглядеть так, как на рис. 12.6; в таблице указаны температуры в различных точках в различные моменты времени. Наблюдая за изменением показанных зна­ чений, можно прос.iJедить поведение теплового потока в рассматривае­ мом медном стержне. it~~f;~i~·~~~щ~;1~~~·ri~чY ,~.t~Y N .т:~~Ш!! ".j.~-~щ1~k ,.:~:~Nнщщ~ftf~!~Л~~~;~~~~~ r,:Jf,Теnлоnроводность в медно" стерж11е; "•раболмчшое ДУЧП . ~: ·__ х . 'заеис~моGlЪ !еw11!р.атуры or ксоминащ и вреwе-н\1 \~....__--~---~~~~~~~~~~~~~~~~~~---. :$\ ВР•"" (с о,оо 3, 4З Координата i О. 20.00 о,оо· 20, 00 10, 00 n,&7 20.00 10,tio 1,)0 1,73 2.17 1.бо 3.оз з.4~ 3,00 4,ЗЗ 4.ie s.20 .~. 20, 00 20,00 20,00 20.oiJ~ 20.00 20.00, 20,00 . 20,ОО: 20 оо ?о;оо' 2 (cw) 3 4 5 б 7 0.11.0. . о.оо О, 0{) О, 00, 0.00 0,00 0,00 0,00 s,oo 12, 50 5, 00 12,50 7,50 цi5' i,50' ц 1s 9,о6 14,53 9,06 14.53 10.1б 15,08 10.16 is.oз 10,98 1s~4g 1 15,49: 11.&2; 11,62 o)s о.оо 2, 50 2,50 4,38 4,38 ··· ii.oo о.оо о.оо i(oo 0,00 0,00 1.25 1,25 2,50 0,00 0,00 0,00 0,00 0,00 0,31 0,00 0,00 0,00 . 0,00 D.OD, 0.31 0.16 ·0.16 0,43 0,43 ...OJ7. z.so s,78 sл ;,59 б,83 З,59 О.бЗ 0,63 1,41 1.41 2,19 2.19 о,оо ол 0,7& 4.53 1,31 4,53 .... 2,92 .. 1,31 б,83 7,r5 5)4 1. 15 о.оо о,оо о.оо о.оо с.оо о.ос 0,00, 0,00 о.iю: 0.03 0,03 0,23 0.2з' Ploc.12.6 • Рис.12.6. Теплопроводность в медном стержне: решение параболического дифференциального уравнения Итерирование шагов по времени Кроме последовательного вычисления таблиuы сверху вниз, значения искомой функции на следующем шаге по времени можно выполнить итерационным методом. В этом методе задействованы всего две строки ячеек, связанные циклической ссылкой. В одной строке хранятся значе­ ния функции с предыдущего шага, а в другой вычисляются значения на новом шаге. 1. 2. Решим задачу теплопроводности итерационным методом. Откройте новый лист и присвойте ему имя Рис. 12.7. Выберите команду Сервис ~ Параметры и откройте BJ(Jlaдкy Вычисления; включите режим пересчета Вручную, поставьте отметку на переключатель итераций значение Итерации 1. и введите в поле Шелкните на кноnке ОК. Предельное число
Решенuе дuф. уравненuii в частнын nроuзводнын 3. Выделите столбuы B:L рину столбца А равной 4. и сделайте их ширину равной 6. Сделайте ши­ 7. В ячейке А 1 ввеD.ите заголовок Теплопроводность в медном стержне; параболическое ДУЧП. ВвеD.ем в таблицу флаг инициализации. Для инициализации задачи будет использоваться значение ИСТИНА в ячейке 5. 6. 7. 84. В ячейке А4 введите Нач.флаr. В ячейке 84 введите ИСТИНА. Присвойте ячейке 84 имя Нач_Фдаr. Организуем циклическую ссылку для вычисления момента времени текушей итерации. Формула в ячейке FЗ должна проверять параметры инициализации и добавлять к текушему моменту шаг по времени. В ячейке GЗ определяется время для следующего шага. 8. В 9. В 1О. В ячейке ЕЗ введите ИСТИНА. ячейке FЗ введИте формулу =ЕСЛИ(Нач_Флаг,О,GЗ+О.433). ячейке GЗ введИте формулу =FЗ. Введем в· верхней части таблицы значения координаты х. 11. В 12. В ячейке Е5 введите Координата (см). ячейке 86 введите О, а в ячейке С6 - значение 1; вьщелите ячейки В6:С6 и перетащите маркер заполнения в ячейку Lб. Введем начальные условия равенства температуры нулю, а также гра­ = ничные условия: температура 2оос при х =О и оос при х 10. 13. В ячейке А7 введите Нач.усл. 14. В ячейке С7 введИте значение О и скопируйте его в ячейки D7:K7. 15. В ячейке 87 введите значение 20 и скопируйте его в ячейки В8:В9. 16. В ячейке L7 введИте О и скопируйте ero в ячейки L8:l9. Введем конечно-разностное уравнение в строке 8. Вводимая формула будет также проверять инициализацию процесса. Если флаг инициализа­ ции равен нулю, значение функции устанавливается равным начальному условию из строки 7.
111:1 17. В Гnава 12 ячейке СВ введите формулу •ЕСЛИ(Нач_Флаr,С7,О.5*(В9+D9)) и ско­ пируйте ее в ячейки D8:K8. В ячейке С9 введите формулу =С8 и скопируйте ее в ячейки 18. 19. Сделайте формат ячеек 87:L9, D9:K9. FЗ и GЗ числовым с двумя десятичны­ ми цифрами после запятой. Для расчета по построенной таблице установите флаг инициализации в ячейке С4 равным ИСТИНА и нажмите клавишу Macintosh - клавиши ЛОЖЬ и снова <F9> или <Ctrl+=> (на Измените значение этого флага на <Cmd+=>). нажмите <F9>. После выполненных операций на листе будут отображены результаты расчета после первого шага по времени. При каждом нажатии клавиши текущий момент времени получает приращение 0.433 с. Нажмите еще 10 раз, и лист приобретет такой вид, как на рис. 12.7, соответ­ ствующий расчетному моменту времени 4.76 с. Приведенные результаты совпадают с данными из строки 18 рис. 12.6. Одним из преимушеств описанной итерационной методики является <F9> <F9> возможность выполнения любого количества шагов по времени без за­ действования больших массивов ячеек. Например, если необходимо вы­ числить искомую функцию после итерационного метода (рис. 12.6) 1ООО шагов по времени, в случае не на это ушло бы 1000 строк таблицы, тогда"' как результаты расчета итерационным методом не заняли бы ни строки больше, чем при десяти итерациях. '\iТемопроtОДНОСIЪ. WIДHOW СЩ>•<ме; napaбo.n•ЧtCIQll ДУЧП -~ ' . '' . Рис. ... . Коорди.нат~ 2' о~оо·: ·о."Оо: 3 · о,оо; 15,49 \D,9& 7,75, 15,щ, 7,75~ г щgа !~") 4 о:оо 4,53 4,53 12.7. Теплопроводность i5 7 o,ilo о,оо' о.оо 2.92 1,31 D,17 2Л 1,31 0.77 .... 5' .. . . ~· 0,00 0,23 0.23 9 0,00 О, 12 D, 12 10 0.00; 0.00 0.00 в медном стержне; итерационный расчет " . : Примечание Чтобы вь1полнить 1ООО итераций и при этом не нажимать клав~+шу <F9> тысячу раз, выберите команду Сервис )о> Параметры и введите в поле. Предельное число итераций значение 1000. Щелкните на кнопке ОК, нажмите клавишу <F9>, и лист будет автоматически пересчитан 1000 раз или до тех пор, пока не будет достиrнуто стационарное состояние (то есть значения в таблице nерестанvт меняться). ·
Решенuе дuф. уравненuu в частнык проuзводнык Еще одним преимуществом итерационной методики является воз­ можность ее обобщения на случай уравнения с двумя пространственны­ ми переменными. Пространственные координаты легко представить строками и столбцами таблицы, итерируя значения по времени. Структу­ ра таблицы останется аналогичной листу на рис. 12.7 за тем исключени­ ем, что вместо трех показанных там строк значений потребуется три прямоугольных массива ячеек с тем же назначением . В первом массиве будут храниться начальные значения, во втором ные уравнения , а в третьем - - двумерные разност­ значения на следующем шаге по времени . Решение гиперболических уравнений в частных производных В гиперболических уравнениях дискриминант В2 - 4АС, составлен­ ный из коэффициентов при старших производных, положитеЛен. Таким образом, в уравнении присутствуют вторые производные по обе им пере­ менным. Гиперболические уравнения возникают при исследовании ме­ ханических .колебаний и волн, процессов переноса (например , излуче­ ния), а также в задачах диффузи~ и газовой пинамики . Волновое уравнение По-видимому, из всех гиперболических уравнений в· частных произ­ водных наиболее важным llJIЯ современной физики и техники является волновое уравнение . Оно используется для моделирования всего подряд от электромагнитных волн в вакууме до электронных свойств твердых полупроводников. Это уравнение содержит вторые производные по про­ странственной координате и времени с коэффициентом пропорциональ­ ности между ними в виде квадрата скорости волны : д2у = c2V2y дt2 Здесь с - скорость бегущей волны. Волновым уравнением описывает­ ся как электромагнитная волна в пространстве, так и волна в коЛ.еблю­ щейся струне. Волновое уравнение решается точно так же, как и уравнения из предыдущего цримера. Рассмотрим одномерную форму этого уравнения : д2у - 2 д2у -- -- - с дt2 дх2 Вначале заменим производные центральными разностями: n+I _ 2уп У; ; Лt 2 + п-1 У; 11 = с2 У;+1 - 2 11 п У; +Ун Лх 2
liнi Гnава 12 Теперь решим это уравнение относительно значения искомой функ­ ции в будущем времени: п~ 1 У; = 2 п У. n-1 + Yi + С 2л 2 l ( п Лх2 У;+1 - 2 п п У; +Ун ) Для определения следующего значения функции необходимо знать ее значения на двух предыдущих шагах. Это представляет некоторую про­ блему только на первых двух шагах, когда у нас нет предыстории процес­ са, позволяющей определить значения yf'-1. Для запуска итерационного процесса необходимо каким-то образом найти два недостающих значе­ ния. Если в качестве начальных значений заданы значение функции у и ее производной, то для определения значения функции в момент -Лt можно воспользоваться простой экстраполяционной формулой: y~1-I = у? - Лt ду С( r 1 Для определения недостающего значения функции можно воспользо­ ваться и другими видами начальных условий. Колебания струны Колебания тонкой упругой струны описываются одномерным волно­ вым уравнением. Граничные условия заключаются в равеистве нулю пе­ ремещений закреШiенных концов струны. Начальные условия определя­ ются амШiитудой и положением точки, в которой струну дергают в нуле­ вой момент времени. Предположим, струна имеет длину нули на 0.1 см в точке, отстоящей на 20 см 70 см и ее опя­ от одного конца. В таком случае начальные условия будут иметь следующий вид: х у = о .1- х =0.1 7О-х х>20 20 у 50 Для устойчивости < 20 разносrnой уравнении должен быть равен 2 с Лt схемы коэффициент в разносrnом 1: 2 - =1 Лх'2 Замена этого коэффициента единицей также упрощает само разностное уравнение: Y ?+I = 1 у? 1+1 + уп 1-I -y~t-1 1 Сила натяжения струны определяет скорость бегущей в ней волны. которая в свою очередь задает сооrnошение между шагами по времени и по пространственной координате. Например, если растяжение струны за-
Решенuе дuф. уравненuu в частнык проuзводнык дает скорость волны равной 5xl04 см/с, шаги по времени и пространству будут соотноситься следующим образом: 4 Лх = 5х10 Лt Так, если шаг по пространственной координате лх составляет 10 см, то шаг по времени Лt должен быть равен 2х 1о-4 с. Из начальных условий известно, что в нулевой момент времени стру­ ну оттянули на некоторую величину, не придавая начальной скорости. Поэтому значение функции на первом шаге Лt должно быть равно ее значению в момент -Лt п-1 У; -yn+I - i Внесем это значение в разностное уравнение для первого шага: y;+I = (t )(Y;+I + Yi'-1 ) 1 Построим таблицу для расчета колебаний струны, описываемых при­ веденными соотношениями. l. 2. Создайте новый лист и дайте ему имя Рис. 12.8. Включите режим автоматического пересчета листа, если он все еще отключен после выполнения предыдущего примера. 3. Выделите столбцы В:М н сделайте их ширину равной столбца А сделайте равной 4. 6. Ширину 9. В ячейке А 1 введите заголовок Колебания струны; гвпербОЛИ'Jеское уравнение. 5. В ячейке С2 введите заголовок Смещение отrявуrой струны. Введем в таблицу значения моментов времени с шагом 2х l о-4 с и пространственные координаты узлов сетки с шагом 1О см. 6. 7. 8. В ячейке АЗ введите заголовок Время и выровняйте его по центру. В ячейке А4 введите надпись (с) и выровняйте ее по центру. В ячейке А5 введите О, а в ячейке А6 - 0.0002; въшелите ячейки 9. А5:А6 и переташите маркер заполнения в ячейку АЗ5. Сделайте формат ячеек А5:А35 экспоненциальным с одной цифрой после запятой. 10. В ячейке ВЗ введите заголовок fр.усл. и выровняйте его по центру. 11. В ячейке ЕЗ введите заголовок Дл:ива (см). 12. В ячейке 13 введите заголовок fр.усл. н выровняйте его по центру. 13. Введите в ячейке 84 значение О, в ячейке С4 - значение 10; въшелите ячейки 84:С4 и перетащите маркер заполнения в ячейку 14. Введем в таблицу начальные условия для струны, опянуrой на в точке, отстоящей на 20 ся от указанной точки до концов струны по линейному закону. l 4. Введите 0.1 см см от конца. Значения перемещений изменяют­ в указанных ячейках следующие значения: 85: О С5: Е5: Н5: 0.08 0.02 F5: о.Об 15: О 0.05 05: 0.1 G5: 0.04 J5: Н.усл.
Гnава 12 Введем в таблицу граничные условия вдоль ее боковых столбцов. 15. В ячейке 86 введите формулу =85 и скопируйте ее 16. В ячейке 16 введите формулу =15 и скопируйте ее в в ячейки ячейки 87:835. 17:135. Введем в таблицу специальное разностное уравнение для первого шага, содержащее предполагаемое значение искомой функции на первом шаге. 17. В ячейке D6:H6. Сб введите формулу =0.5*(B5+D5) и скопируйте ее в ячейки Завершим построение таблицы, внеся в нее стандартное разностное уравнение. 18. В 19. ячейке С7 введите формулу =B6+D6-C5 и скопируйте ее в ячейки С8:НЗ5. Сделайте формат ячеек В5:НЗ5 числовым с двумя значащими цифра­ ми после запятой. Построенная таблица должна выглядеть так, как на рис. .,,,; ··::.lli: ·:·•• ?'~;:::шп:;;': ,;•·•;~:;'f''"~'"'''' f;i'• ;;е: Колеб~ния струны; ;~:. ~·3•, j_.\" 5; :11; < 12.8 . -чr 0: ,f::JclПC.:1:"'1''' ~· rмntрБол1tчес~е уравнение Смещ~ние опянvтсli. cтpyti~ Вре"" 'Дл••• (с") Гр.усл о (с) О.ОЕ+ОО 2.ОЕ-04 0,00 0,00 10 <i.o5 0,05 О.Об 0,07 30 0,08 0.08 50 0,04 0.04 0,04 о о4 20 o.io 40 о.ое 4,ОЕ-114 о.оо О.02 о.аз о.м 0,06 б.ОЕ-04 о.оо o'!Qj 1,ОЕ-03 0,00 -IJ,01 -0.04 -0,04 0.01 8.0E-IJ4 .(1,02 -0.02 -0,02 О,Ю i[9! 0,00 '•а: 1'> :м: !~2;; :~э· 1.2Е-ОЭ li.oo .o.li2 1,4E.(J3 0,00 1.бЕ-03 'rt~i t)!Ё.Оз :,~ 2.ОЕ-03 2,2Е-03 \1Qi. .111: 2,4Е-ОЗ i!I.'' iЗЕ-ОЗ ~; З,ОЁ.ОЗ ~' З,2Е.QЗ ~!К 2.бЕ-03 ~· ~! З,4Е·1JЭ 3,бЕ-1JЗ J,8E.UЗ ~i ~i O,OD -0,О? ,0.02 o.rio .Q,02 0.00 0,00 -IJ,02 0,02 0,05 o;oiJ .o:oi 0,00 о:оо о:оо о:оо 0.00 0.00 о.со О.05 o:as 0.02 -0,02 -IJ.02 .(),02 .. о н усл о о .. -0.01. 0,01 ./.) 05 .Q,03 -<!,О~ .о.о:г -О.Об .о:оа -0,07 -IJ,04 ·О.06 -0,08 -IJ,1 о -IJ,04 -0,Об .Q,08 .Q,07 -0,04 ,о,об, -0,05 -0.ОЭ 0,01 -0.04 ·0,03 .iJ;lii о.оз 0,04 0,00 0.01 0,03 0,05 О.Об 0,04 0,01 о.оз о.об 0,04 0,10 0,08 О.Об 0,04 0:01 а.оа: о.ое : 0,04 б,\JЗ 0,05 0,06 0,04 0,0! 0,04 о.оо о.оэ .{),04 -0.ОЗ .(J,01 0,01 -0,04 .{),06 .(J,05 -0,QЗ -0.ОЗ о о о о о о о о iJ о о о о о о о о 4,ОЕ-03 '>li'"•... " liio!: Рис. 12.8. Колебания струны: решение гиперболического уравнения в частных производных Если проследить изменения в положении струны, можно заметить, что она колеблется с периодом 2.8х10-з с, или частотой 357 Гu. Анали­ тическое выражение для частоты колебаний дает тот же результат: f = .!.._ = 5 х 10 21 Здесь f - 4 см/ с= 357 Гц 2·70см частота, а /- длина струны.
Решенuе дuф. уравненuu в частнь1н nроuзводныи Резюме В этой главе, последней в нашей книге , мы рассмотрели решение с помощью электронных таблиц многомерных дифференциальных уравне­ ний в частных проиЗводных, содержащих зависимость от времени. Уди­ вительно , однако решение уравнений в частных производных на листе электронной таблицы нередко оказывается более легким делом, чем большинства других задач из этой книги . Методы, описанные в этой гла­ ве , основаны на явных конечно-разностных соотнршениях. Явные мето­ ды позволяют определить значение искомой функции в будущий момент времени по их явным выражениям чере:J пр~дыдущие значения. Конечно-разностные уравнения можно записать и в неявном виде. В этом случае значени е функции в некоторый момент будет зависеть от ее значения как в п рошлом, так и в будущем . Таким образом, разностные уравнения образуют систему л инейных алгебраических уравнений, кото­ рую необходимо решать матричными методами. В этом неявные методы оказываются значительtrо сложнее в численной реализации, чем явные. После успешной проработки большинства примеров из этой книги у вас должно поя виться помощью Excel ясное представление о том, что можно делать с или любого другого аппарата электронных таблиц с ите­ рациями. Желаем вам успеха в решении ваших собственных научных или инженерных проблем. Дополнительная литература Численные методы решения уравнений в частных производных C.Gerald, App/ied Numerical Analysis, 2nd ed. (Readiпg, Mass.: AddisonWesley, 1978). W.H.Press, B.P.Fla.1111ery, S.A.Teukolsky, W.ТYetterJjпg , Numerica/ Recipes; The Art of Scientific Computing (Cambridge, UK: Cambridge University Press, 1986). Бахвалов Н . С., Жидков Н.П. , Кобельков Г.М. Численные методы. М.: Наука, 1987, 600 с. Самарский А.А., Гулин А.В. Численн ые методы. М.: Наука, 1989, 430 с. Общая теория уравнений в частнь1х производных H.F.Weiвberger, А First Course PuЫishiпg Со. , 1965). in Partia/ Dijferential Equations (New York: Blaisdell Годунов С.К. 416 Уравнения математической физшси. М.: Н аука, 1971, с. Михлин С.Г. Линейные уравнения в частных производных. М. : Высшая школа, 1977, 431 с.
"'' rnaвa 12 Обзорные задачи 1. Классифицировать следующие дифференuиальные уравнения по типу {эллиптический, параболический или гиперболический): д2и 2 д2и ди О -= дх --+ t--+x Ь. -+-+xt-=0 с. x-+-+u:;:O d. t-+5--+x -+ -=0 2 1 е. xt--+--+u= О 2 дt 2 дх 2 2. 2 а. 2 2 д и д и ди дtl дхl дх д2и д2и дt2 дх2 д2и д2и дt дхдt д 2и д2и дt дхдt 2 д1и ди дх дх Решить уравнение Лапласа в области между двумя бесконечными па­ раллельнь~ми пластинами, отстоящими на расстояние 10 см. На верх­ нюю пластину с координатой х 1О подается напряжение 200 В, а нижняя с координатой х =О заземлена (О В). = 3. Решить задачу 2 при условии, 'ПО между пластинами проходит про­ водник под напряжением 4. 50 В с координатой х = 6 см . Для расчета потенциала, создаваемого в некотором объеме приложен­ ным напряжением и распределенными зарядами, используется урав­ нение Пуассона: V2<p =- q р Е Здесь q - заряд электрона (l.бxl0-19 Кл), р - плотность заряда, а & удельная электропроводность вакуума (8.85xlO-I4 Ф/см). Решить уравне­ ние Пуассона оrносительно <р в области между двумя бесконечно протя­ женными параллельными пластинами, как в задаче 2. Учесть наличие в нижней половине объема между пластинами распределенного заряда с постоянной отриuательной плотностью р = -1О-7 см-3, ней с половине плоrnостью р 5. распределенного = 1os см-3. заряда и наличие в верх­ постоянной положительной Генерирование заряженных частиu в кремнин под воздействием света описывается следующим уравнением: дп ( п - по ) дt т" -=- д2п +D2 дх
Решенuе дuф. уравненuu в частнын проuзводныи Здесь п0 - равновесная плотность носителей заряда (1 О15 см-3), to среднее время жизни, а D - коэффиuиент диффузии (100 см3/с). На­ чальная плотность носителей заряда в 1О-сантиметровом кремниевом стержне, освещаемом с одного конuа, составляет 1011 см-3 при О< х < 0.03 см и 1015 см-3 при 0.03 < х < 0.1 см. На конuах стержня про­ изводная от плотности носителей заряда (плотность тока) равна нулю. Рассчитать спад плотности носителей заряда в течение первых 5 милли­ секунд после отключения света. 6. Термодиффузия примесей в кремнии описывается уравнением Фика: дС - Dд2С дt дх 2 Здесь С - конuентрация примеси. При температуре 1200 К бор диф­ фундирует в кремний со скоростью D = 8х 10-11 см2/с. Определить плот­ ность примеси в первых 1О микронах кремния после того, как в течение 1 часа на поверхности полдерживалась конuентрация С5 = 1019 см-3. Сравните результат с аналитическим решением (erfc - дополнительная функuия ошибок): C(x,t); C,erfcCГnt) 7. Выполните пример с колебаниями струны, задав в качестве началь­ ных условий О < х :s; 20 см; принудительное у(х) = О при х разрывное смещение: > 20 см. у(х) = 0.5 при Заданный начальный импульс будет распространяться по струне и отражаться от ее концов. 8. Рещить уравнение Бюргера для Т = 5 и п = О. 1, используя явный ме­ тод конечных разностей. Попробуйте также решить его для значений п между 10-2 и 10-4. Для достижения вычислительной устойчивости в этой области необходимо применить метод «предиктор-корректор» (модифиuированный метод Эйлера). ди ди 2 д и -+u-=u2 дt дх дх 9. O<x<I O<t<T Решить следующее дифференuиальное волны сжатия в газах, в котором r - уравнение распространения отнощение теплоемкостей при постоянной плотности и давлении (для воздуха составляет плотность, а и - ди ди дt дх у-2 др о -= -+и-+р скорость: дх др ди др -+р-+и-==0 дt дх дх 7/5), р -
,,,, Гnава Трубка длиной 1О 12 см содержит в первых двух сантиметрах сжатый воздух {р = 0.0012 r/смЗ), а далее - вакуум. При t = О открывают клапан и позволяют воздуху свободно заполнять оставшуюся часть трубки. Рас­ считать изменение плотности воздуха в трубке в процессе ero движения. Для этоrо на каждом шаrе придется одновременно решать два уравнения. 10. Найти решение следующего уравнения на интервале от t =О до 2: д2и д2и дt2 дх2 ----- = ех и(х,О)=и' (х,О)=и' (O,t)=u( l ,t)=O 11. Найти 1 решение < х < 1, -1 следующего < у < 1. ~· д2и -+-=х дх2 ду2 2 уравнения в квадратной области - На границе значение искомой функuии равно +у 2 -l < x<l -l <y< l Упражнения 1. В каких дИапазонах изменения х и у приведенное ниже уравнение яв­ ляется эллиптическим , параболическим или гиперболическим? д2и д2и д2и дх2 дхду ду2 (2х - у)-+(х+ у)-+(2у-3х)- =О 2. Решить уравнение Лапласа в цилиндрических координатах для на­ пряжения в металлической сфере дИаметром 10 см, в которой на сфе­ ре дИаметром 1 см поддерживается напряжение 25 В, а поверхность заземлена (О В). Уравнение Лапласа в цилиндрических коордИНатах выrлЯдИт следующим образом: V 2 ф == - 12 -°-(r дф) + 1 2 r дr дr 82 д (siпCe) дф) + r 2 siп 2 се) де ае 1" 2 2 Ф2 =О siп се) д<р Обратите внимание, что вследствие сферической симметрии все про­ изводные по угловым коордИнатам равны нулю, а не равна нулю только радиальная производная. 3. Определить потенциал в полупроводниковом спае, моделируемом че­ тырьмя слоями кремния с различными плотностями зарЯда. В сле­ дующей таблице приведена толщина и плотность заряда каждого слоя. Слой Толщина, мк Плотность заряда, см-3 1 2 2 0.1 1 2 о з 4 -101в 1015 о
Решенuе дuф. уравненuu в частнын проuзводнын Спай имеет длину 5 микрон; к нему между внешней стороной слоя 1 и внешней стороной слоя 4 приложена разность потенциалов 0.85 В. Рассчитать потенциал внутри устройства на основании уравнения Пу­ ассона. & 4. Диэлектрическая = l.04xlo-10 постоянная для кремния составляет Ф/м. Определить модуль и направление вектора напряженности электриче­ ского поля из упражнения 3 (напряженность электрического поля - векторная величина, поэтому она имеет абсолютную величину и на­ правление). Е=-Vф 5. Решить следующее уравнение в области О< х < 1, О< у< ными условиями = О при х = О и = О при у = О. z z 1 с гранич­ 2 8z+Здz=l дх 6. ду Химическая реакция следующего вида: А+В+ D--)> Е фактически протекает в два этапа: А+В--)>С C+D~E Скорость каждой из реакции пропорциональна концентрациям nx реаrируюших веществ; реакции могут протекать в обоих направлениях. дпс -.-=kАвпАпв А+В~С дt дп" = апв =k п дt дt С~А +В се C+D~E E~C+D Определить концентрации всех участвующих в реакции веществ в те­ чение времени, за которое в среде установится равновесие, при за­ данных кинетических коэффициентах реакuий и начальных концен­ трациях: kАВ= 4 kc= 2 kcD= 1 kE= 2 пл= 2 nв= 1 пс= О flE= 0
rnaвa llf:J 7. 12 Решить телеграфное уравнение, которое возникает при рассмотрении передачи электрических импульсов по проводам с распределенным сопротивлением, емкостью и индуКТИвностью: д2и - дt 2 ди 2д2и . +2а-+Ьи-с - 2 дt дх и( О, t) и( 7t , t) = = О ~х~ р, =0, t>O О и(х,О) =О ди(х,0) = g(x) дt Определить и на промежутке от t=O до 4 при g(x)=siп(x) , а=2, Ь= l и с=2. 8. Решить следующее уравнение 2 2 2 д z д z д Z дх2 дхду ду2 -+2--8-=~2х+Зу в прямоугольной области 5 на 5 см со следующими граничными усло­ виями: z(O,y) = - 2~0 (Зу)~2 1 z(5,y) = ---(10 + 3у) 512 210 1 z(x,0) = - 210 (2x)s12 1 z(x,5) = --(2х + 15) 512 210 9. Двумерное волновое уравнение описывает малые колебания гибкой мембраны, например, поверхности барабана. Волновое уравнение в полярных координатах выглядит следуюшим образом: д 2и 2 дt [1 д ( ди) 1д и] = с -;. дr r дr + ;т d0 2 2 2 Здесь и(r, О, f) - вертикальное смешение мембраны в момент времени f. Для случая осесимметричных колебаний круглой мембраны произ­ водными по fJ пренебрегают, оставляя только радиальные производ­ ные:
Решение дuф. уравненuu в частнык проuэводнын ~;~=с'[;:, (r :~)] Рассчитать несколько первых колебаний мембраны диаметром на основе этоrо волнового уравнения. с= 5xl04 см/с. Граничное условие 1О см Скорость волны составляе1 заключается в равенстве нулю смещений мембраны на закрепленных краях: u(5,t)=O Начальное условие состоит в том, что в момент времени мембраны приподнят на 3 t= О центр мм: и(О,О)=О.3 см Для получения начального условия в остальных точках сделайте про­ изводную по времени в волновом уравнении равной нулю и решите оставшееся уравнение с начальным и граничным условиями исходной задачи в качестве граничных условий: ~(rди) =О дr дr Используйте результат как начальное условие для решения исходного волнового уравнения. 10. Применяя волновое уравнение к расчету колебаний прямоугольной стенки металлического ящика, следует рассматривать ero в двумерных декартовых координатах. Оно выглядит следуюшим образом: a2u дt2 = с2 (д2и + д2иJ дх2 Здесь и(х, у, f) - ау2 смещение стенки. Граничное условие - закрепление стенки по сторонам ящика: о s: х s: 10 Os:ys:5 и(О,У,О)=и( l 0,у,О)=и(х,0,О)=и(х,5 ,О)=О Начальное условие заключается в том, что точка (2.5, 2.5) в началь­ ный момент времени опущена на 0.1 см. Для определения остальных начальных условий сделайте производную по времени равной нулю и решите получившееся уравнение с исходными граничными условиями и одной фиксированной точкой: au au -+-=О 2 2 ах2 ду2 Получившийся результат используйте как начальное условие для вол­ нового уравнения_ Скорость звука в стали составляет 5х 1оз см/с.
Приложение А Проrраммы для ученых и инженеров 2 доnопняющие Excel Сушествует несколько зимечательных программ для ученых и инже­ неров, которые дополняют nозможности няющих Excel Excel. H;:i с;:~мом деле допол­ программ гораздо больше, однако я считаю, что рассмат­ риваемые ниже лрограммы особенно полезны для ученых и инженеров. DeltaGraph Pro 4.0 Excel предоставляет широкие возможности по построению графиков, однако .пля инженерных и научных исследований этого недостаточно. Для этих целей лучше использовать программу DeltaGraph Pro 4.0; пред­ ставляющую собой пакет для построения графиков с расширенными, по сравнению со стандартными средствами Excel, графическими возможно­ стями. Например, на рис. А.1 представлен график, который приведен в главе 3 на рис. 3.7. Этот рисунок вполне пригоден для лабораторного дневника, однако, если вы захотите поместить этот график в статью для солидного научного журнала, то вам придется его либо скопировать в графическое приложение и подправить вручную, либо воспользоваться программой типа DeltaGrap\1 Pro. Рис. А.1. График удельного сопротивления кремния, построенный в Чтобы построить график в данные из листа Excel, DeltaGrapl1 Pro, Excel нужно просто скопировать вставить их в лист данных DeltaGrap\1 Pro, вы­ брать соответствуюший тип графика и создать его. Добавив несколько надписей и выбрав формат меток осей, вы получите требуемый график, пример которого приведен на рис. А.2.
Программы дnя ученыи u uнженеров, доnоnняющuе Енсеl Соnротивмние itpeМНIU't 1.QOE:+ з~--~'--------''----~- 9. о о" 2 _.__._____._ _,____.____._ _,____.____.__ _,__ 1-'1 !' 8 00 Е • 2 4--1--i--l-~.$:~:::::i'":,.,_.j___j_--Г-"---+--~---::-:---'\ t :V '! ...._ e, l .00 Е • 2 +--+---+.Jl-°-./,..q.-~-+--"'-\--i--J 16 Е +---+-_)vo-'9~-t--+--,.'\'....,--+""_.,,·\-t--t .VO • 2 • 5.ООЕ• 2, _.. · ·# . 1.ех10" (е<114) 1-5Х10 1 1 (i;.j~ ,....._ 1,l/X1ot~;(.;j.;!), \. . -~~~: ~ ··--+----+-+--1----+-~-+-\.""',,~-+-~ [: ,З · .. 1. ООЕ • 1 +---+----+-+---+---+-+--+---+_ 1 .00 Е• 2 Т---.t..---t....----:.±,..::::.",-;,='Jlo- _...___.. ".....,!=='*"°",-,~-4 1_ О ООЕ •О +--+---+-+--+---+-+--1--+~+--Ч зоо з20 на зsо эео 400 420 но •6О ~во 500 Рис. А.2. График удельного сопротивления кремния, построенный в Delta- Graph Pro Из рис. А.2 видно, что графики, созданные в DeltaGraph Pro, выгля­ дят значительно лучше, чем графики, созданные с помощью Excel. Их можно отправить практически в любой современный журнал, поскольку с помощью DeltaGraph Pro можно представить '!исла в стандартном на­ учном формате, а не в компьютерном экспоненциальном, в метках ис­ пользуются верхние индексы, а графики выглядят профессиональнее. Однако DeltaGraph Рго не только обеспечивает приемлемое для пуб­ ликации качество графиков. около 60 Она предоставляет в ваше распоряжение различных типов диаграмм, а также возможности подготовки слайдов и создания презентаций. К числу возможных типов относятся графики в полярных координатах, радарные графики, пузырьковые диа­ граммы. контурные диаграммы, цветные контурные rрафики, векторные rрафики, объе.~шые каркасные модели, гладкие и линейчатые поверхно­ сти. На рис. А.3 представлены примеры диаграмм, подготовленные с по­ мощью новой DeltaGraph Pro 4.5 - новой версии системы. Рис. А.З. Примеры диаграмм. созданные с помощью Программа De1taGraph Pro 4.5 DeltaGrapho Pro распространяется компанией американ­ SPSS (http://www.spss.com). В странах СНГ продукты ской компанией
·~+J Прuаонсенuе Н компании можно приобрести в московском представительстве, обратив­ шись по адресу: Российская Федерация, 117259, МОСIСВЗ, ул. Кржижаноескоrо, 24135, 5, kОМН. 406 тел. 095 125-0069, 125-8088. ф. 719-0261 корп. комnания SPSS Менеджер no маркетинrу Антон Ковтун anton@spss.msk.ru ' Стоимость DeltaGraph Pro 4.0 для Windows составляет $295, а DeltaGraph Pro 4.5 для Macintosh - $299 (обновление версии 4.0 - $149). Пробную версию DeltaGraph Pro 4.0 для WiшJows (полнофункциональная версия, работоспособность которой сохраняется в течение 30 дней) мож­ но получить по адресам: ftp://ftp.spss.com/puЬ/weЫdeltagraphlwlndows/DG4ТV.ZIP http://www.spss.com/software/deltagraph http://www.junlor.ukmet.net/Ьonus./Ьonus_Jr.htm MathType Программа MathType не является приложением для Excel, но пред­ ставляет собой хорошее средство для построения формул. Пользователям Microsoft Office эта программа должна быть хорошо знакома, так как компания Microsoft, как и многие другие, лицензировала у компании Design Science упрошенную версию этой программы и включила ее в со­ став Office под названием Equation Editor. Формулы, созданные с помо­ щью MathType, можно вставлять в рабочий лист для иллюстрации вы­ полняемых вычислений. Заметим, что все уравнения, представленные в этой книге, были созданы с испWIЪЗОванием MathType. Уравнения в MathType задаются с использованием панели инструмен­ тов символов .и шаблонов. Шаблоны для таких элементов, как скобки и дроби, автоматически изменяют размер в зависимости от содержащихся в них символов. Программа MathType разработана компанией Design Scjence (Лонг Бич, шт. Калифорния, http://www.mathtype.com). Полную версию этой программы для Windows и Macintosh, обладаюшей целым рядом возмож­ ностей, необходимых при подготовке научных статей (например, экспорт форму11 в формат ТеХ), можно приобресm: за $199. ПWIЪЗОватеJiи про­ rрамм, в которые ·входит Equatjon Editor, таких как Microsoft Office, DeltaGraph Pro и многих других (пОJIНЬIЙ список можно найти иа WеЬ­ узле компании), мoryr приобрести проrрамму за $89.
Программы дru1 ученыи Microsoft Access Хотя u и uнасенеро~. допоnНJ1Ощuе Еисеl Visual Basic Visual Basic for Applications и утилита Query позволяют работать с базами данных, для этой цели гораздо легче использовать специализиро­ ванные программы обработки баз данных типа Access. В ней структура базы данных и запросы изображаются с использованием визуального ин­ терфейса, а не создаются с использованием команд или операторов SQL. Vtsual Basic, Enterprise Edition является предшественником языка программирования Visual Basic for Applications. Visual Basic - это полный отдельный язык программирования, который также поддерживает объек­ ты Visual Basic for Applicatioпs. Visual Basic является rораздо более rиб~м и обладает большими возможностями, чем Visual Basic for Applications, ВЮIЮчая компилятор, отдельные окна (а не только диалоговые) и гораздо больше кнопок и управляющих элементов. Если вы приобрели версию Microsoft Office Pro, то в ее состав входит и Microsoft Access. В противном случае ее·можно купить отдельно. Вер­ сий Access и Visual Basic для Платформы Macintosh не существует. Подроонее об использовании Visual Basic и Access можно узнать из книги "Базы данных в Access, Excel и Word 2000 на примерах" издательства "Юниор" ·
Припожение В Исnоnьзование отде11ьно распространяемой дискеты На отдельно распространяемой дискете содержатся все рассмотрен­ ные в тексте книги примеры и решения всех задач, приведенных в конце каждой главы в формате русифицированной версии ExceJ 97, а также примеры в формате английской версии ExceJ 7. Решения задач в формате английской версии ExceJ 7, а все остальные файлы, находящиеся на дис­ кете можно найти в разделе Бонус WеЬ-узла издательства "Юниор" по адресу http:/lwwW.Junlor.ukmet.net (суммарный объем файлов для руси­ фицированной версии ExceJ 97 и английской версии ExceJ 7 превышает объем дискеты, поэтому файлы с решениями задач в формате ExceJ 7 можно найти по указанному выше адресу Web). Примеры и решения задач расположены в рабочих книгах по каждой главе. Файлы архивов называются: 0099RUEX:ZIP, 0099RURP.ZIP, 0099RURM.ZIP (файлы для русифицированной версии ExceJ 97) и 0099ENEX.ZIP, 0099ENRP.ZIP, 0099ENRM.ZIP (файлы для английской версии ExceJ 7). В файлах 0099RUEX.ZIP и 0099ENEX.ZIP содержатся все примеры, рассмотренные в главах этой книги (каждой главе соо'rветствует своя ра­ бочая книга); а также дополнительные файлы, необходимые для работы с этими примерами. В них также находятся файлы YtsuaJ С++, необходи­ мъ1е для работы с примерами из приложения Г. В файлах и 0099ENRP.ZIP 0099RURP.ZIP содержатся рабочие книги с решениями задач (для каж­ дой главы своя рабочая книга). Подробное описание содержимого фай­ лов находится в файлах 0099RURM.ZIP или 0099ENRM.ZIP, соответствен­ но (файлы README.ТXT). Для некоторых рабочих листов может понадобиться изменить пара­ метры производимых в приложении вычислений (в зависимости от вы­ бранного примера). Параметры вычислений относятся ко всей рабочей книге в це.r~ом, а не к отделънь1м ее рабочим листам. В большинстве слу­ чаев необходимые изменения сводвтся к переключению между режимами Автоматически и Вручную, установке и сбросу флажка Итерации и изме­ нении значения в строке Предельное число итераций. Все эти параметры можно изменить на вкладке Вычисления с использованием команды Сер­ . вис> Параметры.
Припожение В Функции дnв ученых и инженеров, вкпаоченные в Excel Приложения Excel содержат. много полезных функций для ученых и инженеров. Некоторые из них являются встрq_енными, а другие состав­ ляют часть надстройки Пакет Анализа. В Пакет Анализа данных включе­ ны версии функций дпя электронных: таблиц, написанные на Visual Basic, и несколько специальных дополнительных программ анализа. Все функции и надстройки, включенные в Ex:cel, перечислены в главе 1. В этом приложении мы более подробно остановимся на использовании надстроек и функций для ученых и инженеров. Надстройка Пакет Анализа для Надстройка Пакет АналИ3а содержит 19 Excel программ для углубленного статистического анализа. Программы дисперсионноrо анализа В надстройку Пакет Анализа входит три программы дисперсионного анализа: однофакт0рный дисперсионный анализ, двухфакторный диспер­ сионный анализ без повторения и двухфакторный диспереионный анализ с повторениями. В техническом смысле дисперсионный анализ представ­ ляет..- собой статистический метод проверки гипотезы о сходстве средних: значений двух или более выборок, принадлежащих одной и той же гене­ ральной совокупности (или популяции). '81> Примечание В статистике лолуляцией назыаается набор всех возможных значений не­ которого процесса или измерения . Измерение некоторой переменной или пое..nставляет собой экземnляо nолvляции. , Программы дисперсионного анализа используются в основном для проверки принадлежности нескольких выборок данных одной и той же популяции , то есть для определения того, можно ли рассматривать их как измерения одной и той же величины. Например, предположим , что поле заражено некоторым химическим веществом, и вы хотите удостове­ риться , что уровень зараженности не изменяется . Поскольку все поле (популяцию) невозможно ежемесячно приносить в лабораторию для из­ мерения общего уровня заражения, то можно брать несколько образцов
lfM поLIВы со случайно выбранных участков поля, анализировать их и усред­ нять результаты. Несколько месяцев спустя может возникнуть вопрос: чем вызвано различие ежемесячно вычисляемь•х средних значений? Яв­ ляется ли оно следствием изменения УРовНя заражения или просто объ­ ясняется статистической природой измерений. Чтобы ответить на этот вопрос, нужно выполнить дисперсионный анализ. Если анализ покажет, что выборки принадлежат одной и той же популяции, значит, уровень заражения не изменился. Если же результаты анализа свядетельствуют о том, что выборки принадлежат различным популяциям, значит, уровень заражения изменяется. Еще одним примером использования программ днсперсионного ана­ лиза является проверка адекваrnости усредненных значений или при­ ближений (первой выборки данных) реальному множеству данных (вrо­ рой выборке данных} . Если анализ показывает, что приближенные зна­ чения принадлежат той же популяции, что и сами данные, значит, при­ ближение является достаточно хорошим. Проверка производится путем вычисления нескольких статисrnческих характеристик данных. Однофакторный дисперсионный анализ выполняется по нескольким столбцам (или строкам) данных рабочего листа. Двухфакторный диспер­ сионный анализ вып олняется как по столбцам, тах и по строкам. При двухфахторном дисперсионном анализе с повторениями каждая точка выборки используется по несколько раз (то есть для каждой точки вы­ борки имеется щсколько измерений). В терминах рассмотренного при­ мера повторения необходимы в том случае, если с каждого случайно вы­ бранного участка каждый месяц берется по несколько образцов почвы. Корраляционный анализ При корреляционном анализе произвQ!lится сравнение двух множеств данных с целью определения. имеют ли их поверхности одну и ту же форму. Корреляционный анализ используется для количественной оцен­ ки взаимосвязи двух наборов данных, представленных в безразмерном виде. Корреляционный анализ дает возможность установить , ассоцииро­ ваны ли наборы данных по величине, то есть, большие значения из од­ ного набора данных связаны с _большими значениями другого набора (положи~ьная корреляция), или, наоборот, малые значения одного на­ бора связаны с большими значениями другого (отрица~ьная корреля­ ция), или данные двух диапазонов никак не связаны (корреляция близка к нулю). Ковариационный анализ Ковариационный ан.ализ также используется для выявления зависи­ мости между двумя множествами данных. Коэффициент корреляции вы-
Функцuu дnя ученын u uнисенеров, вкnюченнь1е в Еисеl борки представляет собой ковариацию двух наборов данных, деленную на произведеиие их стандартных отклонений. Описательная статистика Надстройка описательной стаrnстики позволяет вычислять несколько различных стаrnстичес.ких характеристик для данных из выборки. К чис­ лу стаrnстических характерисmк относятся: среднее зиачение, мода, среднее отклоиение, дисперсия и т.д. Эксnоненциальное сrлаживание Экспоненциальное сглаживание - это метод аппроксимации множе­ ства данных экспоиенциальной кривой с целью использования этой кри­ вой для экстраполяции последуюUUIХ значений. Даухаыборочный F-тест Подобно тому, как прсграммы днсперсионного анализа предназначе­ ны для сравнеиия средних значений выборск, F-тест применяется для сравнеиия дисперсий двух выборок с целью проверки их принадлежно­ сти одной и той же генеральной совокупности. В отличие от среднего значения популяции, дисперсия является мерсй разброса данных относи­ тельно среднего значения. F-тесты обсуждаются в главе 6. Анализ Фурье Анализ Фурье - это метод аппроксимации множества данных суммой триrономе'lричес.ких функций (синусов и косинусов). Анализ Фурье со­ стоит в вычислении коэффициеитов, на которые умножаются значения синусов и косинусов до суммирования. Таким образом, коэффициенты Фурье определяют вклад конJсре111ых частот колебаний во множество данных. Анализ Фурье наиболее полезен при исследовании данных, под­ верrающихся периодическим изменениям, поскольку позволяет опреде­ лить осиовные частоты колебаний. Например, функция уровня освещен­ иости Земли будет содержать высокие коэффициеиты при тригонометри­ ческих функциях с периодами 24 часа и 12 месяцев. Гистоrраммы Средство Гистограмма используется для получения данных для по­ строения гистограмм. Гистограмма отображает количество элементов на­ бора данных, прииимающих зиачеиия из определенных днапазоиов. Средство Гистограмма анализирует множество значений данных, вычис­ ляет и возвращает количество значений, находящихся в каждом диапазо-
Прunоженuе В 1&i;J не. Например, оптический спектр почти всегда представляют в виде гис­ тограммы количества фотонов для каждого уровня энергии. Скользящее среднее Скользящее среднее - это метод сглаживания данных пуrем усредне­ ния нескольких последовательных значений.. Значение функции в каж­ дой точке заменяется средним значением для точек из некоторой ее ок­ рестности . Генерация случайных чисел Процедура генерации случайных чисел позволяет извлекать наборы случайных чисел с заданным распределением, в <ЛЛИЧие от стандартной функции получения равномерно распределенных случайных чисел. Слу- · чайные числа с заданным распределением верояrnостей используются для моделирования физических процессов. Например, энергия ф<Лонов ионизированного газа имеет нормальное (Гауссово) распределение. Ранг и персентиль Это средство вычисляет порядковый и проценrnый ранги для каждого значения в наборе . данных. Эти значения отражают место конкреrnоrо элемента данных относительно остальных элементов набора данных. Регрессия Линейный регрессионный анализ заключается в подборе графика для набора наблюдений с помощью метода наименьших квадратов. Регресси­ онные методы описаны в главе 6. Выборка Средство Выборка извлекает случайную выборку из генеральной сово ­ купности. Т-тест В надстройке Пакет Анализа содержатся три t-теста. Т-тесты пред­ ставляют собой статистические методы для определения статистической эквивалентности двух величин. При сравнении статистических данных два различных числа мoryr оказаться статистически эквивалентными. Например, средние значения двух выборок вряд ли окажуrся идентич­ ными, даже если эти выборки взяты из одной и той же популяции. Раз­ личие объясняется отклоиением данных от среднего значения. Если раз­ личие средних значений можно полностью объяснить случайным откло-
Функ.цuu доя учень~н u uнженеров, вк.оюченнь~е в Енсеl нением данных, то с некоторой долей достоверности можно утверждать, что средние значения совпадают. В Т-тесте вычисляется распределение Стьюдента и сравнивается с табличным значением этого распределения. Таблица распределений Стьюдента вычисляется с помощью функции СТЬЮДРАСП{}. Т-тесты Стьюдента обсуждаются в главе 6. Парный даухаыборочный t·тест для средних Тест для двух выборок, в котором каждому элементу из одной выбор­ ки сопоставляется элемент из второй выборки. Тест служит для проверки гипотезы о различии средних для двух выборок. Даухвыборочный t·тест с одинакоаыми дисперсиями Тест для двух выборок, в котором предполагается совпадение диспер­ сий. Тест служит для проверки гипотезы о равенстве средних для двух выборок. Двухвыборочный t-тест с разными дисперсиями Тест для двух выборок, в котором предполагается несовпадение дис­ персий. Тест служит для проверки гипотезы о равенстве средних для двух вЬ1борок. ' Z·тест Z-тест используется для проверки гипотезы о различии средних для двух популяций. Если t-тесты используются преимущественно для про­ верки гипотезы о равенстве средних двух выборок, то z-тесг применяется для выявления различия средних. Специальные функции Специальные функции используются для получения решений диффе­ ренциальных и интегральных уравнений, имеющих особое значение в науке и технике. Специальные функции . позволяют решить большое множество научных и технических задач. Функции Бесселя Сушествует чеТЪiре варианта функций Бесселя. Эти функции предос­ тавляют решения уравнения Бесселя, к которому часто сводится решение волновых уравнений. Четыре функции Бесселя дают решение четырех вариантов уравнения Бесселя. БЕССЕЛЬ.J() Вычисляет решение ln(x} уравнения Бесселя.
'®' Прuаоисенu·е В d2 d 2 х --1:.+х2-+(х -n 2)y =О 2 dx dx 2 БЕССЕЛЬ.1() Вычисляет решение lп(х) уравнения Бесселя для мнимых аргументов. fn(X) = (i) -n Jn(ix) БЕССЕЛЬ.К() Вычисляет решение Кп(х) модифицированного уравнения Бесселя для мнимых аргументов. Кп(х)= 1t ;n+l (Jп(x)+iY,.(i.x)) 2 БЕССЕЛЬ.У() Вычисляет функцию Бесселя Уп(х), которая также называется функ­ цией Вебера или функцией Неймана (Nп(х)). У,, (х) = lim[ Jv (x)co~(V1t )- J -v (х)] v-.п Stn(V1t) ФОW{) Возвращает значение интеграла функции ошибок. Функции ошибок часто используются при решении задач диффузии. 2 rz 12 ERF(z) = ~ Jo е- dt ДФОW() Возвращает значение дополнительной функции ошИбок. Как и функ­ ция ошибок , дополнительная функция ошибок часто применяется при решении задач диффузии . ERF(z) = 1 - ERF(z) Функции распределения Функции распределения используются для моделирования процессов, происходящих с измеряемыми данными. Например, случайные данные формируют нормальное распределение, а распределение Вейбулла ис-
Функцuu доя учень~и u uнженеров, вмюченнь~е в Еисеl пользуется ддя вычисления среднего времени наработки на отказ какого­ либо устройства. Функции распределения относятся к категории статис­ тических функций Excel. БЕТАРАСП БЕТАОБР() еления вычисления таб- распре- (формирование таблицы ВЕИБУЛЛ /
Припожение Г Испо11ьзование внеwних биб11иотек в Excel Помимо встроенных функций и функций , созданных с помощью Vis- в Excel можно использовать функции, написан­ ные вами на дРуrих языках программирования. Для этого необходим ual Basic for AppJications, компилятор, который может создавать динамически связываемые биб­ лиотеки (DLL) (ее.ли вы работаете с версией Excel д1JЯ Windows) или ре­ сурсы CODE (если вы имеете дело с версией Excel ДJJЯ платформе Macin- tosh). Большинство файлы библиотек DLL современных и компиляторов позволяют создавать CODE. 4' Предупреждение Не все компиляторы позволяют получать файлы DLL, поэтому обратитесь к документации по выбранному вами компилятору и удостоверьтесь , что он обладает зтой возможностью. Например, компилятор создает файлы DLL, тогда как Microsoft С Visual Basic не и С++ создают. Чтобы создать надстройку для Excel под Windows, напишите обычную функцию с использованием языка программирования выбранного вами компилятора. Эта функция должна иметь 1У же структуру, что и любая дРуrая функция, написанная на данном языке программирования , одна­ ко не должна зависеть ни от каких глобальных переменных или общих блоков данных. Все данные должны передаваться этой функции через ее интерфейс. Затем скомпилируйте функцию в файл компилятор позволяет выбрать тип выходного файла DLL. DLL. Как правило, Помимо этоrо нужио создать объявление, описывающее интерфейс вашей функции для Excel. Оно должно содержать имя функции, а таюке количество и типы­ ее входных параметров. 4' П ед п еждение Убедитесь, что создаваемая версия DLL соответствует используемой ва­ ми версии Excel. Если вы используете Excel версии 5.0, то необходимо создавать 16-разрядНую библиотеку, а для работы с Excel версий 7 и 97 ве сии 6 ие ществ ет необходима 32- аз ядная библиотека DLL. Например, следующая программа, содержащаяся в файле MYLIB.C, была написана на языке С и скомпилирована в файл библиотеки MYLIB.DLL. Эта программа получает два входных значения, выqисляет их
[' Испоn1tзованuе внешнuн бuбnuотек в Еисеl сумму и возвращает ее. Флаг _export в объявлении функции позволяет использовать эту функцию во внешних процедурах, не содержащихся в файле .DLL. Без него функция бьша бы доступна юлько для процедур из этой :ж.е библиотеки. Флаг _pascal обеспечивает передачу аргументов и использованием соглашений Pascal, а флаг _far сообщает крмпилятору, что вызываемая программа будет размещаться в другом сегменте памяти. DouЫe _export __pascal _far addem(douЫe, douЫe}; douЫe _export __pascal _far addem(douЫe опе, douЫe two} { douЫe aValue; aValue = опе + two; retum(aValue}; } Помимо самой MYLIB.DEF программы необходимо создать файл объявления для объявления внешних переменных функции. В этом файле должна также содержаться процедура выхода WEP. Процедура выхода необходима для удаления библиотеки из памяти по завершении работы с ней. Вам необходимо либо написать свою собственную процедуру выхо- . да, либо воспользоваться используемой по умолчанию процедурой. LIBRARY DESCRIPTION ЕХЕТУРЕ CODE DATA HEAPSIZE EXPORTS WEP addem MYLIB ''MyLib example .DLL" WINDOWS PRELOAD MOVEABLE DISCARDABLE PRELOAD MOVEABLE SINGLE 1024 @1 @2 RESIDENTNAME •ь- ПDимечание Не все компиляторы имеют используемые по умолчанию процадуры вы­ хода. Если выбранный вами компилятор не содаржит та.J<Ую nроцеДуру, необходимо включить ее а свой код, даже если она не· выполняет никаких действий. На платформ~ Macintosh необходимо создать такую же функцию и скомпилировать ее в отдельный ресурс CODE, задав соответствующие директивы компилятора. В каждом ресурсе CODE может содержаться только одна внешняя функция, и при этом она должна в коде ресурса быть первой. В Excel новая функция объявляется с использованием инструкции Declare. Инструкция Declare помещается на лист модуля Visual Basic for Applications. В ней содержится информация о количестве и типе переда-
1ra1 Прunоисенuе Г ваемых процедуре аргументов. Инструкция Declare имеет различный син­ таксис в зависимости от того, объявляется в ней процедура или функция. В отличие от функции, процедура не возвращает значения. Обратите внимание, что в приведенном ниже синтаксисе инструкции перечислены не все параметры. Полное описание синтаксиса инструкцни Declare можно найти в интерактивной документации. Объявление подпроrраммы Declare Sub имя [CDecl] Llb "имяБиблиотеки" [Allas "псевдоним'1 [([списокАргументов])] Объявление функции Declare Functlon имя [CDecl] Llb "имяБиблиотеки" [Allas "псевдоним'1 [([списокАргументов])] [As тип] Имя Имя процедуры, используемое на рабочем листе. CDecl Ключевое слово для платформы Macintosh, показываю­ щее, что в процедуре используется соглашения о вызо­ вах функций языка С. Имя Библиотеки Имя файла библиотеки, в котором содержится объяв­ ляемая процедура. Псевдоним СписокАргументов Имя процедуры, которое хранится в DLL, если оно отли­ чается от уже объявленного имени. Оно используется для переименования функции в случае конфликта с су­ ществующей функцией. Список передаваемых процедуре аргументов и их типов. Его структура соответствует структуре списка аргументов в Visual Basic for Application. Тип значения, возвращаемого функцией. Тип После объявления в модуле Visual Basic for Application функuию мож­ но использовать на рабочем лисrе как любую другую функцию. Например, для объявленИя функции addem, ном выше файле MYLIB.DLL, на листе модуля используемой в создан­ Visual Basic for Application необходимо написать следующую инструкцию: Declare Function addem Lib "МYLIB.DLL" (ByVal aVal As DouЫe, ByVal anotherVal As DouЫe) As DouЫe При объявлении аргументов требуются идентификаторы ByVal, по­ скольку в функцию передаются значения переменных, а не их адреса в памяти. Kai< правило именно так и поступают, чтобы не давать возмож­ ность функции распоряжаться адресами памяти, отведенными для Excel. В противном случае ошибка при объявлении размера аргумента может привести к тому, что функция запишет свои данные в область памяти, используемую Excel. С друtой стороны, при передаче в функцию боль­ ших объемов данных, например, массивов, их, как правило, передают по адресам в целях экономии памяти. После объявления функции ее можно использовать на рабочем листе или в программе Visual Basic for Application. Например, если в ячейку А2
Испоnьзованuе внешнuн бuбnuотек в Енсеl 18, в ячейку 82 - значение 34, а в ячейку С2 - значе­ =addem{A2, 82), то получится результат, представленный на рис . Г.1. ввести значение ние 52 =addem(A2.В2) ?2.=flbJ~!З.A.-Тl>{"d:'uc lsebook.lexa~pleslmylib, dll:.·addem· ,_ ·вввг....д2. •. 8;1) -· . ·····.t 2е..00- ;;РЕГИС1РАТОР. ИД("mуliЬ dll" ,"addem. :ввВ1 52_= ВЫЗВАТh(С7 ,А2 , В2) Рис. Г.1. Использование внешней функции на рабочем листе. Текст в столбце D отражает содержимое ячеек столбца С Существует и друтой способ доступа к функции в файле .DLL. Он со­ стоит в использовании операторов ВЫЗВАТЬ и РЕГИСТРАТОР. Напри­ мер, если в ячейку С4 ввести формулу =8Ы38ATb{"mylib.dll", "888", А2, 82), "addem", то я этой ячейке будет получен тот же результат, что и в ячейке С2. Функция ВЫЗВАТЬ как регистрирует (или объявляет) функ­ цию, так и выполняет ее. Третий аргумент задает тип :переменных, пере­ даваемых в функцию, и тип возвращаемого значения. Функция РЕГИСТРАТОР.Ид также используется для объявления и загрузки внешней функции, но не для ее выполнения. Функция РЕГИСТРАТОР.Ид возвращает идентификатор ' регистрации для внешней функции . Зарегистрированную функцию можно выполнить с помощью функции ВЫЗВАТЬ, использующей в ка":lестве параметра идентификатор регистрации. Например, если в ячейку С? ввести =PEГИCTPATOP.ИД("myllb.dll", "addem", "888"), то эта функция возвра­ тит идентификатор регистрации. Введите в ячейку СВ формулу =ВЫЗ8АТЬ(С7, А2, 82), первый аргумент которой ссьmается на иденти­ фикатор регистрации, а остальные аргументы - на аргументы функции, и вы снова получите сумму значений, содержащихся в ячейках А2 и 82.
Припожение Д Соответствие анrяийской и русской версий Excel 97 Соответствие терминов русской и английской версий Excel 97 Русская версия Английская версия #llEЛ/O Автоматически #DIV/O #VALUE! #NAME? #N/A #NULL! #REF! #NUM! Automatic Автоматически~ режим AutoQuerv АвтоmиrvDЗ OЬiect #ЗНАЧ! #ИМЯ? #Н/Д! #ПУСТО! #ССЫЛКА! #ЧИСЛО! Библиотеки динамической связи [)ynamic Link LiЬraries Бооей Nwind В столбце сnева LeftColumn Restore Retum Data То Microsoft Excel Get Extemal Data Вернуть ВеРНУТЪ данные в Microsoft Excel Внешние .11.анные в Все " .".- Мanual АИ Pasta Всrавюь Всrавка >- lnsert >- Выгюлнитъ \nsert >- Масrо >- Module Select Data Source Run Выполнить So/ve Вставка Mamoc Маnvль Выбоо мёточника данных Выполнить заnоос Вычисления QueryNow , calculation Вычисnить ca1cnow палее FindNext ЗАнные tйнные •Текст по столбцам IИаnаэон vслови.;\ обавкn. Data Data >- Text to Columns Criteria RaПQe New ЕСЛИ IF Запись маmоса Record New Масrо '
Соответствuе aнrnuucкou u русской вepcuii Енсеl 97 Русская варсия Английская версия Запуск маКDОСЗ Контоольное значение Run Macro Value of Ву Changing Cells Name Name> Define Name > Сгеаtе TRUE List Range lteration Create button lпstant Watch Коnиоовать Сору КОРЕНЬ . SQRT Criteria FALSE Macro Macros Function Wizard ChartWJ:mrd Text lmoort Wizard Function Wizard MINVERSE Значению Изменяя яче~1<111 Имя Имя > Пnисаоить Имя > Создать ИСТИНА Исходный диапазон ИтеDации Кнопка Коитеоии ложь Макоос Ма~<росы мастер Вставка mvнкции Мастер диаrрамм Мастер текстов (импорт) Мастер mvнкций МОБР Модуль Мodule MOПPEll MDEТERM МУМНОЖ MMULT Налnись На.а.стоойка - LaЬel Querv для MS Ехсе1 5.0 Назад Назначить маКDОС Обмен динамическими данными Обрамление Общие Объелинить и поместить в uентое Остановить запись Остановка записи Откоыть Querv FindPrev Assian macro Dynamic Qata Exchanae Borders General Center .Across Columns Stor.i Macro панель инстоvментов Stop 0Den Отла.а.ка DeЬug Относительная nornewнocть Оrносительная ссылка Maximum Chanae Relative mode ShowAll Run Oialoa Analysis тoo/Pak Отобразить все Отобразить окно Пакет анализа Панель инстоументов рисования Drawirю too/Ьer Паоаметры Ootions Ootion Button Recalculate Ьefore save ПеDеключатель ПеDесчет nем..11 сnхоанением
ltФI Прunоженuе А Русская версия Английская версия По возрастанию Поавка Ascendino Descendina Solver Comblnation Drop.Down Edit Drop Down Comblnation List-Edit Scroll Ьаг Coov to TabOrder Edit Правка 0-lистить Правка Сетка Edit> Fill Edit Моvе или Edit Сору Maximum iterations Resume Macro Soace OЬiect Browser Percent Percent EaualTo Group Вох Advanced Filter Visual Basic Editor Delimited StoP Macro Control Prooerties OЬiect Linkina and EmЬeddlno Tools Tools .> Macro > Macros Тools > Record Macro > Record New Macro Tools > Record New Macro > Stop Recordina Tool.s > Add-/пs Тools > Options Tooale arid Символ табvляции ТаЬ Скопиоовать nезvльтат в доvгое место Сору to Создать Cre~te Сортировка Sort Соотиоовка диапазона Стоелка Sort List Вох Reference Styla Arrow СУММ suм Счетчик SpJnner По убь1ванию Поиск оешения Поле с расКDь~ваюшимся списком Поле со списком Поле со списком Полоса прокрутки Поместить оеэvльтат & диапазон Последоввтельносrь перехода > Заполнить Правка > Переместить/скоnиоовать лист Пr~едельное число итераций Поеовать Пообел Поосмотр объектов Пооuентный Процентный (dJОрмат) Равной Рамка Расшиоенный Фильто Редактор Visual Basic С DЗЗllелителями Сброс Свойства элемента упоааления Связывание и внедоение объектов Сеовис Сервис> Макоос > Макоосы Сервис > Макрос > Начвть запись Сервис > Макрос > Осrановить запись Сеовис > Надстоойки Сеовис > Па~··-• --r Список Сntль ссылок R1C1 Another Location -
Соответствuе aнгnuiicкou u русскоu вepcuu Енсеl 97 Русская версия Английская версия Считать nоследоввтельные разделители Treat Consecutive Delimiters As One одним Текст nРОmаммы Текстовое поле Точка останова Точност~:. как на экоане Удалить Установить целевую ячейку Файл Фиксированной ШL-4РИнь1 Фильтр > АвтофильтD Фильтооввть список на месте Флажок ФоDма Формвт > Ячейки Формула Формы Edit Code Edit Вох Toaale breakooint Precision as Displayed Delete Set Taraet Cefl File Fixed Width Filter > AutoFilter Filter the List, in place Check Вох Form Format > Cells Refers То Forms Число NumЬer Числовой Scientific Числовой lmормат) NumЬer Шаг с захол.ом Step lnto Step Over Scientific Шаг с обходом Эксnоненuиальный (сЬаnмвт) Соответствие функций русской и английской версий Excel 97 Русская версия Английская версия ABS() ACOS() ACOSH() ASINl) ASINH(} ATAN() ATAN2() ATANH() COS() COSH() ABS(} ACOS( ) ACOSH() ASIN() ASINH() ATAN() ATAN2() ATANH(} COS() COSH() ЕХР() ЕХР() ЕХР11) ЕХР1 ( ) FРАСП() FDISTC} FINVl ) LN(} LOGC) LOG10l) FРАСПОБР( ) LN() LOG() LOG10()
мю~• Прnnоженuе д Русская версия Анrлийская варсия МДЛИТ() MDURATION( ) SINC) SINH() SIN() SINH() Т() Т() TAN(} TANH() TAN!) TANH() ТИПОШИБКИ( ERRORТYPE( ) ) ZТЕСТ() ZТEST{) AllPEC() ADDRESS() SYD() AMORLINK() AMORDEGRC( ) SLN() DVARP() АМГД() АМОРУВ() АМОРУМ() АМР() БППИСПt) БЛПИСПП() DSТVAR() БППРОИЗВЕШ ) BDPRODUCT( ) DSUM() BESSELI() BESSEU{) BESSELK() BESSELY() BETAINV() BETADIST() FV() FVSCHEDULE( ) DGET() BINOMDISТ( ) DCOUNT() DCOUNTA() WEIBULLl) БдСУМ() БЕССЕЛЬ.1( ) ) БЕССЕЛЬ.К( ) БЕССЕЛЬ.J{ БЕССЕЛЬ.У() БЕТАОБР() БЕТАРАСП{) БЗ() БЗРАСПИС() БИЗВЛЕЧЬl) БИНОМРАСПl ) БСЧЕТ(} БСЧЕТА() ВЕИБУЛЛ() ВЕРОЯТНОСТЬ( ) РRОВ() ВНДОХ() ВОСЬМ.В.ДВ( IRR() OCT2BIN() OCT2DEC() ) ВОСЬМ.В.ДЕС( ) ВОСЬМ.В.ШЕСТН( ВПР() ) ОСТ2НЕХ() ВЫБОР!) VLOOKUP() TIMEVALUE() TIME() CHOOSE() ВЫЗВАТЬ() САLЦ) ГАММАНЛОГ() GAMМALN!) ГАММАОБР() GAMМAINV!) ГАММАРАСП() GAMМADISTf) ВРЕМЗНАЧ() ВРЕМЯ() ГИПЕРГЕОМЕТ<) HYPGEOМOJST!) ГОД() YEAR() HLOOKUP() ГПР()
Соопетствuе aнrnwcкoii Английская версия DEGREES() DATE() DATEVALUE() COUPpCD() COUPNCD() дАТАКУПОНЛОl ) iдАТАКУПОНПОСЛЕ() ЕDАТЕ() lllATAMEC() дВ. В. ДЕС() BIN2DEC!) BIN20CT() BIN2HEX() IND1RECT() DDB() DELTA() DAY() WEEKDAY() DEC20CT() DEC2BIN() DEC2HEX() VAR{) VARP() DURATION() LEB() .ДВ. В.ВОСЬМl ) .дВ.В.ШЕСТН() lдВССЫЛ() IШЮБ() iдЕЛЬТАf) lдЕНЫ) ILIEHbHEШ) lдЕС . В. ВОСЬМ() ДЕС. В.ДВ( ) 1 ДЕС.В.ШЕСТН( ) ДИСП() !ДИСПР{). IПЛИТ() длСТР() IДМАКС() ОМАХ(} t дМИН() LIOXOLIПEPBHEPEГ( ) DMINl) , DAYS360() COUPDAYSf) COUPDAYBS( ) COUPDAYSNC() DB() CONFIDENCE() YEARFRAC() YIELD<) ODDFYIELD() D.ОХОДПОГАШС) YIELDМAT(} аоходПОСЛНЕРЕГt) ODDLY1ELD() YIELDDISC( ) TBILLYIELD( } DAVERAGE() DSTDEV() DSTDEVP() ERFC<) ISLOGICALC ) ISNA() ISNONTEXТ( ) ISOOD(} ISERR() ISERROR() lllHEй360() 1 ДНЕИКУПОН( } дНЕИКУПОНДО( 1 ) ДНЕИКУПОНПОСЛЕ( ) lдОБ() lдОВЕРИТ() 1 ДОЛЯГОдА() lдОХОШ) 1 аоходскидКАr > lдОХОдЧЕК() lдСРЗНАЧ() :ДСТАНДОТКЛ ( ) 1 97 Русская версия lдАТАЗНАЧ{) 1 pyccкoii вepcl.JU. Енсеl ГРАдУСЫ() lдАТА() 1 u дСТАндОТКЛП( lдФОШ() ЕЛОГИЧ(} ЕНд() ЕНЕТЕКСТ( > ЕНЕЧЕТ() ЕОШ() ЕОШИБКА() )
ltfj - Прunоисенuе д Русская версия Английсквя версия ЕПУСТОl) \SBLANK() IF() \SREFI ) ЕСЛИ() ЕССЫЛКА() ЕТЕКСТ() \SТЕХТ( ) ЕЧЕТН() ISEVEN() ISNUMBER() REPLACE() SIGN() VALUE( ) AND{) OR() INDEX() INTRATE() INFO( ) TRUE() DEVSQ( ) QUART\LE( ) RSQ() COVAR() CODE() COMPLEX() ЕЧИСЛОl) ЗАМЕНИТЬ() ЗНАК() ЗНАЧЕН() И(} ИЛИ() ИНДЕКС() ИНОРМА() ИНФОРМ() ИСТИНАС) КВАдРОТКЛ( ) КВАРТИЛЬ() КВПИРСОН() КОВАР() КОДСИМВ() КОМПЛЕКСН( КОНМЕСЯЦА( ) ) ЕОМОNТН() КРИТБИНОМ( ) SQRT() SQRTP( ) CORREL() NPER() CRITB\NOM( ) ЛГРФПРИБЛ() LOGESТf} КОРЕНЬ() КОРЕНЬПИ() КОРРЕЛ(} КПЕР() ЛЕВСИМВ() LEFТ() ЛИНЕИН() LINEST(· ) LOGINV() ЛОГНОРМОБР( ) ЛОГНОРМРАСП() LOGNORMDISТ( ЛОЖЪf} FALSEf} - МАКС() МАХ() MIRR() MEDIAN!) мвспс) МЕПИАНА() МЕСЯШ> MONТHl) МИН() МИНУТА() MIN() MINUTE() МНИМАВS() IM.AВS() МНИМ.СОS() IMCOS() IM.EXPl) IM.LN() IM.LOG10() IM.LOG2() IMSIN() МНИМ.ЕХРl) MHИM.LNl} MHИM.LOG10() MHИM.LOG2( MHИМ. SINC> } )
Соответствuе aнrnuucкou Русская версия МНИМ.АРГУМЕНТ! Анrлийсквя версия ) IМARGUMENT( МНИМ.ВЕWГ! МНИМ_DЕЛ ) IMREALl) IMDIV( ) IMSQRT() IMPRODUCT( ) IMSUN() ) МНИМ.КОРЕНЬП МНИМ.ПРОИЗВf:Лl) МНИМ.РАЗ-...\( i МНИМ.СОПРЯЖ( u русскоu вepcuu Енсеl 97 ) IМCONGUGATE( ) МНИМ. СТЕПЕНЬ() IMPO\NER() IMSUM() МНИМ.СУММ() МНИМ.ЧАСТЫ\ IМAGINARY() МОБРI) MINVERSE() MODE( ) " модАТ\ МОПРFШ\ · MDEТERM () МУЛ ЬТИНОМl \ НАИБОЛЬШИW ) MULTINOMIAL( ) MMULT() LARGEI ) НАИМЕНЬШИЙ() SМALL() НАИТИI\ FINDl \ SLOPE!) ACCRINTI) ACCRINTM( ) МУМНО>Кi\ НАКЛОН() НАКопnохош 1 НАКОГШОХОдПОГАШТ) Нfl( . \ NA(l. HEm НЕЧЕТI NОЛ ) \ ODD( ) нoru1 - нокt·) НОМИНАЛI НОМНl=ПЕЛИI \ НОРМА() НОРМАЛИЗАUИЯl НОРМОБРi НОРМРАСПI \ НОРМСТОБР( \ НОРМСТРАСП( \ НПЗI \ ОБЛАСти·i OБ"""iliПO XOl ll) DБillПЛATI OKPBBEPXf) ОКРВНИЗ7\ ОКРУmП OКPYmBBEPXl \ ОКРУГЛВНИЗТТ ОКРУГЛТП ) G~Pl 1 LCM() NOM!NALI 1 l/VEEKNUM() RATE() STANDARDIZE() . NORMINVI) NORMDISП\ NORMSINV() NORMSDISTl ) NPVl \ AREASl1 CUMPRINC() CUMIPМТl) CEILING() FLOOR() ROUNDl) ROUNDUPl \ ROUNDDOWNf ) MROUND( ) ОСНПЛАТl) РРМТ( ) остлтП MOD() ,
IUI Прunоисенuе д Русская версия Английская версия ОТБР() TRUNC() NEGBINOMDIST{ ) INTERCEPТ( ) VDB() PERMUT() PERCENTILE() CLEAN{) ОТРБИНОМРАСП{ ) ОТРЕЗОК() ПДОБ() ПЕРЕСТ() ПЕРСЕНТИЛЬ( ) ПЕЧСИМВ() ПЗ() PV() ПИ() PI!) PEARSON() IMPT() ПИРСОН() ПЛПРОШ) ПОВТОР() RЕРТ{) ПОДСТАВИТЬ( SUBSTIТUТE{ ) ПОИСК!) ) SEARCH() ПОИСКПОЗ() МАТСН() ПОЛУЧЕНО() RECEIVED() GESTER() ПОРОГ() ППЛАТ() РМТ() ПРАВСИМВ() ПУАССОН() R!GHT() FORECAST() CONVERT() PRODUCT() SUBTOTAL( 1 UPPER() PROPERI) LOOKUP() PERCENTRANK( ) MIDI 1 POISSON() РАБ.ПЕНЫ) VVEEКDAY() РАВНОЧЕКI) РЕГИСТРАТОР.ИПl) TBILLEQI) RADIANS() RANK() REGISTERID() РИМСКОЕ{) ROМAN() ПРЕПСКАЗ{) ПРЕОБР() ПРОИЗВЕЛ () ПРОМЕЖУТОЧНЫЕ.ИТОГИ( ПРОПИСН() ПРОПНАЧ{) ПРОСМОТР() ПРОUЕНIРАНГ( ) ПСТР() РАДИАНЫ() РАНГ() ) POCTf) GROWТH!) РУБЛЬ() DOLLAR() DOLLARDE() DOLLARFR() SERIESSUIM() TODAY() SECOND() РУБЛЬ.ДЕС( ) РУБЛЬ.ДРОБЬ( ) РЯД.СУММ() СЕГОДНЯ() СЕКУНдЬI() СЖПРОБЕЛЫ( ) ТRIM{) СИМВОЛ() СНАR!) СКИДКА() DISCf) SKEW() СКОС()
[оответствuе aнrnuiicкoii Русская версия u PYCCKoii вepcuii Енсеl Английская версия СЛУЧМЕЖдУ() RANDBEТWEEN( СЛЧИС() RAND{) OF!=SET{) СМЕШ() СОВПАЛ() НARMEAN() СРГЕОМ() GEOMEAN{) AVERAGE() AVEDEV() STDEV() STDEVP() TINV() POV'JER() COLUMN() STEXY() ROW{) LOV\IER() TDIST() TINV() SUM() SUMIF() SUMSQ{) СРЗНАЧ() СРОТКЛ() СТАНПОТКЛОН( ) СТАндОТКЛОНП( ) ) СТБЮДРАСПОБР( СТЕПЕНЬ() СТОЛБЕШ) СТОШХУ(J СТРОКА() СТРОЧН() СТЬЮДРАСП( ) ЕХАСТ() t СРГАРМ( ) СТЬЮДРАСПОБР( ) СУММА() СУММЕСЛИ() СУММКВ() СУММКВРАЗН( SUMXМY2() СУММПРОИЗВ( SUMPRODUCTC ) SUMX2MY2{) SUMX2PY2() CONCATENATE() COUNT() COUNTIF() COUNTA() NOWI) }. ) СУММРАЗНКВ( ) СУММСУММКВ( ) СUЕПИТh{) СЧЕТ!) СЧЕТЕСЛИ() СЧЕТЗf) ТдАТА{) ТЕКСТ() ТЕНДЕНЦИЯ( ТЕХТ() ) TREND() ТУРЕ() ТИП<) ТРАНСП<) TRANSPOSEf ) ТТЕСТ{ > УРЕЗСРЕдНЕЕ( ТТЕSТС) } ФАКТР() ФИКСИРОВАННЫИ( ФИШЕР{) ) TRIMMEAN() FACT{) FIXED FISHERI) ФИШЕРОБР() FISНAERINV( ФОШl) ERF{) ФТЕСТ() FТESTf) ХИ20БР() CHllNVf) ХИ2РАСП() CHIDISП) ХИ2ТЕСТ() CHITEST{) INT() ЦЕЛОЕ() 97 )
lfI Прunоисенuе д Русская версия Анrлийсквя версия UЕНА() PRICE() ODDFPRICE() PRICEMAT() ODDLPRICE() PRICEDISC( ) ТВILLPRICE( ) N() HOUR() QUOTIENTC) FREQUENCY( ) EVEN() COMBIN() COUPNUM() ЦЕНАПЕРВНЕРЕГ( UЕНАПОГАШ( ) ) UЕНАПОСЛНЕРЕГ() UЕНАСКИдКА( ) ЦЕНАЧЕК() Ч() ЧАС() ЧАСТНОЕ() ЧАСТОТА() ЧЕТН() ЧИСЛКОМБС) ЧИСЛОКУПОН( ) ЧИСЛСТОЛБ( COLUМNS() ЧИСТНЗ() XIRR( ) XNVP() ) ЧИСТВНдОХ( ) ЧИСТFW6.ВЛНИ( NEТWORKDAYS() ) ЧСТРОК() ROWS() ШЕСТН.В . ВОСЬМ( ШЕСТН .В.дВ( НЕХ20СТ() ) ЭФФЕКТ() HEX2BIN() HEX2DEC() EXPONDIST( ) KURT() RFFRCT() ЯЧЕИКА() СЕLЦ) ) ШЕСТН .В.ДЕС() ЭКСПРАСП() ЭКСUЕСС() Соответствие элементов интерфейса русской и английской версий местоположение Excel 97 в русской версии В английской версии Главное меню Файл Главное меню Вид Главное меню Формат Главное меню Сервис Главное меню Панные Главное меню ПDавка ВСтавка имени File View Format Tools Data Edit lnsert Window Paste name Дналоговое окно 'Вставка> Имя> Присвоить) Присвоить имя Define Name Диалоговое оюю Создать имена Create names Главное меню Вставка Главное меню Окно Диалоговое окно 'ВСтавка > Имя 'Вставка ~ Имя > > ВСташm.) Создать)
[оответствuе aнrnuucкou u р сскоu вepcuu Ексеl Местопопо:жение В русской версии 97 В английской версии !диалоговое окно lПанные > Таблица nодстановки таые Специальная вставка Paste Special Табnиuа nоп.становки) Димоrовое окно (Правка > Сnециальная вставка) Димоговое окно (Сервис> Защита защитить лист Protect Sheet > Защитить лист) Днмоrовое окно . Параметры Options Формат оси FormatAxis Формат ряда данных Format Data Series Формат объекта Form~t OЬject Цвета и пинии Patterпs Пиалоrовое окно формат объекта Шрифт Foпt Диалоговое окно Формат объекта, ниж11ий индекс SuЬscript Формат ячеек Format Ce\IS (Сервис> ПаоаметDы) Диалоговое окно 'Формат> Выделенная ось) Диалоговое окно (ФоРмвr >Выделенны й Dяд) Щиалоговое окно (Формат> Объект) Пимоrовое окно Формат объекта . вкладка WDиdJт Диалоговое окно (Формат> Ячейки) Дналоговое окно Зашитить лист солержимоrо Conteпts Диалоговое окно Мастер диаграмм Гладкие графики , Графики (шаг (2 1 Диалоговое окно Мастер диаграмм (шаг 1), вкладка Станп.арrные тип Smooth lines, Line on 2 axes, Logarithmic, Colored lines Press and hold to view samp\e Chart typa Щиалоrовое окно Мастер диаграмм Точечная x:'f Поверхность 3-D Surface График Llne t), вкладка Нестандартные, оси), Логарифмическая, список тиn Uветные графики Диалоговое окно Мастер диаграмм Просмотр результатов (шаг (шаг 1), 1), вкладка Стандарrньrе (ScaUer) вкладка Стандартные, спи- сок Тиn диалоговое окно Мастер диа11>амм (шаг 1), вкладка Стандартные, спи - сок Тип Щиалоrовое окно Мастер диаграмм (шаг 1), вкладка Стандартные, спи- сок тип Щиалоrовое окно Мастер диаграмм Диапазон данных (шаг Щиалоrовое окно Мастер диаграмм Ряд (шаr Series iп 2) ~иалоговое окно Мастер диаграмм 'шаг Data Range 2) 2) Диапазон Range Ряды в строках Rows Columns вкладка nиаnазон п.анных Диалоговое окно Мастер диаграмм (шаг 2) вкладка Диапазон данных Ряды в столбцах
lfl:I Rpunmиeнue Местоположение В русской версии t1 В внrлийской версии Диалоговое окно Мастер диаграмм 'шаr 2) вкладка Ряд Ряд Series Диалоговое окно Мастер диаrрамм Добавить Add Имя Name Диалоговое окно Мастер диаграмм 'шаr 2). вклалка Ряд Значения Х Xvalues Диалоговое окно Мастер диаrрамм Значения У Yvalues Заголовки, Оси , Линии сетки, Легенда, Подписи данных (вкладки) Тitles , Axes, Grid Диалоговое окно мастер диаграмм 'шаr 3). вкладка Оси ось Х (категори~) Диалоговое окно Мастер диаграмм Ключ легендь1 Value (Х) Axes, Cateaory Legend Кеу 'шаr 2) вкладка Ряд Дналоговое окно мастер диаграмм ' шаr 2). вкладка Ря.а 'ша.- 2), вкладка Ряд Диалоговое окно Мастер диаграмм (шаг 3) lines, Legend, Data laЬels 'шаг 3). вкладка таблИШI .данных Пиалоговое окно Параметры Вь1числения Сетка Calculation Pattems Edit View Gridlines Формулы Formulas ~иалоговое окно Парамвтры , автоматически кроме таб- Automatic except ta- вкладка вычисления лиц Ыеs Диалоговое окно Параметры , автомвтически Automatic вручную Manual Диалоговое окно Параметры, Автозаполнение значений вкладка Правка Я'-!еек Enable AutoComplet e For Cell Values Create Сору налоговое окно Параметрь1 Ви.n налоговое окио ПаРаметРы Поавка иалоговое окно Параметры Вид Диалоговое окно Параметры, вкладка BИll Диалоговое окно Параметрь1, - вкладка Вил. вкладка Вычисления Диалоговое окно Параметры, вкладка Вычисления Диалоговое окно Перамесrить или скоnироввть (Правка Перемес- Создаваn. копию >- титьlС!СОПИDОВаТh лист) Пиалоговое окно Присвоить имя формула Диалоговое окно Присвоиn. имя Имя Refers То Names in WorkЬook llиалоговое окно Поисвоиn. имя /Jиалоговое окно Соз.аать имена ~иалоговое окно Специальная Добавить ~ Значения У в столбцах Add Left Column Select the COILW11ПS Категории (значения оси Х) в первом столбuе Categories (Х) in First Column В столбце слева вставка Диалоговое окно Специальная вставка
Соответствuе aнrnuucкou u Местоположение русскоu вepcuu Ексеl 97 В русской версии В внrлийской версии Диалоrовое окно Специальная новые ряды Columns Трансnонироввть Transpose вставка Диалоrовое окно Специальная вставка Диалоrовое окно таблица Подставлять значения no Column lnput Cell no Row lnput Cell строкам в Диалоrовое окно таблица Подставлять значения столбuамв Диалоrовое окио Формат автофиrу- Цвета и линии Pattems Pbl Диалоrовое окно Формат Области прозрачная тransparent Заливка Fill nостооения Диалоrовое окно Формат Области nостrюения Пиалоrовое окно Формвт оси Щиалоrовое окно ФОрмат оси, Шкала Scale минимальное значение Мinimum лоrарифмическая шкала Logarithmic Scale Вид Pattems линия Lines Маркер Мarker отсутствует None Сглаженная линия Smoothed line значение ShowValue Лиалоrовое окно Формат ячеек Выравнивание Alignment Лналоrовое окно ФоDмвт ячеек Число NumЬer Пиалоrовое окно Формвт ячеек Шрифт Пиалоrовое окно Фоомат ячеек защита ЩИалоrовое окно Формвт ячеек, no горизонтали Font Protection Horizontal По правому краю Right Защищаемая яче~ка Locked Скрыть формулы Hidden д.иалоrовое окно Формат ячеек, Разделитель групп разря- вкладка Чмсло ДОВ Use 1000 Separator вкладка Шкала Диалоrовое окно Формвт оси, вкладка Шкала Щиалоrовое окно Формат ряда данных Диалоrовое окно Формат ряда данных вклапка Вил ~алоrовое окио Формат ряда данных вкладка Вил Диалоrовое окно Формат ряда данных вкладка В~.ш диалоrовое окно Формвт ряда дан- ных вкладка Вил lдиалоrовое окно Формвт ряда данных вклап:t'я Поn.nиси данных вкладка Выоавнивание Диалоговое окно Формат ячеек, вющдка Выраениеание , спиоок по •-И Щиалоrовое окно Формат ячеек, вкладка Защита Диалоrовое окно Формат ячеек, вкладка Зашита
IJФI Местоположение Прunоисенuе. В русской версии В английской версии Диалоговое 01що Формат ячеек, Числовt>Jе форматы (все форматы) Numher Category Custom Тип Тура Время Time Дата Date Верхний индекс Superscript , Команда Вс;тавка > Имя Вс;тавить Команда меню Сервис Защита Контексmое .меию ячейки очистит~. содержимое Меню Вид Во весь экоан Меню Вид Панели инструментов Меню Вид По размеру окна Paste Protect Documents Clear Contents Full Screen Toolbars Sized With Меню Вставка Диаrрамма Меню Вставка Имя вкладка Число Диалоговое окно Формат ячеек, вкладка Число Диалоговое окно Формат ячеек, вкладка Число Дналоговое окно Формвт ячеек, вкладка Число, список Числовые d>ормать1 Диалоговое окно Формат ячеек, вкладка Число, список Числовые d>орматы Дналоrовое окио Формат ячеек, вкладка ШОИ<Ьт Wiлdow Меню Вставка > Имя Присвоить Chart Name Note Create Define Меню Паннь1е Таблица nодстановки ТаЫе Меню Диаграммы Добавить даннь1е Меию Окно Закреnить области Меню Окно Снять закраnление облас- NewData Freeze Panes Unfreeze Panes Меню Вставка Примечание Меню Вставка > Имя СОЗ4вть . тей Меню Правка Вставить Меню Правка Заполнить МенюПоавка Меню Правка Коnиоовать Сору Пераместить/скоnировать Move/Copy Sheet lnsert Fill лист Меню Правка Повторить формаП1рование ячеек Меню Пru:~вка Специальная всrавка Меию Правка> Заnолниn. ВЫDОВНЯТЬ Меню Поавка > Заполнить Вниз МенюСеовис Защита Меню Сервис ПараметDЫ Меню Сервис > Защита защитить лист Меию Файл 3акоыть Repaat Formatting Paste soecial Justifv Down Protection ODtions Protect Sheet Close 11
Соответс:пuе aнrnuuc:кou u рус:с:коu Bepc:uu Енсеl 97 Местоположение В русской версии В внrлийской Меню Файл Сохоанить Save Меню Файл Создать New Меню Файл СоХDЭнить Save версии Меню Файл > СоЗАатъ Книга WorkЬook Меню ФоDмвт Ячейки Меню Формвт, прн выделенном Автофиrура CeJJs Selected OЬject :рисованном объе:~сrе Меню Формвт. режим диаrоаммы Названне панели ННСТРУМенrов Выделенный Название панели ннстоvменrов Стан.а.аDтная Рисование Selected DrawinQ Standard Formatting Название панели ннструменrов Форматиоование Окна мастеоов Далее Next Панель инетруменrов Рисование Вь1боо объекrов Панель ННСТРУМенrов Рисование Линия Selection Line Панель инсrоvменrов Рисование Надпись Text Панель инетрvменrов Рисование Овал ElliDSe Панель инструментов Рисование, Раэrруnпировать Group меню Дейстзия Панель инсrоvменrов СтаI01артная Мастер таблиц По правому краю ChartWizard MaD Drawina Save Format Painter Align Right / Поцантру Center Увеличить разрядность lncrease Decimal Уменьшить разрядность Границы Decrease Decimal Borders Цвет заливки Fill Color Центрировать по столбцам Center across columns Name Панель иисrоvментов СтандаDтная Масuпаб Панель инструментов СтандаРТНая Рисование Панель инетруменrов Стандартная СоХDЭнить Панель инсn>УМенrов Стан.а.аDТНая ФоDмвт по oбrmзuv Панель ннструментов Форматирование Панель инструментов Форма101рование Панель ннструменrов Формвтирование Панель ннструм:енrов Формвтирование Панель инструм:енrов Форматирование Панель ииструм:енrов Форма101рование · Панель инструментов Форматирование Стоока dionмvл Имя
Предметный указате11ь А Символы ' А1, стилъ ссылок на ячейки, (одинарные кавычки) в пути к каталоrу при ссылках на ячейки, 21 для комментариев 185 ! (восклнuательный Visual Basic, знак) в синтаксисе объектов, 180 во внешних ссылках на ячейки, 21 #DlV/O!, значенне ошибки, 19, 40 #N/A, значение ошибки, 19, 54 #NAME?, значение ошибки, 19, 85 #NULL!, значение ошибки, 19 #NUM!, значенне ошибки, 19, 30, 35 #REF!, значение ошибкн, 19 #VALUE!, значение ошибки вычисления обратной матрицы, 415 #VALUE!, значение ошибки, 19, 26, 30, 54, 57, 109, 411 #ДЕЛ/О!, значение ошибки, 19, 40 #ЗНАЧ!, значение ошибки вычисления обратной матрнuы, 415 #ЗНАЧ!, значение ошибки, 19, 26, 30, 54, 57, 109, 411 #ИМЯ?, значение ошибm, 19, 85 #Н/Д, значение ошибки, 19, 54 #ПУСТО!, значение ошибки, 19 #ССЫЛКА!, значение ошибки, 19 #ЧИСЛО!, значение ошибки, 19, 30, 35 $ (знак доллара), абсолютные & ссылки, 24 (амперсанд) конкатенацня, 28 µ (символ расширенного набора DOS), 95 • (звездочка) символ шаблона, 254 . (точка), в синтаксисе объектов, 180 ? (вопросительный знак) символ шаблона, 254 = (энак равенства), 19 • (снмвол градуса), 79 лвsо; функuия, 20 32, 34 Access, 245, 45 3 ACCRINT(), функция, 52 ACCRINТМQ, функция, 52 ACOS(), функция, 33, 36 ACOSH(), функuия, 33, 37 active cell, 67 ActiveCell, объект, 180, 185 ActiveCell.Formula, свойство, 414 ActiveSheet, объек-r, 180 add-in functioпs, 30, 57 Add-ln Мanager, 57 ADDRESS(), функция, 55 Adjustlt, процедура, 295 Advanced Filter, диалоговое окно, 253 Align Left, кнопка (панель ннструментов Formatting), 66 Align Right, кнопка (панель инструментов Formatting), 66 AМORDEGRC(), функция, 52 AМORLINC(), функция, 52 Analysis Toolpack, 57, 456, 459 AND(), функция, 26, 41 ANOVA (дисперсионный анализ), 58, 456 Асс, инструмент (панель инструмен-rов Drawing), функuия, 55 Army, пm данных в Visual 162 AREASQ, Arrow, Basic, 190 инструмент (nаиель ннструментов Drawing), 162 ASCII, код, 79 ASIN(), функция, 33, 36 ASINH(), функция, 33, 37 Assign Масrо, диалоговое окно, 186, 298, 414 ATANO, функция, 33, 36 ATAN2Q, функuия, 33, 36 ATANH(), функuия, 33, 37 Auditing, панель инструментов, 65 AutoComplete, 73
li:jj Предметнь1u указатеnь Autosum, кнопка (панель инструментов Standard), 66 AVERAOEQ, функция, 47, 291 в BASICA, 175 BETADIST(), функция, 47, 462 BETAINV(), функuия, 47, 462 BIN2DECQ, функция, 39 BIN2HEXO, функция, 39 BIN20Cf(), функция, 39 BINOMDIST(), функuия, 47, 50, 462 Bold, кнолка (панель инструментов Formatting), 66 Boolean functions, 41 Boolean, тип данных в Visual Basic 190 Borders, , кнопка (панель инструмекrов Foпnatting), 66, 74, 81, 115 Bring to Front, команда (панель инструментов Drawing), 162 с С, язык проrраммирования, 175 Call, оператор, 199 Cance1Btn_Click, процедура, 210 CEILINGQ, функuия, 32, 34 Се11 Note, диалоговое окно, 115 CELLQ, функция, 54 СеПs, метод, 187 Center Across Columns, кнопка (панель инструмеитов Formatting) 66, 81 • Center, кнопка (панель инструментов Formatting), 66 СНАR(), функция, 42 Chamcter Мар, в Windows 95, 79 Chart Туре, диалоговое окно, 139 Chart, панель инструментов, 65 ChartWiz.ard, кнопка (панель инструментов Standard), 66, 124, 136 Check Вох, кнопка (панель инструмекrов Visual Basic Fonns) 200 ' Checkmark, в строке формул, 67 CHIDIST(), функuия, 47, 50, 462 CHIINV(), функция, 462 CНITEST(), функция, 47 CHOOSE(), функция, 55 CLEAN(), функция, 42 Close, кнопка, 63 Close, оператор, 195 CODEQ, функция, 42 CODE, ресурс (Macintosh) компилятор для создания, 463 CODE, ресурс (Maciпtosh), 59, 411 Color, кнолка (панель инструмеитов Formatting), 66 COLUМN(), функция, COMBINQ, ComЬination 55 функция, 32, 35 Drop-Down Edit, кнопка (панель инструментов Visual Basic Forms), 200 ComЬination List-Edit, кнопю~ (nанель инструментов Visual Basic Forms), 200 Comma Style, кнопка (панель инструмекrов Forrnatting), 66 COMPLEXQ, функция, 40 CONCATENAТEQ, функuия, 42 CONFIDENCE(), функция, 46 Const, оператор, 192, 203 Control Properties, инструмент (панель инструментов Visual Basic Fonns), 200 CONVERTQ, функция, 39 Сору, кнопха (панель инструментов Standard), 66 Сору, комаНда, 27 Сору, метод, для кнопки, 179 CORREL(), функция, 46, 48 Correlation, проrрамма, 58 · COS(), функция, 33, 35 COSHQ, функция, 33, 37 COUNТ(), функция, 47, 291 COUNТA(), функция, 45 COUNТBIANK(), функuия, 32 COUNТIF(), функuия, 32 COUPD'AYВSQ, функция, 52 COUPDAYS(), функuия, 52 COUPDAYSNC(), функция, 52 COUPNCDQ, функция, 52 COUPNUM(), функция, 52 COUPPCD(), функция, 52 COVAR(), функция, 46, 48 Covariance, проrрамм:а, 58, 457 CRAY 1, суперком:пыотер, 18
11:11 Предметнь1ii указатеnь инструмент (панель инструментов Visual Basic Fonns), Create Button, 200 Create Names, диалоrовое окно, 84 CRITBINOMQ, функuия, 47 Criteria range для расширенноrо филъtра, 253 определение, 253 Criteria, кнoJika, в форме данных, 264 Ctrl, клавиша, для выделения несмежных диапазонов, 81 CUMIPMT(), функция, 51 CUMPRINCQ, функция, 51 Currency Style, кнопка (панель инструментов Fonnattiлg), 66 Currency, тип данных, в Visual Basic, 190 curve fltting, 270, 305 взвешивание, 305 по функциям, 46, 49, 271, 286 проверка статиСП1Ческих характеристик, 286 просмотр таблиц и интерполяции, 305 сложные функции, 288, 298 таблица поиска и интерполяции, 298 экспоненциальное разложение, 49 Cut, кнопка (панель инструментов Standard), 66 Data Foлn, диалоговое окно, 252 Data, меню Filter Advanced Filter, 253, 262 AutoFilter, 252, 261 Show All, 253, 263 Form, 252, 264 Get Extcmal Data, 245 Sort, 265 недостатки, библиотеки) доступ к функциям, 466 коМIIИ.11Я1'Ор для создания, 463 DLL (динамически связываемые библиотеки), 58, DМAXQ, функция, D ТаЫе ИЗ двух ВХОДНЫХ таблиц, DAVERAGE(), функция, 50, 265 DAYQ, функuия, 44 DAYS360(), функция, 44 DB(), функция, 53 dBase, 244 DCOUNТ(), функция, 50, 264 DCOUNТAQ, функция, 50 DDB(), функция, 53 DEC2BINQ, функция, 39 DEC2HEX(), функuия, 39 DEC20CfQ, функция, 39 Declare, инструкция, 187, 464 Decrease Decimal, кнопка (панель инструментов Fonnatting), 66, 74 Define Name, диалоrовое окно, 26, 84 DEGREES(), функция, 33, 36 Delete, кнопка, в форме данных, 264 DELТА(), функция, 39 DeltaGraph Pro, 132, 450, 451 Descriptive statistics, проrрамма, 58, 458 DEVSQO, функция, 45 DGEТO, функция, 50 Ditn, оператор, 188 DlSC(), функция, 52 DLL (динамически связываемые J03 98 ТаЫе, 97, 103 Text То Columns, 237 DAТEQ, функция, 43 Date, тип данных в Visual Basic, 190 DAТEVALUE(), функция, 43, 108 187, 411 50, 265 DMINQ, функция, 265 Do/Loop, операторы, 196 DOLIARQ, функция, 42 DOLIARDE(), функция, 53 DOLLARFR(), функция, 53 DOS, рас.wирснный набор символов, 79, 95 Double, тип данных в Visual Basic, 190 DPRODUCf(), функция, 51 drag and drop, для КОПИроВаНИЯ Н вставки, 87 Drawing Se1ectioп, инструмент (панель инструментов Drawing), 162 Drawing, кнoJika (панель инструментов Standard), 66, 161
li:fj Предметнwii указатеоь Dmwing, 162 панель инструментов, 145, форматы файлов, 231 процедура, 209 Excel2For, отображение, 161 инструмент (панель инструментов Drawing), 162 Drop Shadow, DSTDEVO, функция, 51 , 265 DSTDEVP(), функция, 51 DSUMQ, функция, 51, 265 DURATJONQ, функция , 52 DVARQ, функция, 51 , 265 Dynamic Link Libraries (DLL) доступ к функциям, 466 компилятор для создания, 463 Dynamic Link Libraries (DLL), 58, 187, 411 Е EDATE(), функция, 44 Edit Вох, инструмент (nанель инструментов Visual Basic Fonns), 199, 207 Edit Code, инструмент (панель инструментов Visual Вasic Forms), 200 Edit, меню Clear, 293 Fill, 27 FillJustify, 108 Paste Special Transpose, 157 Paste Special, 140, 141 Repeat Formatting, 81 EFFECfQ, функция , 52 Ellipse, инструмент (панель инструментов Dmwing), 162, 166 EnergyGap, функция, 203 EOMONTHQ , функция, 44 EQV (логическая эквиваленmость) , формула для, 41 · ERF(), функция, 39, 461 ERFC(), функция, 39, 461 ERROR1YPE(), функция, S4 EVEN(), функция, 32, 34 EXACf(), фунхция, 28, 42 EXAМPLES . EXE, файл, 454 Excel версия для Мacintosh, 1О версия для Wmdows, 1О проrрамма конвеJУIИрования в FORTRAN, 206, 219 . ЕХРО, функция, 33 EXPONDIST() , функция , 47, 462 expoпential сшvе fits, 49 Exponential smoothing, проrрамма, 58, 458 F F statistic, 274 Fлcro. функция, 32 FACfOOUBLEQ, функция , 39 FALSE(), функция, 41 False, логическое значение, 38 FDIST(), функция, 47, 50, 462 File Ореп, ошибка, 195 File, меню aose, 63 New, WorkЬook, 64 Save, 64, 75 FiUed Arc, инструмент (панель инструментов Drawing в Excel 7.0), 162 FШed Ellipse, инструмент _(панель инструментов Dmwing в Excel 7.0), 162 FШed Freeform, инструмент (панель инструментов Drawing в Excel 7.0), 162 Filled Rectangle, инструмент (панель инструментов Dmwing в Excel 7.0), 162 Fmd Next, кнопха, в форме данных, 264 FIND(), функция, 42 FINYQ, функция, 47, 274, 462 FISHER(), функция , 46 FISHERINV(), функция , 46 FIXED(), функция, 42 FLOORQ, функция, 32, 34 Font Color, кнопка (панель инструментов Fonnatting), 66 Font Size, поле (панель инструментов Foпnatting), 66 Font, поле (nаиель инструментов Fonnatting), 66 For Each/Next, операторы, 197 For/Next, операторы, 196 FORECAST(), функция, 46, 49 foreground co\or, of chart, 139
IJ:fil Предметный указатеnь Fonnat Axis, диалоговое окно, 142 Fonnat Cells, диалоговое окно, 72, 74 Fonnat Object, диалоговое окно, 429 Patterns, вкладка, 145 Fonnat Painter, кнопка (панель инструментов Standard), 66 Fonnat, меню Cells, 72 Alignment, вкладка, 72 Font, вкладка, 116 Font, вкладка, sнperscript, 85 Function Wizard, кнопка (панель инструментов Standard), 31, 66, 204 FV(), функция, 51 FVSCHEDULE(), функция, 51 FРАСП(), фунЮIИЯ, 47, 50, 462 FРАСПОБР(), функция, 47, 274, F-статистика, F-тест, двухвыборочиый Д11Я диспереиониоrо анализа, NumЬer, вкладка, 80 NumЬer, вкладка, NumЬer Category, 74 Pattems, вкладка, 101 Protection, вкла.р.ка, 108 Protection, вкладка, Locked, 116 Protection, вкладка, атрибуr Нidden, 102, 108 139 Chart Туре, Object, 429 Selected, 139 Selected Axis, 156, 160 Scale, вкладка, 142 Selected Data Series, 287 Names and Values вкладка, 144 Pattems вкладка, I 60 Patterns, вкладка, 169 для диаграмм, 139 Fonnatlt, макрос, 185 Fonnatting, панель инструментов, 65 Fопт, панель инструментов, 65, 177, 199 Fonnula, строка, 67 FORTRAN, 175 конвер'mрование программы Excel, 206, 219 создание оператора, 216 Fourier Analysis, 58, 458 FoxPro, 244 Freefonn, инструмент (панель инструментов Drвwing), Freehand, 162 инструмент (панель инструментов Drawing), 162 FREQUENCY(), функция, 46 FROM, оператор в операторе SQL, 250 F-test two-sample for variances program, 58 FГEST(), функция, 47 FuU Screen, панель инструментов, 65 462 274 58 G"H GAМMADIST(), фун.IЩИЯ, 47, 50, 462 GAММAINV(), функция, 47, GAММALN(), функция, 47 462 Gaussian quadrature, 334, 339 GCD(), функция, 32, 35 GEDMEAN(), функция, 45, 48 GESTEP(), функция, 40 GetSaveAsFilename, метод, 209 Group Вох, инс;румент (панель инструментов Visual Basic Forms), 200, 208 Group Objects, команда (панель инструментов Drawing), 162 Group, инструмент (панель инструментов Drawing), 166 GROWfH(), фуихция, 46, 49, 276 GW-BЛSIC, 175 HARMEAN(), функция, 45, 48 HasFonnula, метод, 215 Help, кнопка (панель инструментов Standard), 66 Hertzsprong-Russell, диаграмма, 92 HEX2BIN(), функция, 39 HEX2DEC(), функция, 39 НЕХ20СГ(), функция, 39 Hide, метод, 201 Histogram, программа, 58, 458 HLOOKUP(), функuия, 55, 298 HOUR(), фунхция, 44 HYPOEOMDIST(), функция, 47, 50, 462 1 IF(), функция, 40, 88, 101 lf, оператор в Visual Basic, 197 IМАВS() 1 фующия, 40
li:Q Предметный gказатеnь IMAGINARY(), функция, 40 IMARGUMENT(), функция, 40 lMCONJUGATE(), функция, 40 lMCOS(), функция, 40 IMDIV(), функция, 40 IMEXP(), функция, 40 IMLN(), функция, 40 IMLOG 10(), функция, 40 1MLOG2(), функция, 40 IM Р (logical implies),' fonnuia for, 41 IMPOWER(), функция, 40 IMPRODUCГ(), функция, 40 IMREAL(), фунх:ция, 40 IMSIN(), функция, 40 IMSQRT(), функция, 40 IMSUB(), фунх:ция, 40 IMSUM(), фуttкция, 40 Increase Decimal, кнопка (панель инструментов Foпnatting), 66, 74 lnteger, 189 тип данных в INТERCEPТ(), функция, INТRATE(), функuия, 'ISLOGICAL(), функция, 54 ISNA(), функция, 54 ISNONТEXТ(), функция, 54 ISNUMBER(), фунюrия, 54 lsNumЬer, функция рабочего листа, 215 ISODD(), функция, 54 ISREF(), фунюrия, 54 ISTEXТ(), фунх:ция, INDIRECГ(), функция, INFO(), функция, 54 Input, оператор, 195 Jtalic, кноп:ка (панель Formatting), 66 InputBox, фунх:ция, 193 Insert Module, инструмент (панель инструментов Visual Basic lI.ЛЯ Excel 7. 0), 177 lnsert, меню Axes, команда (для Excel 7.0), 138 Chart, 133 As New Sheet (для Excel 7.0), 133, 150, 155 Data LaЬels (для Excel 7.0), 138, 143, 160 Gridlines (для Excel 7.0), 138 Legend (для Excel 7.0), 138 Macro (для Excel 7.0) 203, 209, 297 Dialog (для Excel 7.0), 177 Module (для Excel 7 .0), 176 Name, 25, 83 Create, 134 Define, 84, 135 Paste, 84 New Data (для Excel 7 .0), 138, 140 Note, 115 Titles (для Excel 7.0), 138 Trendline (для Excel 7.0), 286 lnstant Watch, инструмент (панель инструментов Visual Bamc lIЛЯ Excel 7.0), 222 lNТ(), фунх:ция, 32, 34 46 52 investment functions, 5'2 IPMT(), функция, 51 IRR(), фуихия, 53 ISBLANK(), фунх:ция, 54 ISERR(), функция, 54 ISERROR(), функция, 54 ISEVEN(), фунх:ция, 54 INDEX(), функция, 55, 276, 302 55 Visual Basic, 54 инструментов · J-K...L JET, механизм базы данных, 51 KURT(), функцИя, 46 LaЬel, инструмент (панель инструментов Visual Basic Foпns), 199, 207 J.ARGE(), функция, 46, 48 LCM(), фунх:ция, 32, 35 LEFГ(), функция, 42 LEN(), функция, 42 Line lnput, инструкция, 195, 244 Line, инструмент (панель иис-rрументов Drawing), 162, 166 LINEST(), функция, 46, 49, 274, 277, 278, 280 List Вох, инструмент (панель инструментов Visual Basic Foпns), 200 LN(), функция, 33 LOG(), фунх:ция, 33 LOGlO(), фунх:ция, 33 LOGEST(), фунх:ция, 46, 49, 276 LOG INV(), функция, 47 функция, LOGNORMDIST(), 462 Long, тип данных в LOOKUP(), 47, Visual Basic, 189 функция, 55
liфi ~ Предметный указатео1t _Lotus 1-2-3, вычисление даты, 107 LOWER(), функция, 42 м Macintosh, компьютер Excel, требования, 13 версни Excel, 1О MakeMatrix(), программа, 413 МАТСН(), функции, NORMSINV(), фунЮIИЯ, 47, 462 NOT(), функция, 41· Notepad (Windows). 233 NOW(), функция, 44 NPER(), фунЮ1ИЯ, 51 NPV(), фун.~щия, 53 NWind, база nанн:ых, запрос, 245, 250 о 55, 298, 301 MathТype, программа, 452 МАХ(), функция, 47 МDЕТЕRМ(), функция, OЬject Browser, nиалоrовое окно, 180 OЬject Browser, инструмент (панель инструментов Visual Basic для 38 MDURAТION(), функция, 52 MEDlAN(), функция, 45, 48 Microsoft Access, 245, 453 Microsoft, nанель ииструмеtпов Excel 7.0), 65 Excel 7.0), 180 Linking and OЬject (для 58 EmЬedding ~ (OLE), OCR, программное обеспечение, 230 MID$(), функция, 244 MID(), фунЮ1ИЯ, 42 MlN(), функция, 47 ОСГ2В1N(), функция, 39 ОСГ2DЕС(), функция, 39 MlNUTE(), фунЮ1ИЯ, 44 MlNVERSE(), функция, 31, 38, 372, ODD(), функция, 32, 34 ODDFPRICE(), фунЮIИЯ, 52 ODDFYIELD(), функция, 52 ODDLPRICE(), фунЮIИЯ, 52 ODDLYIELD(), фунЮIИЯ, 52 OFFSET(), функция, 55 Offset, метол, 185 OKBtn_Click, процедура, 213 OLE (связывание и внеnрение ОСГ2НЕХ(), функ:uия, 374,415 MlRR(), функция, 53 MMULT(), функция, 38, 374 MOD(), фунЮIИЯ, 32, 34, 80 MODE(), функция, 46 МОNТН(), функция, 44 Moving average, программа, 58, 459 MROUND(), фунЮIИЯ, 32, 34 MS Query, надстройка, 231, 244, 749 установка, 244 функция, 193 МULТINОМIАL(),функция, MsgBox, 32 N N(), фунЮIИЯ, 54 NA(), фунЮIИЯ, 54 Name, кнопка в строке формул, 67 NEGBINOMDIST(), фунЮIИЯ, 47, 462 NE1WORКDAYS(), функция, 58 On Error, оператор, 218 OnAction, свойство, 200 Open, nиалоrовое.окно, 194 Open, кноnка (панель инструментов Standard), 66 Open, оператор, 194 Option Button, инструмент (панель инструментов Visual Basic Foпns), 200, 208 Option Expficit, инСiруКЦИЯ, 188, 209 OR(), функция, 41 Oracle, 244 44 New WorkЬook, кнопка (пане.ль инструментов Standard), 66 NOMINAL(), функ:uия, 52 NORМDlST(), фунЮIИЯ, 47, объектов), 39 462 NORМINV(), фунЮIИЯ, 47, 462 NORMSDlST(), функция, 47, 50, 462 р Paradox, 244 Pascal, 175 Paste, кноnка (панель инструментов Standard), 66 Paste.. команда, 27
liф) Предметньк1 указатеnь инструмент (панель инструментов Drawing), 162 РС, компьютер, требования Excel, Pattem, 13 PEARSON(), функuия, 46 percent fonnat, 395 Percent Style, кнопка (панель инструментов Fonnatting), 66 PERCENТILE(), функция, 46 PERCENТRANK(), функция, РЕRМUТ(), фунх:ция, Pl(), функция, 33, 36 РМТ(), функция, 51 46, 49 46 POISSON(), функuия , 47, 50, 462 POWER(), функция, 32 РРМТ(), функция, 52 PRICE(), функция, 53 PRlCEDlSC(), функция, 53 PRICEМATE(), функция, 53 Print Preview, кнопка (панель инСJрументов Standard), 66 Print, кнопка (панель инСJрументов Standard), 66 Print, оператор, 194 PROB(), функция , 46 PRODUCТ(), функция, 32, 35 PROPER(), фунх:ция , 42 Protect Document, команда (меню Tools), 101 PV(), функция , 52 Q-R QUARТILE(), функция, 46 Query & Pivot ,..naнeль инструментов (для Excel 7.0), 65 Query Now, кнопка, 249 Query, надстройка, 231, 244, 249 установка, 244 Qtiery, окно , 247 QU011ENT(), функция, 32, 35 R1 Cl, стиль ссылок на ячейки, 20 оmосите.льные ссылки на ячейки, 23 RADIANS(), фунх:ция, 33, 35 RAND(), функuия , 32, 35 RANDBEТWEEN(), функция, NwnЬer Generator. Range, метод , 185, 187 Rаngе,обьект, 179, 187 Random 32, 35 58, 459 Rank and percentile, программа, 58, 459 RANK(), функция, 46 RATE(), функция, 52 RECEIVED(), функuия, 53 Record Macro, кнопка (панель инструментов Visual Basic), 182 Record New Macro, диалоговое окно, 181 Rectangle, инструмент (панель инструментов Drawing), 162 Register.JD, функция, 466 Regression Data Analysis, инструмент, 277 Regression, программа, 59, 459 Repeat, кнопка (панель инструментов Standard), 66 REPLACE(), функция, 42 RЕРТ(), функuия, 42 Reshape, команда (панель ннструментов Drawing), 162 Restore, кнопка, в форме данных, 264 REVPROB.EXE, файл, 454 RIGHT(), функция, 42 ROМAN(), функция , 32 ROUND(), функция, 32, 34 ROUNDDOWN(), функция, 33, 34 ROUNDUP(), фунхция, 33, 34 ROW(), функция, 55 ROWS(), функция, 55 RSQ(), функция , 46 Run Dialog, кнопка (панель инструментов Visual Basic Fonns), 200 Run Macro, кнопка (панель инструментов Visual Вasic), 183 s Sampling, программа, 59, 459 Save As, диалоrовое окно, 194 Save, кнопка (панель инструментов Standard), 66, 75 ScaJinger, Joseph, 107 Scenario Manager, 294 Scroll Ваr, кнопка (панель инструментов Visual Basic Fonns), 200 SEA.RCH(), функция, 42 SECOND(), функция, 44·
1рп1 SeeЬeck, коэффициент, 110 Select Case, оператор, 198, 217 Select Data Source, диалоrовое окно, 245 Select, метод, 414 Select, оператор в процедуре команды, 185 SELECf, оператор, в операторе: SQL, 250 Selection, инструмент (панель инструментов Drawiп8), 166 Send to Back, команда (панель инструментов Drawing). 162 SERIESSUM(), функция, 33, 35, 310 Show, метод дпя обьехта Dialog, 201 SIGN(), функuия, 33, 34 SlN(), функция, 33, 35 Single, тип данных в Visual Basic, 190 SINH(), функция, 33, 37 SKEW(), функция , 47 SLN(), функuия, 53 SLOPE(), функция, 46 SMALЦ), функuия, 46, 48 So\ver, 59, 293, 295 нелинейных уравнений, 364, 366 ПредметныU указатеоь Staпdard, панель инструментов, Fuпctioп Wtzard, кнопка, 31, 66 STANDARDIZE(), функция, 46 Static, оператор, 188 Status bar, 65 STDEV(), функция, 46, 48 STDEVP(), функция, 46, 48 Step, рс:ЖИМ отладки, 224 STEYX(), фунЮJ.ия, 46 Stop Macro, кнопка (панель инструментов ViS\tal Basic), 182 String, тип данных в Visual Basic, 190 Sub, процедуры, 198 не процедуры Functioп, 202 SUBSTIТUTE(), функция, 42 SUBТOTAL(), функция, 33 SUM(), функция, 33, 35, 293 SUMIF(), функция, 33 SUMPRODUCТ() , функuия, 33, 35 SUMSQ(), функция, 33, 35 SUMX2MY2(), функuия, 33, 35 SUMX2PY2(), функция, 33, 35 SyЬase, 244 SYD(), функция, 53 обыкновенных дифференциальных уравнений, т 406 Связанных линейных уравнений, 380, 382 установка, 294 Solver Parameters, JlИаЛоrовое окно, 294, 365 So\ver Results, диалоrовое окно, 294, 383 Sort Ascending, кнопка (панель инструментов Standard), 66 Sort Descending, кнопка (панель инструментов Staodard), 66 Sort, диалоrовое окно, 254 Spc:lling, кнопка (панель инструментов Staпdшd), 66 Spiппer, кнопка (панель инструментов Visual Basic Foпns), 200 SQL (Structured Query Language), 244 SQL, кнопка, 250 SQL-cepвepы, 244 SQRT(), функuия, 33, 35, 291 SQRTP(), функция, 33, 35 64, 66 Т(), функция , 42 ТаЬlе, диалоговое окно, 103 TAN(), функция, 33, 35 TANH(), функция, 33, 37 TaskЬar (Windows 95), 65 TBILLEQ(), функция, 53 ТВILLPRICE(), функция, 53 ТВILLYIELD(), функцщ, 53 TDIST(), функция , 47, 50, 462 Teach Text (Macintosh), 233 Text Вох, кноп~щ (панель инструментов Drawing), 162, 166 Text lmport Wiurd, 235, 237 Fixed Width, флажок, 237 диалоrовое окно, 233 ТЕХТ(), функция, 42 TIME(), функция, 44, 45 TIMEVALUE(), функция , 44, 108 TlNV(), функция, 47, 273, 462 1ipWwud, кнопка (панель инструментов Staпdard), 66 TipWizard, nанелъ инструментов (для Exccl 7.0), 65
1§11 Предметный указатеnь TODAY(), функuия, 44 Toggle Breakpoint, кнопха (панель . инструментов Visual Basic для Excel 7.0), 224 Toggle Grid, кнопха (nанель инструментов Visual Basic Fonns), 200 Tools, меню Add-lns, 57 Query, 245 Assign Macro (для Excel 7.0), 182, 202, 219 Data Analysis, Regression tool, 279 MS Query, 245 Options Calculation, вкладка, 43, 98, 353-360 Edit, вклаnка, 73 General, вкладка, Reference Style, 21 View, вклацка, 75, 81 Protect Document, 1О1 ProtectionProtect Sheet, 108 Record Macro Record New Macro, 182 Stop Recording, 182 Use Relatlve References, 182 Solver, 294, 365 назначение процедуры, 182 TRANSPOSE(), функция, 55 TREND(), фукнция, 46, 49 Trendline, дИаЛоrовое окно, 287 ТRIM() , фун.кция, 42 TRIMMEAN(), функция, 46 TRUE(), фун.кция, 41 True, логическое значение, 38 ТRUNC(), функция, 33, 34 1ТЕSТ(), функция, 47 ТУРЕ(), фунКЦШ1, 54 Т-тест, проrраммы, 59, 459 VALUE(), функция, 42 VAR(), фун.кция, 46, 48 Variant, тиn даннЬ1Х в VisUal Basic, 190 VARP(), функция, 46, 48 VAX, миннкомпыотер числовая точность, 18 числовой диапазон, 18 VDB(), функция, 53 View, меню Ftill Screen, 90 Sized Witlt Window, 150 ToolЬars, 66, 145, 161 VisiCalc, 9 Visual Basic for Applications вызов друrих процедур, 198 вычисление rамма-фун.кцин, 342, 344 дос1)'П к объектам, 179 заполнение матриц, 413 И!dПорmрование данных, 242, 244 комментарии, 185 константы, 214 математичес!Q{е операторы, 193 обработка ввода и вывода , 193, 195 оnерации со ссылками на ячейки, 187 отшщка программ, процедура настройкн сложных функций, 295, 298 nроцедуры автоматизации рабочих листов, 180 создание диалоговых окон, соэдание программ, СоздаНИС процедур, типы данных, 205, 219 176 189 формулы интеrриропания, 341, 344 57 фун.кции, создание, U-V 199, 202 фун.кции, кнопка (панель инструментов Foлnatting), 222. 224 188, 192 nереМеиные, 202, 205 316, фующи11 суммирования рядов, Underline, 66 Undo, кнопха (панель инструментов Standard), 66 Undo, кнопц (строка формул), 67 Ungroup OЬjects, команда (панель инструментов Drawing), 162 UPPER(), функция, 42 320 Visual Bвsic for Applications, 1О, 30, 175, 224 Visual Basic Foлns, nаиель инструментов, 199 Visual Basic, Enterprise Edition, 453 Visual Вasic, панель инструментов, 65 VLOOKUP(), фун.кция, 55, 148, 298
IДtj Предметный указатеnь w Автосумма, кноnка (панель инструментов Стандартная), variaЫe, regular, 223 WEEКDAY(), фунюmя, 44 WEEKNUMO, фунюmя, 44 WEIBULL(), функция, 47, 50, 462 watcb 66 АДРЕСО, функция, 55 АК111виая ячейка, 67 Алгебра матриц, 373 АМГД(), функция, 53 WНERE опе~тор, в оп~торе SQL, Амортизации, функции, 250 While/Wend, цикл, 196 АМОРУВ(), фунюmя, 52 АМОРУМ(), фунюmя, 52 АМР(), функция, 53 Анализ Фурье, 58, 458 Аппроксимация кривыми, 270, 305 Wmdow, меню Frceze Panes, 96 Unfrceze Panes, 97 Wmdows 95 Character Мар, 79 Windows, sерсия Excel, 10 WORКDAY(), функция, 44 Wor.kgroup, панель инструментов (дJIЯ Excel 7.0), 65 Worksheets, КОJVlекция, 197 Write, опе~тор, 194 взвешивание, 305 по функциям, 46, 53 49, 271, 286 проsер:ка статистических характеристик, 286 просмотр таблиц и интерполяции, 305 сложные функции, 288, 298 таблица поис:ка и интерполяции, 298 X-Y-Z XlRRO, экспоненциальное разложение, Арrумеиты функций, 30 Арккосеканс, функция, 53 XNPV(), функция, 54 XOR (исключающее ИЛИ), формула, 41 ХУ, тип диаrраммы, данные, Арккотангенс, Арксеканс, 86 37 37 86 Арсенид галия 127 редшсrирование, стили, 37 Арккосеканс, пmерболический, Арксеканс, rиперболический, 124 49 141, 146 124 температура электроииоrо газа, 358, 361 функция, 44 YEARFRAC(), функция, 44 YEAR(), YIELD(), функция, 53 YIELDDISC(), фующия, 53 YIELDМAТ(), функция, 53 Zoom, управляющиА элемент (панель инструментов Standard), 66, 166 ZТEST(), функция, 47 ZГЕСТ(), функция, 47 Z-тест, проrрамма, 59, 460 теплопроводность, 277, 278, 281 Б База данных дJIЯ анализа, 266 для включения экспериментальных данных в ~бочий лист, 251 хранение и дое1)'П к данным в Ехсе1, 250, 265 Базы даННЫХ обезвоживания rончих борзых, А Абсолюmая величина звеuы, 90, 92 Абсолюrные ссылки на ячейки, 24, 71 Автоза.полнение, 73 Автоматический пересчет, 416 257 извлечение записей из, 253 импорrирование из внешних, команды для, 251, реляционные, 246 254 создание диапазона, 251 БДЦИСП(), ФУнкция, 51, 265 БдПРОИЗВЕд(), функция, 51 244
IMJ Предметныu ук.азатеn1t БдСУММ(), функция, 51, 265 Бесконечность как предел ннтеrрирования, 335 Бесселя, функции, 38, 3 11, 460 с кrерацией рабочеrо листа, 315 БЕТАОБР(), функuия, 47, 462 БЕТАРАСП(), функция, 47, 462 БЗО, функция, 51 БЗРАСПИС(), функция, 51 БИЗВЛЕЧЬ(), функция, 50 БИНОМРАСП(), функция, импортирование из, 244 Во весь экран, панель инструментов, 65 Возведения в сrепенъ, операция, 47, 50, rиперболические уравнения в 439 442 Волновое уравнение, 439, Восклицательный знак (!) в синтаксисе обьектов, (Wmdows), 233 21 ВОСЬМ.В.ШЕСТНО, функция,. 39 55, 148, 298 ВРЕМЗНАЧ(), функция, 108 ВРЕМЯ(), функuия, 44, 45 Ван дер Ваальса, уравнение ВРЕМЯЗНАЧ(), функция, 88, 90 Ввод данных, обработка в Visual Basic, 193 Ввод, обработка в Visual Basic, 195 Вебера, функция, 461 ВЕЙБУЛЛ(), функция, 47, 50, 462 Векторные функции поиска, 55, 57 Вернуrь,:кнопка(панель ИНСiрументов Сrандарrnая), 66 Вернуть, хкопка, в форме данных, 264 ВЕРОЯТНОСТЬ(), функция, 46 85 Веса, в аппроксимации кривыми, 49 Вибрирующей струны, колебания, 440 Вид, меню Во весь экран, 90 Панели инструментов, 161 По размеру окна, 66, 145, . 150 Видимая величина звезды, Вложенность функций, 91 30 IF(), 148 ЕСЛИ(), 39 39 ВОСЬМ.В.дЕС(), функция, Времени,функции,44 в 148 ВНДОХ(), функия, . восьм.в.дво. функция, ВПРО, функция, Верхние индексы, 180 во внешних ссылках иа ячеАки, Борзые, обезвоживание перед rонками, 265 БСЧЕТО, функция, 50, 264 БСЧЕТА(), функция, 50 состояния, 28 Волновая механика, часntых производных, 462 Блокнот 59 Внешние функции, 58, Внешняя база данных, 53 Внедренные диаrраммы, 123, 131 редактирование, 138 Внешние библиотеки, 463, 466 Внешние ~сылки на ячейки, 21 44 Вставить, кнопка (rtанель инструментов Стандарrnая), Вставить, команда, 27 66 Вставка ссылок на ячейки, 21, 68 функции для раООrы с массивами в диаnазон ячеек, 31 31, 204 функций в формулы, Вставка функции, кнопка (панель инструментов Стандарrная), 31, 66, 204 Вставка, меню Диаrрамма, 133 На новом листе (для Excel 7.0), 150, 155 Имя, 25, 83 Вставип., 84 Присвоить, 84, 135 Создать, 134 Легенда (для Excel 7.0), 138 Линии тренда (для Весе! 7.0), 286 Макрос (для Excel 7 .О) Диалоrовое окно (для Excel 7.0), 177 Модуль (для Excel 7.0), 176, 203, 209, 297 Метки значений (для Excel 7.О), . 138, 143, 160 Названия (для Excel 7.0). 138
IUI Предметный указатеnь Новые данные (для ГАММАРАСП(), функция, 47, 50, Excel 7.0), 138, 140 462 Оси, команда (для Примечание, Сетка (для Excel 7.0), 138 115 вычисления, Excel 7.0), 138 Встроенные панели ииструментов, 66 Второrо порядка, дифференциальные урав~кия. 401 Выбор источника данных, диалоrовое окно, Гамма-функция , 336, 339 функuия Visual Basic для метод, 372, 378 Геяерация случайных чисел, (панель инструмеН'l'Ов 86, 87 Рисование), 162, 166 обратные, 33, 37, 86 ГИПЕРГЕОМЕТ() , функция, 55 Выборка, программа, 59, 459 Вывод, обработка в Visual Basic, 47, 50, <Ui2 194, 195 Гистограмма, программа, Глобальные константы, в 58, 458 Visual Basic, 186 Выделение .а,,иапазоиа иепустых ячеек, 136 несмежноrо диапазона с использованием мыwи, Выполнения, о1Шfбки, 23 Выхода, процедура, Глобальные переменные, ГОД() , функция, ГПР(), функция , 191 44 55, 298 (. ), 79 функuия, 33, 36 Градуса, символ 222 Выполнить макрос, кнопка (панель инструмеН'l'Ов Visual Basic), 183 выравнивание, меток, 72 Вырезать, кнопка (панель инструментов Сrандартиая) , 66 Вырожденная матриuа, 37 3 464 ГРАДУСЫ(), Границы, для рабочего листа, 74 Граниuы, кнопка (панель инструментов Форматирование), 66, 74, 81 , 115 Граничные условия, для дифференциальных уравнений, Выходной диапазон 390, 391 нзмечение записей базы данных, 263 Графика, вставка на рабочий лист, 170 Графики, соэддние в Вычисления 1F, фУJUЩия для проверки логического условия, 40 ЕСЛИ, функuия для проверки логическоrо условия, 40 операторы, 28, 29 Вычисляемые поля , в формах данных, 264 Вычитаиия,операuия, 28 Газовая динамика, rиперболические уравнения в частных 439 ГАММАНЛОГ() , функuия, ГАММАОБР(), функция, DeltaGraph Pro, 132, 450, 451 Графические методы, для решения нелинейных уравнений, 352 Группировать, инструмент (панель инструментов Рксование), 166 д Далее, кнопка, в форме даННЫХ, 264 Данные, выбор для диаграммы, 125 г производных, 58, 459 Герметический вомной реактор, 299 ГерUUU1рунrа-Рассела,диаrрамма, 92 Гиперболические уравнения в частных производных, 439, 442 Гиперболические функuии, 33, 37, 245 Выбор объектов, инструмент ВЫБОР(), функция, 342 Гаусса-Зайделя, итерационный 47 47, 462 Данные, меню Внешние даННЫе, 245 Сорmровка, 265 Таблиuа подстановки, 97, 103 из двух входных табmщ, 103 недостатки, 98
- lt l@lj Предметныii указатеntt Текст по столбцам, реДаК111рование, создание, 133 ДИаrраммы 237 Фильтр Автофильтр, 252, 261 Оrобраэить все, 253, 263 Расширенный фильтр, 253, 262 Форма, 252, 264 Данные, типы в Visual Basic, 188, 189 Данных, ввод, 96 вручную, 230 101 импортироваиие из файла на диске, 231, 242 Visual Basic, 193 Данных, метки, 143 Данных. форма, 252, 264 ДАТА(), функция, 43 ДАТАЗНАЧ(), функция, 43, 108 ДАТАКУПОНДО(), функция, 52 ДАТАКУПОНПОСЛЕ(), функuия, 52 направлению, 146 логарифмический масштаб по одному направлению, 151 редактирование, 131, J37, 145 создание, 113, 136, 137 стрелки, 145 улучшение качества, 132 форматирование, 139 ДИаrраммьr, панель инструментов, 44 ДВ .В .ВОСЬМ(), фунхuия, ДВ.ВДЕС(), функция, 39 139 закрепление содер:жимоrо, 141 лоrарифмическкй масшrаб и логарифмический по одному обработка в ДАТАМЕС(), функция, 124 выбор типа, 124 добавление и изменение объектов, 138 добамеиие кривых, 140 добамеиие непрю::репленноrо текста, защита от случайного ввода, ДИалоrовые окна код д1IЯ скрытия в 39 ДБ.В.ШЕСТИ(), функция, 39 Двоичные файлы, запись в текстовый файл, 23 l Visual Basic, назначение процедур уnравляюu.щм элементам, прямоуrольиый формат, 92 458 ДВФАКТР(), функция, 39 ДЦОБ(), функция, 53 Деления, операция, 28 202, 219 отображение, 201 рисование, 199 скрытие, 201 соэдание в Vtsual Basic, 199, 202 соэдание польэоваrельских, 193 Двухвыборочный F-тест, Делианиса, 'lастаrный фильтр, создание процедур д1IЯ уnрааляющих элементов, 162, 209 ДИалоrовые рабочие листы, 177 Диапазон вывода 170 опреДеление, диаграмма передаrочной функции, а не частоты, 165 ДЕЛЬТА(), функция, 39 Денежный формат, кнопка (панель инструментов Форматирование), 66 ДЕНЬ(), функция, 44 ДЕС.В.ВОСЬМ(), функция, 39 ДЕС.ВДВ(), функция, 39 ДЕС.В.ШЕСТН(), функция, 39 Десятичные знаки, число отображаемых, 73 листы, 123 253 диапазон условий д1IЯ расширеННоrо фильтра, определение, 253 Диапазон ячеек, 20, 21 вставка функций работы с массивами, 44 ДЕНЬНЕД(), функция, 65 214 ДВССЫЛ(), функция, 55 Двухвходовые таблицы, 88, 93 параллельные столбцы, 88, 89 Диаграмм, выбор стиля, l 38 253 31 вьщелекие непустых ячеек, 136 имена, 25, 83 ссылки, 21 динамически связываемые библиотеки (DLL), 58, 187, доступ к функциям, 466 компилятор для создания, 411 46 3
мим Предметныu ук.азатеnь Дирнхле , граничные условия, ДИСП(), фунI01ИЯ, 46, 48 д.tсперсионный анализ , 456 Диспе1Чер сuеиариев, 416 ДОХОДСК.ИДКА() , функция, ДОХОДЧЕК(), функция , 53 294 ДИСПР(), функция, 46, 48 391 Дуrа, инструмент (панель ииструменrов Рисование), ДФОШ(), ф)1{кция, 39, 461 391 обыкновенные, 390, 417 обыкновенные или в частных производных, 424 391 ДиффереИциальные уравнения в ЕЛОГИЧ() , ф)1{Ю1ИЯ, частных производных не обыкноиеннь1е, <424 параболические, 432,439 тиnы, 424 элиптические, 425, 430 ЕНЕЧЕТ(), функция, ЕОШ() , фующия , rиперболическне дифференциальные уравнения · в частных производных, 439 параболические цифференциальные уравнения в частных произво.11Ных, ДЛИТ(), функция, 52 ДЛСfР() , функция, 42 432 ЕСЛИ(), функция вложение, 148 ЕСЛИ(), функция, 40, 88, 101 ЕССЫЛКА(), функция , 54 ЕТЕКСТ(), функция, 54 ЕЧЕТН(), функция, 54 ЕЧИСЛО(), функция, 54 Зависимость конuентрации 81 52 ДОБ(), фующия, 53 Добавить модуль, инструмент (панель инструментов Visual Вasic для Excel 7.0), 177 Добавить примечание, хоманда, 115 ДОВЕРИТ() , функция, 46 Доверительный интервал, 271 108 Доллара, символ($) , для абсолютных ссылок на ячейки, 24 ДОЛЯГОДА(), фунЮlИЯ , 44 Дополнительная функция о11Шбок, 53 54 носителей заряда оr. темnературы, 265 ДНЕЙ360(), функция, 44 ДНЕЙК.УПОН(), фунЮlИЯ, 52 ДНЕЙКУПОНДО(), фунЮlИЯ, 52 ДНЕЙКУПОНПОСЛЕ(), фунЮlИЯ, 461 54 54 ЕОШИБКА(), фующия, 54 ЕПУСТОС), функция, 54 Диффузия Документ, защита паролем, 54 ЕНД(), функция, 54 ЕНЕТЕКСТ() , фунЮlИЯ, rиперболические,439,442 ДОХОД(), функция, 162 Е-3 первого порядка , ДМАКС(), функция, 50, ДМИН(), фунI01ИЯ, 265 265 51 ДСТАНДОТКЛП(), фующия, Дифференциальные уравнения второго порядка, 401 граничные условия , 390, 53 ДСРЗНАЧ(), фунI01ИЯ , 50, 265 ДСТАНДОТКЛ(), фунЮlИЯ, 51, Дифференuиальное уравнение первого порядка, ДОХОДПЕРВНЕРЕГ(), функция, 52 доходпоrлшо, функция, 53 ДОХОДПОСЛНЕРЕГ() , функция, 52 Зависимые переменные , 88 Заrоловки, 71 добавление к диаграммам, 128 закрепление, 96 Заrоловки, выравникание по uентру, 73 Заrоловок процедуры, 176 Задачи Ко11Ш, 390, 400 метод Рунге- Купа, 398, метод рядов Тейлора, 400 392, 395 метод Эйлера и модифицированный метод Эйлера, 396 Захрашенный произвольный контур, инструмент, 162 Закрашенный прямоуrольник, инструмент, 162 Закрашенный сектор, инструмент, 162
IЩI Предметныu ук.азатеnь Закрашенный эллипс, инструмент, Закрытие размеченного табуляциями 63 файлов во время отладки, Закрыть, кнопка, 63 ЗАМЕНИТЬ(), функция, 42 Замораживание 219 236, с использованием Visual Basic for Applications, 242 таблнчных данных, 237, 238 96 содержимоrо диаграммы, текстовою файла, 237 размеченных файлов, 233, 237 141 Записать макрос, кнопка (панель файлов из тексrовоrо процессора, инструментов Visual Basic), 182 Записи в базе данных, 50, 250 измечение отфильтрованных, 262 ограничение отображения, 254 Запись макроса, диалоговое окно, 181 Запись процедуры, 181 Запрос и сводные таблнцы, панель инструменrов (для Excel 7.0), 65 Защита, команда (меню Сервис), 101 238 ИНДЕКС(), функция, 55, 276, 302 Инженерной катеrории, функции, 38 Инженерные вычисления, ЛИС"I', Инженерные таблицы, 63, 116 абсолютная величина звезды, 12 90, 92 rиперболнческие функции, двухвходовые таблицы, 86 88, 93 зависимость концентрации Звезды, абсолютная величина, ЗНАК(), функция, 33, 34 ЗНАЧЕН(), функция, 90, 93 носителей заряда от температуры, 81 калькуляrор функции, 116 калькуляторы функций, 106 42 Значение, свойства ячейки, 20 Значения коэффициент лавинною вычисление списка, 69 замена формул, 83 функции определения типа, умиожеиия электронов в кремнии, 55 неопределенных функций, "IраНсформатор, 85 103, 106 напряжение и прогиб консольной Значения по умолчанию для вида диаграммы, 146, 151 лннейный nеременно­ дифференциальный Значения ошнбок, для балки, 139 для формата текстовых файлов в 99, 102 подвижность электронов в кремнии, Excel, 231 94, 97 построение графиков, мира, 76, 81 температурный профиль в 26, 41 Изалечение заriисей из базы данных, 253, 262 в целевой диапазон, ИЛИ(), функция, 41 Имена констант, 82 133, 136 прецессия северною полюса и И(), функция, 231 244 из внешней базы даиных, рабочею листа, заrоловков, Импорmрование данных из файла на диске, 162 объектов в диалоговом окне, пераменных, 188 ячеек и диапазонов, 25, 83 152, 155 удельное сопротиалсние крамния, 263 неопраделенные в формулах, перенапряженном кремниевом диоде, 133, 134 уравнение состояния Ван дер 85 201 Ваальса, 88, 90 Инженерный формат, ИНОРМА(), функция, 132 52 Интеrралы, несобственные, 335
IЦl:i Предметныu указатеnь Интегрирование данных, 332, 341 бесконечность как предел, 335 - методы 340 на рабочих листах, добавление на рабочий лист, как объекты, 336, прикрепление процедуры MakeMatrix, 414 46, 48 Интерполяция кубическая, 303, 305 линейная, 299, 302 КОВАР() , функция, Ковариациоиный анализ, программа, ИНФОРМ() , функция, 54 Информационные функции, 54 Искровые зазоры, импоtуmрование текстового файла , 233 58, 457 КОДСИМВ(), функция, 42 Коле&! ння . rи перболические дифференциальные уравнения в частных производных , Искровые промежутки, 439 импортирование текС1'овоrо Коллективиая работа, панель инструментов (для Excel 7.0), файла , КоJШекции объектов, цикл, 237 исrиНАО , функция, 41 ИСТИНА, логическое значение, Истинности, таблица , для логических функций, Итерации временных шагов, 38 438 372, 378 в Visual Basic, 185 конвертирование меток, 215, 216 Конвертирование программы для Excel к Кавычка, одинарная управления, Visual Basic, для nyrи к каталоl)' в ссылках на ячейки, 21 Калькуляторы функций, 106, 109, 116 109, 116 Каталог, во внешней ссылке на 21 Квадратичные кривые, 303 Квадратура Гаусса , 334, 339 КВАДРОТКЛ(), функция , 45 46 функция, 46 КВАРТИЛЬ(), функция , КВПИРСОН(), Квавиатурные эквиваленты, Macintosh или РС, FORTRAN, 206, 219 1О Клавиатурные эквивалеКJЫ, назначение макросу, 208 ПОIIЪЗовательское диалоговое окно, (') 185 ячейку, в диалогового окна, процедуры для комментариев в сложные, 40 Комментарии 436, 439 задаиие максимального числа, 65 197 Командные процедуры для автоматизации обработки рабочих листов, 180 запуск, 186 КОМЛЕКСН() , функция, 41 Итерационный метод Гаусса-Зайделя, 298 179 181 Классификация типов уравиеиий в частных производных, 424 Кнопка, инструмент (панель инструментов Формы) , 200 Кнопки панелей инструментов, описание, 64, 66 206, 208 Конец процедуры, 176 Конкатенации, операция (&), 28 КОНМЕСЯЦА(), фуию..r.ия, 44 Консольная балка, напряжение и прогиб в, 99 Константы в Visual глобальные, 186 определение, Basic, 214 203 Константь1 в уравнениях, Контейнера, модель, 179 82 Контрольное значение, инструмент (панель инСЧJум:еtпов для Visual Basic Excel 7.0), 222 Концентрация носителей заряда, зависимость от температуры, 81 Концентрические цилиндры , потенциал между, 426, 430 Копирование и относительные или абсолютные ссылки Д1IЯ формул, 23 рабочего листа, 140 ссЫJtок на ячейки , 26 ячеек, 80
1рр1 Предметныu указатеnь температурный профиЛь в Копирование и вставка, для отфильтрованных записей базы данных, 76, 96 66 35, 291 33, 35 КОРРЕЛ(), функция, 46, 48 Корреляции, коэффициент, 272 Корреляционный анализ, 457 Корреляционный анализ, 58 энерrии перехода, 202, 203 Кривые, добавление к лиаrрамме, 140 КРИТБИНОМ(), функция, rиперболический, 37. обратный rиперболический, Котанrенс, 36 rиперболический, 37 обратный rиперболический, 264 Критерия значимости, функции, Кубические кривые, 37 л 24 ЛГРФПРИБЛ(), функция, 111 272 Коэффициент лавинноrо умножения электронов в кремние, 146, 151 Коэффициенты возрастания кривой, 49 ЛЕВСИМВ(), функция, Левые разности, Леrенда 42 325 для диаграммы, редактирование, 129 138 ЛИНЕЙНО, функция, 46, 49, 274, 277. 278, 280 Линейная интерполяция, Коэффициенты лавииноrо 299. 302 Линейная регрессия, вычисление, 147 Коэффициенты ~грессии, таблица, 278 276, 281 теплопроводность арсени.rш rалия, 277, 278, 281 КПЕР(), фун:к:ция, 51 Краевые задачи для обыкновенных Линейный переменно­ днфференциальный дифференциальных уравнений, 401, 416 метод конечных разностей, 407 401, 407 удовлетворение условиям более высокоrо порядка, Кремний 46, 49, 276 регрессии, 283 Коэффициент детерминированносrи метод стрельбы, 303 66 71 умножения, таблица, 303, 305 37 в формуле, для абсолютной определение, 47; Курсив, кнопка (панель инструментов Форматирование), Коэффициент произвоцительности, 47 Критерии, кнопка, в форме данных, Кубическая интерполяция, для функций, 305 ссылки на ячейку, 133, 134 50 36 извлечение, 67, 75 функция макроса для вычисления КОРЕНЬ(), функция, 33, КОРЕНЬПИ(), функция, программа, теплопроводность, удельное сопротивление, Копировать, кнопка (панель инструментов Стандарmая), Копировать, команда, 27 Косеканс, 152, 155 Копирование формул, создание таблиц, перенапряженном диоде, 262 416 166 коэффициент лавинноrо умножения, 146 подвижность электронов, трансформатор, 103, 106 Линии сетки, на рабочем m1cre, 75 Линии тренда, 286, 288 Линия тренда, циалоrовое окно, 287 Линия, инструмент (панель инструментов Рисование), 162, 94, 96 Лоrарнфмические диаrраммы, 146 Лоrарифмическ:ие функции, 33, 35 Лоrарифмический масштаб диаrраммы по одной оси, 146
i1Фi Предметныu указатеnь Логическая эквивалентность, формула для, 41 Матричные методы Логические значения, функции, 41 Логические операции, 28 Логические функции, 38, 41 таблица истинности, 41 Логические функции проверки, 41 ЛОГНОРМОБРО, функция, 47 ЛОГНОРМРАСП(), функция, 47, 462 ЛОЖЬ(), функция, 41 · для систем уравнений, 372, 374 конечных разностей, 411, 416 Матричнь1е функции, 38, 372 МВСД(), функция, 53 МДЛИТ(), функция, 52 МЕДИАНА(), функция, 45, 48 Меню, строка, 64 МЕСЯЦ(), функция, Метки, 71 выравнивание, ЛОЖЬ, логическое значение, 38 44 72 конвертирование в примечание, 216 м Макросы, на диаграммах, 181 МАКС(), функция, 47 Маркер заполнения, 27, 69, 80 Массивы переменных, ЦИК.,'JЫ для. 197 Массивы, формулы в надстройке Solver, 293 в надстройке Поиск решения, ввод, 293 построение, диаграмме, 138 Метод конечных разностей для краевых задач, 407 итерационнь1й, 407, 408 матричное решение, 411, 416 ускоренный, 407. 409 Метод наименьших квадратов, 49 Метод релаксации для нелинейных уравнений, 276 Массивы, функции, 357, 362 Метод Якоби для решения систем 31 уравнений, 204 375 Мастер диаграмм, кнопка (панель Методы объектов, инструментов Стандартная), МИН(), функция, 66, 179 47 МИНУТА(), функция, 124, 136 Мастер диаграмм, 124, 128, 165, 278 шаr 1, выбор типа диаграммы, 124 шаr 2, выfiор источника данных, 125 шаг 3, выбор параметров диаграммы, 128 шаг 4, выбор места размещения диаграммы, 130 Мастер подсказок, панель инструментов (для Excel Мастер текстов. 160 Метки данных, редактирование на 44 МНИМ.АВS(), функция, мним.соsо. функция, 40 40 МНИМ.ЕХР(), функция, 40 MHИM.LN(), функция, 40 МНИМ.10010(), функция, МНИМ.АРГУМЕНТ(), функция, 40 МНИМ.ВЕЩ(), функция, 7.0). 65 235, 237 233 диалоговое окио, фиксированной 1Шlрины, флажок, 237 Масuпаб, управляющий элемент Стандартная), 66, 166 Математические операторы в Visual МНИМ.СГЕПЕНЬ(), функция, 40 40 мним.чАсrьо, функuия, 40 Мноrовходовые, мноrостолбцовые таблицы, Basic, 193 Математические операции, 28 Математические функции, 32, 40 МНИМДЕЛ(), функция, 40 МНИМ.КОРЕНЬ(), функция, 40 МНИМ.ПРОИЗВЕД(), функция, 40 МНИМ.РАЗИ(), функция, 40 МНИМ.СОПРЯЖ(), функuия, 40 МНИМ.СУММ(), функция, (панель инструментов 40 MHИM.LOG2(), фунхuия, 40 MHИM.SIN(), функция, 40 93, 96 Многомерная линейная регрессия, 38 271
•1~11 Предметныu ук.азатеnь МОБР(), функция, 31, 38, 372, 374, Неверные числовые вычисления, МОДА(), функция, 46 Модифицированный метод Эйлера, Неверные числовые вычисления, 415 функuия 397, 401 Модуля, лист, 177 238 40 функция ЕСЛИ для проверки, 40 423 Незащишенные ячейки, МОПРЕД(), функция, 38 МУМНОЖ(), функция. 116 Неймана, граничные условия, МУЛЬТИНОМ(),функция, 416 Неймана, функция,461 32 38, 374 Нелинейная динамика, Мышь 17 J50, 366 Нелинейные уравнения, графические методы решения, .IVlЯ выделения несмежных диапазонов, 23 метод Ньютона, для выделения ссылок на диапазоны, метод последовательных приближений, 350, 355 метод релаксации, 357, 362 н надстройка 162 166 к диаграмме, 139 Непустые ячейки, выделение диапазона, 136 пользованием клавншн Несобственные интегралы, диалоговое окно, 186, 298, 414 Наиболь11Шй общий делитель, 35 НЕТ(), функция, НАИБОЛЬШИЙ(), функция, 46, 48 Н::~именьшее общее кратное, 35 НАИМЕНЬШИЙ(), функuия, 46, 48 НАЙТИ(), функция, 42 НАКЛОН(), функция, 46 НАКОПДОХОД(), функция, 52 НАJ(ОПДОХОДПОГАШ(), функuия, 52 Напряжение и прогиб консольной балки, 99, 102 35 Небесная механика, вычисления, 335 НЕЧЕТ(), функция, 32, 34 Новой строки, символ, 195 НОД(), функция, 32, 35 НОК(), функция, 32, 35 Номера о!Шlбок, 19 НОМИНАЛ(), функция, 52 НОМНЕДЕЛИ(), функция, 44 НОРМА(), функция, 52 НОРМАЛИЗАЦИЯ(), функция, 46 Нормирование систем связанных уравнений, 383 47, 462 47, 462 НОРМСТОБР(), функция, 47, 462 НОРМСГРАСП(), функция, 47, 50, 462 нпзо. функция, 53 НОРМРАСП(), функция, 17 <Ctrl>, 41 НОРМОБР(), функция, Начтъ изменение узлов, команда (панель инструментов Рисование), 162 НД(), функция, 54 76 85 Непрерывная производная, 303 Неприкрепленный текст, добавление ;f omo, 57 Назначить макрос обьеК1)', Небесный экватор, приближение, 350 Неопределенные имена, в формулах, Несмежнь1е диапазоны, выделение с 30, 57 · Натуральный лоrарифм, 364, 366 На передний план, команда (ланел.ь инструмеюов Рисование), 162 Надпись, инструмент (панель инструмеюов Формь1), 199, 207 Надпись, кнопка (панель инструмеюов Рисование), 162, Надстройки, диалоrовое Soiver, 364, 366 надстройка Поиск решения, инструмеюов Рисование), 352 362, 364 22 На задний план, команда (паиель Надстройки, проверки, Независимые переменные, 88 в дифференциальных уравнениях, Моноширинные шрифты и анализ данных, IF .IVlЯ
Предметный указатеоь Ньютона, метод для нетшейных уравнений, задачи Коши, 390 416 362, 364 краевые задачи, о Обычный лоrарифм, не в частных производных, Обычный просмотр переменНЪIХ, 223 Обезвоживание борзых перед rонками, 424 _,. 35 Овал, инструмент (панель 265 соэдание базы данных, ОБЛАСТИ(), функция, инструментов Рисование), 256 162 166 55 Обработка ошибок, 222 в Visual Basic, 218 Data)>Table, 98 Обратная матрица, 37 3 Обратные rиперболические Одновходовая таблица, команда функции, 33, 37,86 Обратные тригонометрические функции, 33, 36 Окно, меню Данные>-Таблица подстановки, Закрепить области, 22 Объединение теКстовых строк, 28 Объедиюпь и поместить в центре, кнопка (панель инструментов Форматирование), 66, 81 Объектно-ориентированное лоrические, Visual 202 179 197 28 математические, приоритет, 29 унарные, 28 28, 29 Операции с текстом, 28 Описательная статистика, программа, 58,458 Оптимальные зиачеиия, 109 Орфография., кнопка (пане.ль 124 инструментов Стандар'mая), 66 128 52 . Осей, метки, для диаграмм, 140 с nропорциоиальной сеткой, 161 соэпание, 151, 161 стили, 124 таблицы, 154 Объемные таблицы, с 156 • 159 Объямение виешней функции, 59 пропорциональной сеткой, Обыкновенные диффе~нциальные уравнения, 32, 34 Операции оnределение свойств и методов, изменение ориентации, каркас, 155 327 327 ОКРУГЛТ(), функция, Basic, 179 Объемные диаграммы, данные, 127 Окруrление чисел, 34 в разностных формулах, формулах, 179 цикл для коллекций, ОКРВНИЗ(), функция, 32, 34 ОКРУГЛ(), функция, 32, 34 ОКРУГЛВВЕРХ(), фущщия, 33, 34 ОКРУГЛВНИЗ(), функция, 33, 34 Окруrления, ~шибки, в разностных Объекты в диалоговых окнах, 201 добавление и изменение на диаграмме, 140 назначение nроцедуры, 97 ОКРВВЕРХ(), фущсция, 3~. 34 Объединение диапазона ссъшок, доступ с использованием 98 96 Снять закрепление областей, ОБЩДОХОД(), функция, 51 ОБЩПЛАТ(), функция, 51 программирование, • Одновходовая таблица, команда 390, 417 для краевых задач, 401 для начальных задач, 401 ОСНПЛАТ(), функция, Останова, критерий (для итерационноrо процесса), 355 Остановить запись, кнопка (панель инструментов Осrановка записи) 182 ' ОСТАТ(), функция., 32, 34, 80 Остаточная квадратичная ошибка, - 271 Остаточные члены, сумма квадратов 2~ , Ось, редактирование на диаграмме, 138
Предметныu указатеnь ОТБР(), функцня, 33, 34 п Оrдельно распространяемая ,днекета, Пакет анализа, 12, 454 Оrклонение эклнnтнки, 78 встроенные, 66 66 Панель задач (Windows 95), 65 Пара, таблицы, 299, 300 вычисление ежеrодноrо изменения, 78 отображение, Оrкрь1тие документа, диалоговое окно, 194 Открытые файлы Параболические дифференциальные 195 использование Visual Basic для заnиси в, 194 процедура закрытия, 219 и сбой программы, уравнения в частных производных, инструментов Стандартная), Отладка, 318 двухвходовых таблиц, Переrретоrо пара, точки данных, 219 Basic, 222 299, 302 Перегруппировать, команда (панель Оrмена, кнопка (строка формул), 67 Отменить, кнопка (панель инструментов Рисование), инструментов Стандартная), 66 инструментов Формы), 23 в глобальные, 27 для двухвходовых таблиц, панель инструментов, 88 27 Перенос, гиперболические уравнения в частных 201 панелей инструментов, производных, 66 Рисование, панель инструментов, 161 фармул на рабочем листе, 75 Отобразить окно, кнопка (панель инструментов Формы), 200 47, 462 46 Пересчет автоматический, неопределенной переменной, Ошибка. открытия файла, 195 Ошибки 188 327 195 переполнения nри вычислениях, 38 18 Пересечение ссьmок на диапазоны, ПЕРЕСГ(), функuия, Ошибка компиляции, из-за 18 чувствительность эле1СТр0нных 22 ОТРЕЗОК(), функция, 46 Отрицания, операция, 28 в разностных выражениях, выполнения, 222 439 Переполнения, ошибка, чувствительность электронной таблицы, 18 Переполнения, ошибка, таблиц, ОТРБИНОМРАСП(), функция, Ошибок, фуюшии, Visua! Basic, 188, 191 191 Перемещение ссьmок на ячейки, Отображение открытия файла, 200, 208 Переменные копирование, а не перемещение диалоговых окон, L62 Переключатель, инструмент (панель Относительные ссылки на ячейки, Drawing, 161 88, 89 108 Пароль,защить1документа, ПДОБ(), функция, 53 66 закрытие файлов в проuессе, фармул, 432, 439 Параллельный столбец, для Оrкрьпь, кнопка(панель программы Visнal 57, 456, 459 Панели инструментов 416 Перетащить и опустить, для копирования и вставки, 87 46 ПЕРСЕНТИЛЬ(), функция, Печать,кнопка(панель инструментов Стандартная), ПЕЧСИМВ(), фунЮlИЯ, ПЗ(), функция, 52 ПИ(), функция, 33, 36 ПИРСОН(), функция, ПЛПРОЦ(), функция, 42 46 51 66
•1~11 Предм~tii указатеоь По левому краю, кнопка (панель инструментов форматнрования), 66 По правому краю, кнопка (панель Поле со списком, кнопка (панель инструментов Формы), 200 Полнлиния, инструмент (панель инструментов РисоВ3Ние), 162 инструментов Форматирование), Полиномиальная регрессия , 66 вычисление, 283 Полиномы Лежандра, 316, 319 Полоса прокруrки, кнопка (панель инструментов Формы), 200 Полужирный, кнопка (панель инструментов Форматирование) , По центру, выравнивание 73 заrоловков, По центру, кнопка (панель инструментов Форматирование), 66 Поворота, уrол, для объемных 11Иаrрамм, 156 ПОВТОР(), функция, 66 42 Подвижность электронов в кремнии, 94, 97 Подписи данных, 143 Подпрограммы Пользовательское 11Иалоrовое окно для конвертирования проrраммы из Excel в FORTRAN, 206, 208 сщцание, 193 Помощник, кнопка (панель 465 DLL, 58 объяаление, хранение в инструментов Стандартная), хранение в 11ИНамически связываемых библиотеках. 58 ПОДСfАВИТЬ(), функция, 42 Подчеркивание в именах ячеек, 84 Подчеркивание, для ячеек, 115 Подчеркнуrый, кнопка (панель инструментов Форматирование), 66 Поиск рещеиия , 59, 293, 295 нелинейных уравнений, 364, 66 40 Порядковый номер даты, 20, 43, 44 Последовательных приближений, метод, 350, 356 сходимость, 352 Построение графиков, инженерные таблицы. 133, 136 коиuентрическими uилиндрами, 426, 430 11Иффереициальных уравнений, 406 Связанных mtНейиых уравнений, 380, 382 установка, 294 , Поиск решения , 11Иалоrовое окно, 294, 365 ППЛАТ() , функция, Правка, меню Заполнить. 51 27 Выровнять, 108 Очистить, 293 Повторить форматирование , 81 Специальная вставка, 140, 141 Транспонировать, l 57 ПРАВСИМВ(), функция, 55, 298, 301 Показатель качества, 109, 111 Поле имени, в строке формул, 42 Предварительный просмотр, кнопка (панель инструмекrов Стандартная), 67 Поле с рш:крываюшимся списком, кнопка (панель инструментов Формы), 200 Поле со списком, ииструмеит (панель инструментов Формы), 200 ПОРОГ() , функция, ПоТенuиал между 366 обыкновенных ПОИСК(), функция, 42 Поиска, функции, 55, 57 ПОИСКПОЗ(), функции, 53 ПОЛУЧЕН О(), функция, Поля в базе данных, 50 имена, 251 66 ПРЕДСКАЗ(), функция, П РЕОБ Р(), функция, 46, 49 39 Преобразования tщиниц измерения уrла, функции, 33 Прецессия севериоrо полюса мира, 76, 81
Предметныii указатеЛJ. Приближение для нелинейных уравнений, Д11J1 суммирования рядов, Процентный формат, кноnка (панель инструмеlПОв 350 Форматирование), 66 ПРОЦЕНТРАНГ(), функция, 46, 49 Прямоугольник, инструмент (панель 316 и точность чисел, 17 метод конечных разностей, 407, инструмеlПОв Рисование), 408 формулы интегрирования, 48 Примечания, добавление к ячейке, 115 Visual Basic, 194 29 Visual Basic, 193 Приоритет операций, Пустой рабочий лист, Присвоение именн, диалоrовое окно, 50, 462 64 26, 84 Присвоить имя, диалоrовое окно, 84 П роrиб бмки, вычнслеиие, 402, 407 Проrиб консольной балки, 99 балки, 402, 407 ПРОИЗВЕД(), функция, 32, 35 Проиэводиая функции, для·метода Ньютона, 362, 363 Производные, численные, 42 42 Просмаrр объекrов, диалоrовое 180 Проi:маrр обьекrов, инструмент (панель ииструмеlПОв Visual Basi<: для Excel 7.0), 180 Просмаrр переменных, обычный, 223 55 Простое аналитическое уравнение, решение, 202, 205 автоматической обработки рабочих листов, вызов друrих, 198 rраницы и сетка, 74 добавление кнопки, 298 как объекты, 180 команды, автоМirl"Изация, конвертНрование в 180 FORTRAN, 206 копирование, 141 методы интегрирования, 337, 339 ие рабочие книrи, 66 окно, 63 пустые,64 328, 331 21 стрелКИ, для управляющих элементов 202, 209, 219 назначение объекту, 202 создание, 176" Процента, операция вычисления, Процентный формат, 395 123, 131 ссЫJIКа иа ячейку дpyroro листа, 180 диалоrовых окои, ввод экспериментальных данных, разностные формулы, сохранение, 75 67, 75 Процедуры, создание, Excel 7 .О), 182 66 внедрение диаграмм, вставка графики, 170 33 ПРОСМОТР(), функция, не рабочие листы, вид, ПРОМЕЖУfОЧНЫЕ.ИТОГИ(), ПРОПНАЧ(), фунЮIИЯ, листы модуля (для 229, 251 75 заrоловки,96 ПРОПИСИ(), фунЮIИЯ, 30 Рабочие книrи Рабочие листы -325, 332 П рокруrка и закреnленные функция, р РАБДЕНЬ(), функция, 44 Рабочеrо листа, функции, Проrиб равномерно иаrружеиной окно, 333 Пµямоуrольный формат, для двухвходовых таблиц, 92 ПСГР(), функция, 42, 244 ПУАССОН(), функция, 47, Пуассона, уравнение, 425 Принтер, вывод в в 162 Прямоуrольиика, правило, для Пример стандартноrо отклонения, 28 429 суммироващrерцов, 310, 312 форматирование, 80 формление, 71 Рабочих листов, ярлычки, 66 Равенства, знак(=), 19 РАВНОЧЕК(), функция, 53 РАДИАНЫ(), фующия, 33, 35
•1~а Предметныii указатеnь Разгруппировать, команда (пане.ль инстру~в Рисование), 162 матричные методы , Размер шрифта, поле (панель надстройка иа.qстройка Поиск решения , инструментов Формаrnрован ие) , 66 372, 374 378, 380 Solver, 380, 382 меrод релцксации, 380, 382 Размеченные файлы, связанные системы уравнений, импорrnрование , 233, Разносrей, среднее, 329 Разности вперед, 326 236, 237 380 Решение линейных уравнений, Разностные формулы на рабочих листах , 328, 331 326, 327 325, 327 Ранг и персентиль, проrрамма , 58, 459 РАНГ() , функuия, 46 Распределений . функции , 47, 50, РИМСКОЕ(). функuия, 32 Рисоваиие диалоговых окон, 199 рисунков, 161 , 170 Рисование, кнопка (панель инструментов Станд31Уmая), 66, 161 461 , 462 Рисование, панел ь инструментов, Расширенный набор символов (DOS), 79, 95 145, 162 Расширенный фильтр , диалоговое окно, 253 РЕГИСТРАТОР.Ид, функuия , 466 Регрессии, вычисление, 276 полиномиальная, Регрессия, инструмент, 271 277 279 Регрессия, проrрамма, отображение, 161 Рисованная кривая, инструмент (панель инструментов Drawing), 162 Рисунки, рисование, 283 Регрессионный анализ, таблицы, 371, 374, 380 ошибки, типы , . 371 , 374 Связанные системы уравнений , 59, 459 275 Регрессия, сумма квадратов, Редактирование 161, 170 Ромберга , интеrрирование, 334, РОСТ(), функuия, 46, 49 , 276 РУБЛЬ(), функция, 42 РУБЛЬ.ДЕС(), функция, 53 РУБЛЬ.ДРОБЬ(), функuия , 53 338 Рунге-Купа , метод решения диаграмм, 131, 137, 145 точечной диаrраммы, 141, 145 формул , 67 'Начальной задачи, 398 РЯД.СУММ() , функция, 33, 35, 310 РядЫ формул Результаты поиска решения, для точечных диаrрамм, диалоговое окно, 294, Рекурренmая зависимость, замена ссылок значениями, 383 311 143 141 прикрепление кривых к Релаксации. коэффиuиент диаrраммам, 141 включение в разностную формулу, 409 лля метода релаксаuии, Релаксаuии, метод, 372 с 379 Сбой проrраммы, открытые файлы, Д11Я решения линейных уравнений , 195 378, 380 Релаксация, 357 Реляuиониые базы данных, Реuензирование , панель инструментов, Свойства 378 201 Свойства элемента управления , 65 Решение линейных уравнений итераuионный метод Гаусса9айлеля, объекта, 179 объекта диалогового окна, 246 инструмент (панель инструментов · Формы), 200
Предметный указатеnь Связанные системы линейных уравнений, матричные функции, Вычисления, ВЮiадка, Предельное число шераций, 353, 359 412, 416 Сьязанные системы уравнений, 37i, 383 матричные меrоды, 375 решение линейных уравнений, 371, 375, 382 rочностъ и нормирование, Вычисления, вкладка, Точность как иа экране. l 7 Вычисления, вкладка, флажок Система дат 1904, 43 Общие, вкладка, Стиль ссылок 383 Связывание и внедрение объектов RlCl , 21 Правка, В1'Ладка , фЛажок Автозаполнеиие значений (OLE). 58 Сrлаживаиие экспериментальных данных, 332 Северный полюс мира, прецессия, СЕГОДНЯ(), функция , Секанс, 36 гиперболический , 37 Формы). 44 151 Сибека, коэффициент, 37 44 Сервис, меню MS Query, 245 Анализ данных Регрессия, 200 СЖПРОБЕЛЫ(), функция, обратный гиперболический , СЕКУНДЫ(}, функция , 279 101 Защита~Защититъ лист, 108 Макрос Начать запись, 182 Остановить запись, 182 Относительная CCЬUIIOl, кнопка (панель инструмеmов Остановка записи), Надстройки, 57 182 Query, 245 назначение процедуры, 182 НазначитЪ макрос (для Excel 7.0), 182, 202, 219 СИМВОЛ(), функция , 42 ll О 42 Симпсона, правило для формулы интегрирования, 334, 339 Синrулярность в матрицах, 384 Синтаксический анализ, 237 Скалярного поля, задачи, 425 Сканеры, 230 СКИДКА(), функция , 52 Скобки в формулах, 29 Скользяшее среднее, программа, Вид, вкладка, флажок Сетка , 58, 459 СКОС(), функция, Скрытие 47 , 201 код Vis1 i'al Basic, 214 диалоговых окон, содержимоrо ячеек, l 02 Скэлинджер, Джозеф, 107 Сложения, операuия , 28 Сложные функции автоматическая настройка, Параметры 292, 298 настройка вручную, 75, 81 - 294, 365 Сетка, для объемных диаграмм, Сетка, кнопка (панель инструментов 76, 81 Зашита, ячеек, 73 Поиск решения, Вид, вкладка, флажок Формулы, 75 Вычисления, &кладка, Вычисления , вхладка, Итерации, проuедура 289, 292 Visual Basic для автоматической настройки, 353, 376 359 295, 298 СЛУЧМЕЖДУ(), функция, СЛЧИС(), функция, 32, 35 32, 35 переключатель Смешанные граничные условия, 416 Смешанные ссьvtКИ иа ячейки, 24 Автоматически кроме СМЕЩ(), функция , таблиц, СОВПАд() , функция , 28, 42 Содержимого ячейки , свойства, Вычисления , вкладха, 98 55 20
iiФI Предметиwu указатеn11. Соединение компьютеров, программное обеспечение для эмуляции терминала, 232 Создать, кнопка (пане.ль инструментов Стандартная), Сорntровка базы данных, 254 66 254 Сортнровка по возрастанию, кнопка (панель инструментов Стандартная), 66 СортнроВЮt по убыванию, кнопка на диаграммах, на рабочих JIJfcтax, 429 Стрельбы, метод решения rраничных задач, 401 Стрельбы, метод решения краевых задач, 407 65 Стандартная), Строка формул, 67 СГРОКА(), функция, Строки , закрепление, Сохранение рабочего листа , 64, 75 64 рабочих кииг, Сохранение документа, диалоговое окно, 194 55 96 Строки, функции СОЗдания , СГРОЧН(), функция, 42 42 Структурироваиный язык запросов (SQL), 244 Сохранить, кнопка (панель инсrрумекrов Стандартная), Список, инструмент (пане.ль 66, 75 200, 208 Стьюдента, тест, 271, 273 СГЬЮДРАСП(), функция, 47, 50, 462 СГЬЮДРАСПОБР(), функция, 28 СРГАРМ(). функция, 45, 48 СРГЕОМ(), функция, 45, 48 СРЗНАЧ() , функция, 47, 291 СсЬVIок,функции, 57 СУММ(), функuия, 33, 35, 293 для формул интегрирования в Visual Basic, 34 l Сумма квадратов реrрессии н Стандартная QШибка оценки у, 271 функцни д11Я вычисления, 290 Стандартная, панель инструментов, 64, 66 Вставка фующии , кнопка, Станлартное отхлоненне, 48 47, 273, 462 Сравнения, операцнн, остаточных членов, 275 СУММЕСЛИ(), фунхция, 33 Суммирование р•дов, 31 О, 318 исnользоаание фушции Visual 31, 66 Basic, 316, 320 итершионные рЦЫ на рабочем листе, 314, 316 Стандартные ошибки коэффициентов, 429 145 Строка состояния, 66 162 Стрелки (панель ннструментов ииструментов Формы). Сплайиы , 299 46 Стрелка, инструмент (панель инструментов Рисование), изменение JЮЗМера конца, Сортировка диапазона, диалоговое окно, ширнна, 73 СГОШУХ(), функция, 271 СГАНДОТКЛОНО, функция , 46, 48 СТАНДОТКЛОНП(), функция, 46, на рабо'IНХ листах, 31 О, 312 СУММКВ(), функция , 33, 35 СУММПРОИЗВ(), функция, 33, 35 33, 35 СУММСУММКВ() , функция, 33, 35 СЦЕПИТЬ{), функция, 42 СЧЕТ(), функция, 47, 291 СЧЕТЕСЛИ() , фунхция, 32 СЧЕТЗ(), функция:, 45 СУММРАЗНКВ(), функция, 48 Стаruстнческие функции, баз llЗИНЬlХ, 45, 50 255 Стационарный электростатический потенциал, 425 Степени свободы, 272 СГЕПЕНЬ() , функция, СГОЛБЕЩ), функция, 32 55 Столбцы захреn.1ение, 96 нзмеиение ширины иескольких, 94, 147, 427 Сче"NИК, кнопка (пане.ль инструмеитов Формы), 200 СЧИТАТЬПУСГОТЫ(), функция, 32
iiфj Предметныii ук:азатеnа.. Температурный профиль в т перенапряженном кремнневом Таблица nодсr.шовки , диалоговое окно, 103 Таблица символов, в Windows 95, 79 Таблицы, функцин поис.ка. 55, 51 двухвходовые. 88, 93 д,1я объемных диаграмм, 154 с несколькими входамн. с несколькими столбцами, 93, 97 134 создание с использованнем Теплопроводность, арсенИда ГWUJИЯ, команды Данные~Таблица со~ание с копнрованием формул, уравненне в частных производных. 96 298 139 236 данные, Тейлора ряды, метод для решения начальных задач, 395 • ТЕКСГ(), функция, 42 Текстовое поле, ннструмент (панель инструментов Формы), 199. 207 Текстовые процессоры, импортнрование файлов, 238 Текстоаые строки объединение, 28 28, 42 сравнение, Температура элек-rроиноrо газа в арсениде галия, 358, 361 метод надстройки Solver, 364 метод надстройки Поиск решения, 364 метод Ньютона, 363 124 127 редакти роваиие, 141, 146 стили, 124 Точ.ка (.), в сннтахсиt;е объектов, 180 инструментов Текст проrраммы, инструмент 200 54 Точка останова, кнопка (панель 19 (панеrо. инструментов Формы) 54 ТИП.ОШИБКИ() , фущщия, Тождественная матрица, 373 Точечная , тип диаграммы, 237 44 Тейлора ряды. метод для решения задач К:оши, 392 Текст в ячейках, 432 ТИп диаrраммы, диалоговое окно, ТИП(), функция, 237 Табуляциями, размеченные файлы, импортирование, 67, 75 Течение .жидкости , параболическое 97 ТДАТА(), функция, 110, Техника, решение простого аналитического уравнения, со~ание с использованием имлортнрованне, 11 О 277, 278, 283 116 97 Таблицы, функции проемотра, Табличные данные, 162 133 Теплового пробоя, состояние, неразрывности. 433, 436 Термоэлек-rрониый радиатор, 76 подстановки, Тень, инструмент(пане.лъ инструментов Рисование), стержне, уравнение создание пуrем копиравания командЫ Data~TaЫe, 46 49 уравненне. 67, 75 Теплопроводность в медном удельного сопротимения формул, 152, 155 ТЕНДЕНЦИЯ() , фух:нция, ТЕНДЕНЦИЯ() , функцня, кремния. аналитическое создание для вычисления кремния, диоде, Visual Вasic для Excel 7.0), 224 Точка перегиба, 357 Точки .nанных, оценка точности. Точность. 305 16 тригонометрических функций в окрестиостн нутr, 36 Точность. для систем уравненнй, 384 ТРАНСП(), функцня, 55 Трапеции , правило для вычисления гамма-функции, 338, 342 для формулы интегрирования, Требования к аппаратному обеспечению, 13 333
111~1 Предметн1.1u указатеn1. Тригонометрические функщiи, 35, Файлы 36 обратные, Visual Basic для записи, открытие, 194 Visual Basic для чтения, 195 на диске, 454 36 точиость в окрестиости нуля, ТТЕСТ(), функция, 36 47 Файлы на диске импорruрование данных, 231, 244 у на дополнительно Увеличить разрядность, кноп.ка распространяемой диск.ете, Форматирование), 66, 74 работь1 с Удалить, кнопка, в форме данных, ФИКСИРОВАННЫЙ{), функция, 264 Удельное сопротимение, 42 l 10 Уделъиое сопротимение кремния, 133, 134 диаграмма с метками данных, 144 диаграмма с текстом и сТреЛКаМИ 146 ' Умио:жение квадратных матриu, 373 326 Цвета и линии, вкладI<а, 145 66 {панель инструментов Форматирование), 66 Формат ячеек, диалоговое окно, 72, 74 Формат, меию Автофиrура, 429 Выделенная ось, 450 46 Ускоренный метод коиечных разностей, 407, 409 Установка надстройки MS Query, 244 156, 160 142 Выделеииый ряд, 287 Вид, вкладка, l 60 Шкала, вкладка, Подписи данных, вкладка, Query, 244 надстройки Solver, 294 иадстройки Поиск решения, Устойчивости, крнтерий,434 ф Файл объямеиия, окно,429 Формат с разделителями, кнопка 400 УРЕЗСРЕдНЕЕ(), функция, Файд, меню 200 инструмеитов Стандартная), 425, 426 Уравиения надстройки 379 Формат оси, димоrовое окио, 142 Формат по образцу, кнопка {панель Уравиение неразрывности, 432 Уравнеиие первой производной, построение rрафнков, релаксации, Формат автофиrуры, диалоговое 66, 74 Умиожеиия, операция, 28 Уиариые операции, 28 Управляющий элемент, 63 высшего порЯДКа, коистанты, 82 Флаг иииuиализации, для метода инструментов Формы), {панель инструмеитов Уравнеиие Лапласа, Фииаисовые функцин, 51, 53 ФИШЕР(), функция, 46 ФИШЕРОБР{), функция, 46 Флажок, кнопка {панель Умеиьшить разрsrдиость, кнопка Форматирование), 454 32 }), для функций массивами, 31 ФАКТР(), функция, Фиrурные скобки ({ {панель инструментов 294 139 для диаграммы, l 39 Тип диаrраммы, l39 Ячейки, 72 Вид, ВКЛадI<а, l 0 l Выравнивание, ВКЛадI<а, 72 Заll!ИТа, вклад1<а, 108 Защита, ВКJtадI<а, Защищаемая 464 Закрыть, 63 Создать, Рабочую кииrу, Сохранить, 64, 75 144 Выделенный ... , ячейка, 64 l 16 Защита, вкладХа, Скрьnъ формулы, 102, 108 Число, вклад1<а, 80
,,,, Предметн1t1ii указатеnь Число, вкладка, Числовые форматы, математические, 32, 38 38 иадстройки, 30, 57 поиска и ссылок, 55, 57 матричиые, 74 Шрифт, вкладка, 116 Шрифт, вкладка, Верхний иидекс, 85 Форматироваиие, паиель ииструментов, диаграмм, преобразования единиц измереиия уrла, 47 распределений, 139 примеиеиие к rpynnaм ячеек, Форматы файлов, для Excel, 231 Формулы, 20 114 47 распределения, 50 распределения и проверки зиачимости, 4 7, 50 стапtспtческие, 45, 50 ввод в массив, 276 вставка функuий, 31, 204 замеиа значением, 83 имеиа, 84 иеопределеииые нмеиа, 85 триrоиометрические, фииаисовые, формат, 3_3, 36 51, 53 30 Функции преобразоваиия системы счислеиия, иесколько формул для вычислеиия одного результата, 38 Функции работы с базами даииых, 50, 255, 265 99 отиосительные ссылки на ячейки, 23 отображение иа рабочем листе, 75 редакпtрование,67 создание таблиu пуrем копироваиия, 76 Фуикции с двумя иезависимыми перемениыми, 423 Функции, объявление, 465 Функции, связанные с инвеспtрованием, создаиие таблиu с копироваиием, ссылки иа ячейки, 20, 68 Формулы иитегрироваиня тнпы, 333, 334 Visual Basic, 341, 344 Формы, панель ииструмеитов, 65, 177, 199 ФОШ(), функция, 39, 461 ФТЕСТ(), функция, 47 Функции, 30, 59 базы даииых, 50, 255, 265 в Visual Basic for Applications, 57, 192 виешние, 58, 59 вставка в формулы, 31, 204 гиперболические, 33, 37, 86, 87 функции J1ЛЯ стандартиой ошибки оцеики У, 290 зиачеиия ошибок для иеопределенных, инженерные, 38, 39 информаuиоииые, логарифмические, 38, 41 85 54 33, 35 52 Х-Ц 96 логические, массивы, 31 33 проверка зиачимоспt, 65 ХИ20БР(), функция, 462 ХИ2РАСП(). функция, 47, 50, 462 ХИ2ТЕСТ(), функция. 47 Uвет заливки, ииструмеит (панель ииструментов Рисование), 162 uвет передНеrо плана диаграммы, 139 uвет фона диаграммы, 139 Uвет шрифrа, киопка (панель ииструментов Форматироваиие ), 66 Uвет ячеек, 116 UЕЛОЕ(), функция, 32, 34 UЕНА(), функция, 53 UЕНАЛЕРВНЕРЕГ(), функция, UЕНАЛОГАШ(), функция, 53 UЕНАПОСЛНЕРЕГ(), функция, UЕНАСКИДКА(), функция, UЕНАЧЕК(), функция, 53 Uентральные разности, 53 325 Uиклическне ссылки, 377, 436 автоматический пересчет, 416 Uиклы в Visual Basic, 196 52 52
Предметный указатеn1t ЭлеКТрОнов нонизация, сечение, 289 Элементарные частицы, таблица, Ч-Ш Ч(), функция, 54 ЧАС(), функuия, 239, 242 Элементы управления 44 ЧАСТНОЕ(), функция, 32, ЧАСТОТА(), функция, 46 35 rруппировка в дивлоrовом окне, 199 назначение процедур, Чебышева, полиномы, 299 ЧЕТН(), функция, 32, 34 присвоенне процедур, Числа, округление и усеченне, 34 Численные производные, 325, 331 ЧИСЛКОМБ(), функцня, 32, 35 Числовая точность, Числовой диапазон, 16, 18 ЧИСЛОКУПОН(), функцня, 52 ЧИСТВНДОХ(), функция, 53 ЧИСТНЗ(), функция, 54 ЧИСТРАБДНИ(), функция, 44 ЧСТРОК(), функuия, 55 Шаблона, символы, 254 Шарнирно опертая балка, 402 ШЕСТН.В.ВОСЬМ(), функция, ШЕСТН.В.ДВ(), функция, 39 ШЕСТН.В.ДЕС(), функция, 39 Ширина столбцов изменение нескольких, уравнения в частных ПроИЗВОдНЫХ, 38 425, 431 текстовый файл, 232 Энергия перехода в кремннн, функцня макроса, 202, 204 ЭффЕКТ(), функцня, 52 Юлианский календарь, вычисленне дат 107, 109 ЯЧЕЙКА(), функция, 54 Ячейки, 19 активные, 39 94, 147, 427 Шрифт, поле (панель инструментов Форматированне), Эллиптические дифференцивльные Эмуляцня терминвла, программа, 16, 17 Чнсловоrо сравнения, функции, 202 219 66 67 выбор диапазона непустых, 136 добавить примечание к, 115 заполненне последовательными значениями, 68 имена для, 25, 82 как объекты, 179 копирование, 80 незащищенные, 116 подчеркиванне в именах. Э-Я Эйлера, метод, 3% Экваториальная система, процедура форМ<ПИрования Д11Я, 184, 185 76 Эклиптическая долгота, вычнсление еж:еrодиых нзменеиий, 7i Эклиптическая система, 77 Экран, вывод в VtSual Basic, 194 Эксперимент со свободным падением, Экспериментальные ланные, 132 Экспонетtиальное сrлаживание, 58, 458 Экспоненцивльными кривыми, аппрокснмация, 49 ЭКСПРАСП(), функция, 47, ЭКСUЕСС(), функция, 46 l 02 Ячейки, ссылки, 20, 27 абсолютные, 24, 71 в Visual Вasic, 182 68 21 всrаяка, 21, 68 в формулах, копнрование, а не перемещение, 332 · Экспоненциальная функция, 288 Экспоненциальиое представленне, программа, скрьпие содержимого, внешние, 328, 330, 331 сглаживание, 84 nримеиение форматирования к группам, 114 462 26 на диапазон, 21 . относительные и абсолютные, при записн макроса, 182 смешанные, 24 23
Оr11авnение Предисловие .......... " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Предисловие к русскому изданию ............................. 7 Введение ............................................................... 8 О чем рассказывается в этой книге ......... " ..... "."."" ............... " ........ 9 Версии Excel для Windows и Macintosh " ... " .... " ...... "" ... " ............. 10 Более ранние версии Excel ................................ " .... " ................... 10 Практические примеры .. "." ... " " .... "." .......................................... 11 Примеры на дискете .... " ............................................................... Подготовка пользователя ................................................................ Требования к аппаратным средствам ........................ "." ..... "."." .... 12 12 13 Условные обозначения, используемые в этой кНиге ..... " .... " .. " ..... " 13 Путь к пониманию .................... " ........ "." ............................ "." .. " .... 14 Глава 1 Использование Excel в научных и инженерных приложениях ............................................ 111 • • • • • • • • • • • • 16 Точность представления чисел и численный диапазон в Excel ........ Точность представления чисел ..................................................... Численный диапазон" ..... " ........... " .......................... "" .... " ..... " .... Ошибочные числа ............... " ... "" ". " ..... ". "" .................... " .......... 16 17 18 19 Основные сведения о ячейках и ссылках ..... " ..... "." ............... "...... " 19 Внешние ссылки на ячейки .... " ............................................... " .. " 21 Ссылки на диапазон .................................. "" ... " ....... " ... " ....... ".". 21 Относительные и абсолютные ссылки . " .......... " ....................... " .. 23 Относительные ссылки на ячейки ............................. " .......................... " ..23 Абсолютные ссылки на ячейки ................... ". " ... "."" .. " ............ " ...... " ..... 24 Смешанные ссылки на ячейки" ...... ".:..... " .. " ................. " .. "." .............. ". 24 Имена диапазонов и ссылок ..................... " ............•........ " ..... " .... 25 Копирование и перемещение ссылок на ячейки ........................... 26 Использование операторов в вычислениях .. """ """"." .. " .............. 28 Математические операторы ................................ " ........................ 28 Логические операторы ....... " .. " ..... " ................ " ............................ 28 Приоритет операторов ..... " .............. "" ....... "." .... " ....................... 29 Использование функций рабочего листа ................................. " ...... 30 Ввод функций .............. " ................................ " ........ " ................... 30 Функции массива ............................... " .......... " .............. "." .......... 31 Математические функции . "" ....... " ... " .................. " ...................... 32 Осноаные математические функции .......... " ............................... " .. " ....... 34 Логарифмические функции ......................................... " ............................35 Тригонометрические функции ...................................................................35 Точность значений тригонометрических функций, близких к нулю" 36 Обратные тригонометрические функции .................................................•.36 Гиперболические функции.""" .................................... " .. "" .... " ............... 37 Обратные гиперболические функции ........................................................37 Матричные функции ..... ". " .. " ....................... " .............. "" .........................38
.,,, Drnaвneнue Инженерные функции......................................... ... .. " ................ .... 38 Логические функции . ....................: ............................................... 38 Текстовые функции ....... .................................................... ........ .... 42 Функции категории даты и времени .. ................ ... .......... ..... .........• 43 Функции категории даты ....... " ..................... ..................... "." ............." ... 43 Функции времени ............. "" .. " .. " .... " ............................... " ............. " ...... 45 Статистические функции .................... ................... ...... .................. 45 Базовая стати стика .................................................................................. Сложные статистиче<Жие функции ........................................................... 47 48 Функции аппроксимации кривой ........ .......... " ..................... " ................... 49 Функции распределения и тестироаания значимости. " ......... " ...... " ......".50 Функции для работы с б азами данных .... ... .. "." ...... " .... ... :" .. ". " ... 50 Финансовые функции. " ..... " .... ................. " ........ " .. " .... ............. 9 •• • 51 Функции информационной категории ...........•........ " ......... " .. ...... .. 54 Функции категории Ссылки/массивы" ................................... " ..... 55 Функции просмотра по таблице и направлению" " . " .... " .. " ..... " .." " .. "" ... 55 Функции характеристики ссылок.""" .. "" ........ " .. " ......... " .. " .. " ............... " 57 Функции \!isual Basic for Applicatioпs " " ....... " .. "". "" .. " .""." .. "" ". 57 Надстроечные функции и инструменты ..... " .... "." ............. """ ." ." Внешние функции ..... " . " ................. .. " " ..........•..................... " .. .... 57 58 Solver ... .................. ..................... ............ " .. ... ....... ........................ 59 Резюме ........................ " ................ " ................•." .............. " .... " ...... 59 Дополнительная литература .. " ... .. .. .. . " ... " .... " .... . "" ..... " .. .... ... " " " .. 60 Обзорные задачи .............., .. " .. " ....... " ... .. .... .......... " ... .. " ............. "" 60 Упражнения ....... " ..... " ... .... ... . " ........ " .. " ....... " "."" " .... •.... .. "" ... " .... 61 Глава 2 Инженерные расчеты ...•..........•.. •.......•.................... 63 Элементы управления Excel .............. .......•...........•.. ................... ...... 63 Рабочие книги и рабочие листы"". """" " ". ".". " ... " .. " ". " .•.. " " .. " 66 Решение простого аналитического уравнения ..... "" ... ... ." ..... " ... " ... 67 Однократный расчет . " " ." ... " .. .. " .•• "" ". " .... .... " ..... . " ................ .. " 68 Использование в формулах ссылок на другие ячейки ... ""." ." ..... 68 Вычисление списка значений ............ " ............. .... " .........•............. 69 Выделение коэффициентов . " ." .. " .. " ......... " .. " .. ............. "" .. "" •... 71 Оформление рабочего листа "." .. ... " ..•.... " .. " ...•.. .. " .......... " ...." ." 71 Соэдание таблиц nутем копирования формул ... ". " .. ... ... " .. " ."." " ... 76 Построение таблиц с одним аргументом ......... " ..•• " .... " " .... " .. "". 76 Прецессия северного полюса мира " .."."." ........ " .. " .... "" ..... " ............ "".76 Зав111Симость концентрации собственных н осителей заряда в кремнии от температуры " .. " .......... " .......... " ............ " .." ... " ............... " .....81 Гиперболические функци и ...... " .. " ...... " ........................... " ...." ." .............. 86 Создание таблицы значений функции даух аргументов .. .......... ". 88 Уравнение Ван-дер-Ваальса ...... "." ..........." ............... " .......... " ................ 88 Создание таблиЦы с параллельными столбцами значений аргументов ............... " ......" ...... " .............. " ...... " ........... "" ...... " ................ 89 Абсолютная звездная величина .. """ ..............•............................... " ........ 90 Создание прямоугольной таблицы значений ФУнкции двух переменftых ............. " ........ " .................... " ...... " ................... " ...................92
.,~, Ornaвneнue Расчет функций многих переменных в таблицах с большим количеством столбцов ........ .. " .... " ....... " .. " ..... " ."." ....... " ............. 93 Подвижность электронов в кремнии .. " .................................................... 94 Соэдание таблиц с по мощью команды Данные )о- Таблица подстановки .. " .... ". ". " ..... " .. " .... " ....... ". " .................. " .. ..... " .......... 97 Таблица фун кции с одним арrументом, созданная с пом ощью · команды Данные )о- Таблмца подстановки .....................................................98 Напряжения и деформации в балке, закрепленной одним концом ........... 99 Таблица функции двух аргументов, созданная с помощью команды Данные )о- Таблица nодстзноеки .................................................................. 103 Линейный переменн о-дифференциальный трансформато р ................. "103 соэдание и использование калькуляторов фун кций ....... .......... " .. 106 Соэдание калькулятора простой функции ....... " ...." .................... 106 Калькулятор юлианских дней ........ :..................... .................................... 106 109 Термоэлектронный радиатор ........................................" ........... ............. 110 Резюме ."." .......... " ........... " .. " " ..... "." ........... " ..................... ......... 116 Дополнительная литература .......... " ........ " ................... ........ " ....... 117 Обзорные задачи .......... .................................................. " ............. 118 Упражнения .................. " .... " .. ......... " .... " .. ............ " ........ .............. 12 1 Соэдание калькулятора сложной функции ................................... Глава 3 Диаrраммы и графики ...•....................................... 123 соэдание диаграммы · · ····· · ··· · · ...... ......................................... " ...... 123 Внедренные диаграммы ........................ " .. ............. " ..................... Выбор типа диаграммы ............ " .. .. " ............... " ............ ........... " . Выбор источника данных " ." .•..... " .. " ............ " .......... " ....... ".,..... Оформление диаграммы ...... ..... " .. ... " ........ " ...... ..... " .... •.. "."." ... Размещение диаграммы ......... "." ..... "." .. " .......... " .. "." " .. " ........ Изменение диаграммы" ..... " ." .... " ........... " .. " ................ " .. " ....... Соэдание высококачественных диаграм м. " .. " ." .. " ... "." ..... " .... " Соэдание диаграммы на отдельном листе " .............. " .... " ........ " .. Соэдание диаграммы по результатам расчетов ". "." .. ""." ........... Сопротивление кремния ...... .. ... "." ." ..... " ........... " .... " .... " .......... Соэдание таблицы ..... "." .. ". ""........ " .."." .............. " ....•............. Соэдание диаграммы" ....... " .".". ".".". " .. " .. " .... "" .. " ."." ........ " . Редактирование диаграмм .... " ....... " ." ..... " .. "." ... •" .... " ..•.. " .... "." Соэдание и изменение элементов диаграммы ... ". " ."." .... """ .... Форматирование диаграммы" .. " .... " ........ ". " ........... " .... " ........ " Добавление в диаграмму новых наборов данных ..... " ... " ."." .. " .. Защита диаграммы от изменения ... "." .... " .. "."." ..... ""." .. "." .... Изменение точечной диаграммы .. " ..... "." .. ". " ........ "." .. . " .. " .... " соэдание логарифмических и полулогарифмических диаграмм .... 123 124 125 128 130 131 132 132 133 133 134 136 137 138 139 140 141 141 146 Коэффициент лавинного умножения в кремнии ...................................... 146 Соэдание таблицы ." .. " """ .. "." .... " ." ." ..... "." ........ "." .. .. " .". "." 147 Соэдание диаi"раммы " " .. " ." ....... " . " ..... " .... " .. , ............ "" ........... 149 Соэдание трехмерных диаграмм . "." ........ " ........... "." ....... " .. ~ ....... 151 Создание таблицы " ........... " .... " ." ................. " .............. ....... " .... 154 Соэдание диаграммы " . " ..... " .... " .. " ............................. " .... " ....... 155
ii@ Drnaвneнue Соэдание таблицы с .пропорционально расположенными линиями сетки. " ...." ................ " ... " ....... " ......... " ....... " .... ." ......... 156 159 161 163 165 Соэдание диаграммы с пропорциональной сеткой "." .. "" ... """. Соэдание рисунков ....................................... " ............................... Соэдание таблицы ... " .. ............ ""." .. " .. "." .. ".". "." ... "".". "." .. " Соэдание диаграммы .. " .. " .. " ..... " ..... "." ...... " .... ". ". " .. "." ". " ... " Соэдание чертежа электрической схемы с помощью инструментов рисования ." ............ " ............... " ..................... " .... 165 166 170 Дополнительная литература .......................................................... 171 Обзорные задачи .. " .. ".""" ...... "" .. """. " .. "."." .... """ ..... " .... "."." 171 Упражнения .... " .... ". """." .. " .. ". " .. " .. ". ".". " ... " "." .. "."." ........... " 173 Создание чертежа электрической схемы пе точкам """ ......... """ Резюме ... " .... " .... " .. "." .. "." .. " .. "" .. " .. " .... """." .. " .. "."" .... "." .. "" Глава 4 Использование Visual Basic for Applications .............. 175 Соэдание процедур Visual Basic .. "." .. "."."." .. " ..:-..... " .. "."." ". " ... 176 Объектно-ориентираванное программиравание ......................... 179 Обращение к объектам в Visual Basic ............................................ 179 Соэдание працедур с целью автоматизации рутинных задач . "" ". 180 Запись процедуры .. " .................................... " ............................ Редактиравание существующих макросов . "."." " ... " .. "."."."."" 181 182 Назначение макроса объекту"." .. "" .. " .. "." .. "."."""."."."."."." 182 Запуск командной процедуры.""".""."".".""."""" .. "".".""."" 183 Процедура форматирования ячейки.. "." .. " ."."." ... "." .... """"." .. "" .. "." 184 Программирование на языке Visual Basic for Applications " ... "."" .. 187 Обращение к ячейкам .... " ... "." .... " .. " .... " .. " .. " ."." .. " .... " ."."." .. 187 Переменные Visual Basic ....................................................... ...... 188 Программирование математических выражений."." ." ""."."."." 192 Обработка операций ввода/вывода ............................................ 193 Управление процессом выполнения программы."" ..... ".".".".". 196 Вызов других процедур .. " ........... " ................................... : .......... 198 Создание форм ....... " ................ " ................................................ 199 Рисование <f>ормы " """" ".""""."""".".".. ".".". """.".".. " .. "".""""." .. 199 Отображение диалогового окна "." .. ".".".""""""." ..... ".".""" ."."." .""201 Сокрытие диалогового окна .. ".".".""" .. " ." """."".""""." .. "."."" .. ".""201 Назначение процедур элементам управления диалогового окна""" .. ""202 Соэдание функций ..... " .. ". " ... " .... " ..... " ..... " .................................. 202 Соэдание функции-макроса ... " ................................................... 202 Соэдание праграмм на Visual Basic .. " .. " .... "." .. "." ........... ".""" " . 205 Праграмма для преобразования рабочих листов Excel в FORTRAN. 206 Соэдание диалогового окна и элементов управления ."." """" .. "".""."206 Соэдание процедур для элементов управления"." .. """""""." .. ".".".".209 Отладка макроnрограмм." ............................................................. 222 Резюме ..............•. " ..... " .......................................... " ........... " ........ 224 Дополнительная литература ... " ..................................................... 225 Обзорные задачи ...... " ............................................................. ...... 225 Упражнения. :" ... " ..... "." .. " ......... """" .. "." .. "."" .. " ..... " .... ".".".". 226
•10 Drnaвneнue Глава 5 Анализ информации с помощью баз данных ............ 229 Ввод экспериментальных данных ... .•................... ..... " ............... " .. 229 Ввод данных вручную ....... " . . " " .. ".". " .. ... " ... " " .. ... " ... " .. " .. " . " " .. 230 Импортирование данных из файла.....• " ." .. " .. " ..... " .. . " ." .. "."." .. 231 Импортирование стандартных текстовых файлов """"." .. " " " """"""""232 Текстовый файл с разд011енными п робелами эначениями .. " .. """ ..... ." .. 233 Имnортирование разделенных табуляторами эначений ............ " .." " .. ""236 Импортирование табличных данных... " .. .. " ...... "" .. " .. " "."."."."." " " ."."237 Элементарные частицы .. " .. " .. ." .. " ."." .. " """ .. "." .. " ." " "" ... .. "" .. "" .." ...239 Импортирование данных с помощью Visual Basic for Applications " " "" " .242 Импортирование данных из внешних баз данных"""""""" ." .."" ."." ""244 Хранение данных и манипуляции с ними .. " .. " .. """ ... "."." .... " .. " .. Создание диапазона базы данных .. "." .. ... " .. " .. " .... " .. •. " ." ....... " Использование команд баз данных .... " ." ." .... . " ..... "." .". " .... . " ... 250 251 251 Использование форм данных ""." .. "" ......" .. "" ............... "."." ................ 252 Команда Данные~ Фильтр~ Аsтофильтр "". " ... """ " .. """" " ...... "." "."" .. 252 Команда Данные~ Фипьтр ~Отобразить все " " .. " .. " ........ "" .... ."" .. "" ... ".253 Кdманда Данные ~ Фильтр ~ Расширенный фильтр ". """."."" " .... " " .. " "". 253 Оп ределение диапазона условий .... "" .. "" .... " ........ "" .. "" ..... " .... " .... " ... 253 Оп ределение диап азона вывода " .............. " .. " ................ " " "" ...... " .. "."254 Сортировка списка .... .... " .".... " .. """" .." " ..... " .." ..... " ." .. "." . "". " ....." .". 254 Функции для работы с базами данных .... " .. " ." .. ... ... " ....... " .". "" Создание базы данных."." ." . " ." .. " .... " ...... " ... . "." .. " ... " ...... " " ... 255 257 Применение команды Даннь1е )>-Фильтр )о-Детофильтр •.... "."" .. " 261 Применение командЬ1 Данные )>- Фильтр )>- Расширеннь1й фильтр ..... 262 Извлечение записей во внешний диапазон ." .. " •... " ..... .•. " ."." .... 263 Применение команды Данные ~ Форма.... "." .. "." ..... ...... "." .. ". " . 264 Применение специальных функций для работы с базами данных. 265 Применение команды Даннь1е )>- Сортировка ... " .......... " •. " ." ......... 265 Резюме .... "."." ... •" ..... " ..... "."." ........... " .... .. .. " .... " .. "." ..... " .... " ... 266 Дополнительная литература . .. " ."." ..... " ..... " ........ " .........•.... "." .... 267 Обзорные задачи .. ... ............................... ........ ..... " ..... ........ ........... 267 Упражнения ................ ..... " .............•.... "" .. " •.. " .... ..•.•...... " •.. .. " ....• 268 Глааа 6 Аппроксимация данных ......................................... 270 Использование встроенных функций ........... .......... " ... .. .. " .... "." .. " 271 Регрессионный анализ ............. " ....... " ." ........... .. ...... " ...... . " ....... 271 Стандартная ошибка для оценки у ...... " .. " ...... " ." ."" ... " ." .... " ... " .. "." .. "271 Коэ ффициент детерминированности ... " .. " " .. " ." ... " ... " .. "" •. "" ..... " .".".272 Стандартные значения ошибок для коэффициентов" ." " "" . " ....... ."""".272 F-статистика ..................... " " ... " " ........ " .. " .." .. "" ........ " ......•":." .... " .. "".274 Число степеней свободы"" ....." .... " ........ " ................. " ................. " .... " ..275 Регрессионная сумма квадратов и остаточная сумма квадратов""" .. ""275 Вычисление линейной регрессии •............. ... " ........... ... ... " ......... 275 Вычисление регрессии с помощью функций ...... " ."" ....." .......... " ....... ".276 Вычисление регрессии с помощью инструмента анализа "".".. "" ... ...... 277 Теплопроводность арсенида галлия... " .. " ." ..... " .."".".. " ." ........"" .. " ." ..277
iii:I Drnaвneнue Вычисление степенной регрессии .............................................. 283 Проверка статистики ............ " ..................... " .. " ............... "."." ... 286 Использование линий трен да............................. " ....................... 286 Работа со сложными функциями .......................... " .. "."." ". " ........ 288 Подбор коэффициентов вручную ............................... " ... " .......... 289 Автоматический подбор коэффициентов ............................... " ... 292 w • исnолЬзование надстроики Поиск решения "".~."" .. " .... """." ... """ .. """293 Использование процедуры Visual Вasic для автоматизации подбора коэффициентов ......... " ...... " .. ".". " ...... " .. " .. " .. " " .. " ....... " .. " ... " .... ". " . . ". 295 Просмотр таблиц и интерполяция ............... "." ................... " ..... ". 298 Использование линейной интерполяции"" ..... " ................. " .... :.. Кубическая интерполяция ........ " ........... "." ................ """ ..... " .... Использование весовых коэффициентов"........... " ..... " .. ""." ..... " .. Резюме" ............ "."." .. "." .. " .. "" .... " .... "" .. " ..... " ............... " ..... " .. Дополнительная литература ............... " ......................................... 299 303 305 306 306 Обзорные зад,ачи ................... " .. " ...................................... .. ,......... 307 Упражнения ................... " ..... " .. " " ...... " ..... ".". " . ". " ................ "" .. 308 Глава 7 Суммирование рядов ............ " ......-. ... ".................. ~. 31 О Суммирование рядов в рабочем листе"." .. " ....... " ........ "."" .. "."" 310 Функции Бесселя .. " ........ " ......... "" " .... " ..................... "."."." ..... 311 Метод итераций .................... " .. " ..................... "" ... "" .................. Использование функции Visual Basic для суммирования ряда". " .. Полиномы ЛежандРа ................. " .... " .......................................... Резюме ..... " ........................... " ...................................................... Дополнительная литература .......................................................... Обзорные задачи ... " ....... " .... " ....................................................... Упражнения .............................. " ............... "" .. "" ........ " ..... "." .. "" Глааа 314 316 316 321 321 321 323 8 Интеrрирование и дифференцирование •н•·············· 325 Численное дифференцирование ........ " .................................... " ... 325 Типы разностных формул.""" .................. " ... " ...... " ... " ...... " .. "." 325 Ошибки разностных формул ................ ~...................................... 327 Использование разностных формул в рабочем листе ............... " 328 Свободное падение "." .. " .... " .. " .... " ..... " .. "."." .. """" ""."" .. "" .. " ... " ..... 328 Интегрирование ...... " ........... " ........................................................ 332 Типы формул интегрирования ... " ... " ........... " .... ".""." .............. " 333 Правило прямоугольников .... "."".".".".""".".. """"."."." .. """"" .. ".". "333 Правило трапеций."."."." .. "."""."."." .. "."""" ... "."" .... " .. ".".".""""".333 Интегрирование по Ромбергу " .. "" .... " ....... """."." ... " ."." .. " ...... " .. ""."334 Правило Симпсона." " .. " " .. " .. " ............ """" .. " .... " .... ". ". ".". " ..... ". " ..... 334 Квадратура Гаусса ......•.... "." .. " ... " ... " ....... " .. """ ......... " .. """ .. " .... " •. " .. 334 Несобственные интегралы ......... " ..... " .... ". " .. " .. " ...... " ....•. " " ..... " """" .. 335 Использование методов интегрирования." ..................... "" .. "" .. 336 Гамма-функция .. " .............. " ........ " ......... " .. ""."." ... " ... "."" ........ " ...... " .. 336 Реализация формул интегрирования в виде функций Visual Basic 341 Функция Visual Basic для вычисления гамма-функции ""."."""" .. ""." ".342
Ornaвneнue Jipj Резюме ...... " .. "." ....... " ... "" ............. " ..... "" .. """,." ..... " ......... " .. ". Дополнительная литература ..... ""." ...... " .. " ...." ." .. " .. ............ " ..... Обзорные задачи .. " ........................................."" ... " ...... " ............. Упражнения . " ....... "." " ... "" ..... "." ... " .... ""." " .... "." ." .... "" .. "" "". Глааа 343 344 344 346 9 Реwение нелинейных алгебраических уравнений ..... 350 Метод последовательных приближений""."""""""."." ... "" .. "" .. 350 Сходимость процесса последовательных приближений"." "." .. " 352 352 357 358 358 362 Использование модУля поиска решения.".".".""" " "" .. "" " .... ".". 364 Резюме" ... " ......... " .... " ...... " ......... " .. " .. "." ... " .... "." .... " ....... ".:"." 366 Дополнительная литература ......." .. " .......". " "" .. ".".".""."" "" ". " 367 Обзорные задачи... "."."." ..... "." .. " .... """."" ... "" .. " .... "."." .. "."" 367 Упражнения ..... " ...... "" .. " .. " .......... ". " .. ". " .. ". " .. " .. ""." ........ "" .. " 369 Уравнение Cos(x} = х ....... " . " ."" .. " ..... ""." " ... " ." .....". " " ...... " ". Метод нижней релакс~ции .. " ....... " .... ""."" .. "."" "" ...""" "" ." "." Метод верхней релаксации ... "".""".""""""" .. "" " ... "."". """". Температура электронного газа в GaAs ."."."" " ." ... ""."" ..... "." Метод Ньютона ................... " ..... "." ...... " .. " .. ""." .... " ."" "" ..... ".". Глава 10 Реwение систем уравнений ...........•............•.......... 371 Решение систем линейных уравнений." .. " ... ""." ...... " .. " ..... "."" .. 371 Матричные методы "" " .. """ ."." " ... " " ... " ..... " ... ." .:...... " .... " " .... 372 Краткая справка по матричной алгебре ........ "." ........... " .. "." ... " 373 Система из трех уравнений с тремя неизвестными ... """"""""""".".".374 Итерационный метод Гаусса~Зейделя """."".""."."".""""""." 375 Методы верхней и нижней релаксации .. "." """ .. ""." .. " ""." ...". 378 Решение систем уравнений с помощью модуля поиска решения . 380 383 383 384 385 385 388 решение систем нелинейных уравнений . "." ...... """ ". " .. ". "". """ Погрешность и нормирование ... "."" .. "" "" .... "" ... "."" .. """"""". Резюме"" ........ " ... " .. """." " ... " ..... :.. " " .. " .. "." .. " .. " ...."." .... " .... ". Дополнительная литература." .... " .. " .... ""."." ....... "."" .. " .".".""" Обзорные задачи." .... ".""""".""."." .. " ... " .. """."."."" ... """.".". Упражнения .. " .. "" .. "" "" .. " ... "" "."" "."" .. " """ ." "." ...... "" "." ... " главе 11 Реwение обыкновенных дифференциальных ураанениА .•...•..•.........•.........•..•................•......" ... 390 Решение задач Коши" ... ""." .. " .. "."......""" .. ". " " .. ""................... 390 Обыкновенное дифференциальное уравнение с одним начальным условием ...... " ..... " .... " ...... " ... ""." ... " " ........ " ..... ".. ". 391 Сущность и назначение граничных условий ." ... " .... "" ." .. "" " .. ". 391 Метод рядов Тейпоре" .•.. " .. ".""" .... """""" .. . " ..... "."""" ..... "" .. "."." ... 392 Метод Эйлере и модифицированный метод Эйлера."" .. " .... """"."" .. " .396 Метод Рунrе·Купа ... " .. """ " ."" ... ". """" .... " .. " ....... "" .. "" .•... " .. "" .. " .. "398 Решение уравнений более высокого порядка"."."" "." " "" •..""""""." "400 Решение краевых задач для обыкновенных дифференциальных уравнений."."" .... " .... " ...... " ............... ".""."."." .. " .."." "." .... " .. ". 461
Drnaвneнue Метод стрельбы ................... .. ..... """."" Изгиб равномерно нагруженной балки .............. " ................... " 401 ................... ......... " ... " ................ 402 Метод конечных разностей ....... ......................." .................... ..... 407 Итерационный метод конечных разностей ........... . "."." ..... " ....... """." " .408 Метод конечных разностей с ускоренной сходимостью ." .. """ ...... ... " .... 409 Матричное решение разностных уравнений "" .. " .. " " .. " ."""." ....... """ "411 Учет граничных условий более высокого порядка " ............. " .. .. " 416 Граничные условия типа Неймана . ". ""."." ... "." ....... "" ....... "." .. 417 Резюме. " ... " ....... "" .. "." ............... .." .. "" .. " .......... .... " .... " ." ........ .. 417 Дополнительная литература .. ........... ...... .. ................ " .. .... .. ....... " .. 418 Обзорные задачи ..... "." .. ...... . " .... " ..... " ." .. ". "."." ... ... " ... "."" .. " ... 419 Упражнения" .... " ............. " ... " .......... "" ..... " ......... "."" .. "." ....... " .. 421 Глава 12 Решение дифференциальных уравнений в частных производных .. . ...... . ....... . ...... ........ ~ ........•..... ........ 423 Различие между обыкновенными дифференциальными уравнениями и уравнениями в частных производных ....... "" .. "." Классификация типов уравнений в частных производных.""" ...... Решение эллиптических уравнений .... " .. " "." ....... .. " ... " "." ........... 424 424 425 Уравнения Лапласа и Пуассона" " " "" .... " ...... " " " .. .. "." .. ". :. " ..... 425 Потенциал между двумя концентрическими цилиндрами " .... "." " " ." ..... 426 Решение параболических уравнений в частных производных ... " .. 432 Уравнение неразрывности ... " ........ " .. " .. .. " ................... .. " .. "." ... 432 Нестационарная теплопроводность в медном стержне " .... "." .". ". ".". " 433 Обоснование критерия устойчивости .. .................. .......... ............ 434 Итерирование шагов по времени .. ........................... " ................. 436 Решение гиперболических уравнений в частных производных ... ". 439 Волновое уравнение ....... " ............ " ... ............. "." " .. ................... 439 Колебания струны ..... " ..... " ........ """." .... " ..... """ .... " .. "" .... """ ........... ..440 Резюме" ............ " ............ " ... " "."." ...... " ... . " .. "." ..... " ... " " .... "" .... 443 Дополнительная литература .....................................•.................... 443 Обзорные задачи.... " ........ " ........ .. ... .. " ................ ................... " ..... 444 Упражнения ............. ........... ... .. .................. ................. ... ............ " .. 446 Приложение А Проrраммы дnя ученых и инженеров, дополняющие Excel .............................................. 450 DeltaGraph Pro 4.0 .......... .... "." ......... ". ".".". " ... " .". " .... " .... " ..... " . 450 MathType .................... : ..................... ...................... ....................... 452 Mic rosoft Acc ess и Visual Basic .... " ." .. ......... " " " ........ ". " .. ... " .. " ." .. 453 Приложение 6 Использование отдельно распространяемой дискеты .............................................•................ 4 54
•+4• Drnaвneнue Приложение В Функции для ученых и инженеров, включенные в Ex:cel ...................................•... "...... 455 Надстройка Пакет Анализа для Excel " .. ". " ..... """."."."."" ........... 455 Программы дисперсионного анализа" .. "" ... " ..... "."" ... ""."""". 455 Корреляционный анализ " .... ". "." ..... " ....... "". " .. " .. " ". ". ". " ... "" 456 Ковариационный анализ .. " "". "." .. "." .. "." .. "." .. " .. " ". ". " .. " .. "" _456 Описательная статистика" ... "." .. "."." .. "." ... " ... " ... ""." .. """ ... " 457 Экспоненциальное сглаживание" .. " .. "." .. "."""."."" .. "".""."." 457 Двухвыборочный F-тест ." .. ""."." .. "." .. "." ......... " .. ""." ... "" .. "" 457 Анализ Фурье ....... "." ..... " .... "."." .. "."""."""."""" .. "."."."" ... " 457 Гистограммы"~" .. " ..... " .. " ....... " .. " ........... " .. "."." ........ ".".""."" 45 7 Скользящее среднее ............ "."." ..... " .. "" ... "."."." .... " .. ".~" .. "" 458 Генерация случайных чисел "." .. ". " .. " .. " "."."""" " .. " .... """""" 458 Ранг и. персентиль ..... " ..... "." .. "." .... " ..... " .. "." ..... " .. " ... " .. ". " .. " 458 Регрессия ........... " .. "." .... ". " .. " ". " .. ".". "". "." .. " ". """." .. ".". ". 458 Выборка ...... " ...... " .... "" .. "."."""." ..... "."" ... "." .. "." ..... " ..... " .. " 458 Т-тест.... "."."." ..... """" ... " "" ... "".""."."."""." .. "." .... "" .. """ .. 458 Парный двухвыборочный t-тест для средних""""" .. """"".".""" """""459 Двухвыборочный t-тест с одинаковыми дисперсиями """".""""""""".459 Двухвыборочный t-тест с разными дисперсиями""",""""."""""""""" 459 Z-тест............. " .. " ... " .. " .. ". "" ." .. "" "."" "." "".". " .. ". ". ". ". ".:" .. 459 Специальные функции .. "" ...... ".""""""." ... """."." .. "."."." .. "." .. 459 Функции Бесселя ............... " ". " ...... " ..... "."" .......... " .... "." "" " ... 459 БЕССЕЛЬ.J() ."" "" ." ". "" ." "" "." ". "" ". ".""". "" ". "" ". ". ""." ". ". """. " .. 459 БЕССЕЛЬ.1{)."""""."""."."""".""" .. "."."""."""."""."."."."."""""." .. 460 БЕССЕЛЬ.К()"" """. """.""" """.". ". " .. " "" "" ". "" ". "" ". "" .. " .. ". """.""460 БЕССЕЛЬ.У{) """ .. ". """.""" """." "" "" ".""" .""." """. ". "." .". "" ". """"460 ФОШ() ......... " ...... "." ............ " .... " ..... " .... "" .. "" .... " ..... ".""" .. " .. 460 ДФОШ() ........ " .... " .. " .... " ....... " .. " ..... " ......... "." .... "." .. "." .. "." ... 460 Функции распределения .. " .... "." ......... "."""."."."""."." .. " .. "." ... 460 Приложение Г Использование внешних библиотек в Ex:cel .............. 462 Приложение А Соответствие английской и русской версий Ex:cel 97 .......... "..... "............................... " ............. 466 466 469 Соответствие терминов русской и английской версий Excel 97 ... Соответствие функций русской и английской версий Excel 97 ..... Соответствие элементов интерфейса русской и английской . версий Excel 97 ...... ".""" .......... " ... """" .. "." .. "."""."."."." .. " .. ". 476 Предметный указатель .......................................... 482
Учебное издание Вильям Орвис " EXCEL для ученых, инженеров и студентов Подписано в печать - 24.03.99. Формат 60х84 1/16. Усл. печ. л. 33. Усл. кр . -отг. 33. Бумага газетная . Гарнитура TimesET. Печать офсетная. Заказ № 99069 ООО "ЮНИОР'', 254214, г. Киев, ул. Северная, 22 Адрес для корреспонденции: г. Киев-142, ул. Стуса, 35-37, издательство "Юниор" телефоны: (044) 452-82-22, 488-29-70 e-mail: junior-mail@writeme.com Web: http://www.junior.ukrnet.net r. Отпечатано АОЗТ "РОТЭКС" Киев, у.Л. Машиностроительная, 46
СЕТЕВЫЕ ТЕХНОЛОrии . кииrА. ВТОРАЯ В современном обществе компьютерные сети стали неотъемлемой частью инфор­ маuионной структуры . Однако .все возра­ стающее значение компьютерных сетей требует от спеuиалистов по компьютер­ ной обработке информаuии хорошего Зна­ ния всего спектра технических и организа- 1 uионных вопросов, связанных с выбором , установкой и эксплуатацией сетей. обусловлено не только предприятий Это потребностями и организаuий , в которых сети должны быть органичной частью об- \ щей инфраструктуры, но и большим раз- i i ний, широкой палитрой имеющихся на ! нообразием возможных технических Р.еще- рынке аппаратных средств и разнообраз- j нога программного обес!lечения. 1 • В книге в сжатой и понятной форме приведены все основные сведения 1 1 о принuипах организаuии и функuионирования компьютерных сетей , а также рассмотрены все протоколы и стандарты , используемые в сов­ ременныхкомпьютерных сетях . • Рассмотрены вопросы, касающиеся работы пользователей компью­ терных сетей , работающих с такими операuионными сйстемами, как DOS, Windows for Workgroups, Wiвdows 95/98 и Unix. Приведено так­ же описание характерных проблем. возникающих перед сетевыми .ад­ министраторами , систем, как • при эксплуатации таких сетевых операuионных Novell Netware 4.1 / 5.0, Microsoft Wiпdows NT/ 2000 и Uпix. Несколько глав книги посвящены проблеме выбора и установки аппа­ ратных средств и программного обеспечения компьютерных сетей, на­ чиная от небольших офисных сетей, и заканчивая крупными сетями больших предприятий, объединяющих в себе несколько корпоратив­ ныхсетей различных подразделений или филиалов . . УЧЕБНОЕ ПОСОБИЕ 1
Посетите наш WеЬ-узел по адресу http://www.junlor.ukrnet.net D:: Пм•кте: ~ ":~·-; .·.:.: : -: .-.~.:.·:~_=:_;_~:~:i.~:.:~ ..~:.:. ~ Звонмте: +300 44 452-8222 nрмсылаiiте факсы: +ЗВJ 44 452-8433 Наши книги по ценам издател ьства всегда можно найти в виртуальном магазине компании INT по адресу http://www.lnt-commerce.com РАБОТА НА IПР С ОIШIЬНОМ КОМПЬЮТD'Е. Пl'АКП!ЧЕСЮIЙ КУР С В ОЛКОВ ВСD! ОЛОД 20.00 rрн. КИЕВ Содержа~mе : Книrа издана е 1 999г. содержит 57 0с Являе-rt:я
Уважаемый читатель! С помощью приведенной ниже карточки Вы сможете стать нашим за­ регистрированным читателем и оперативно получать информаuию о но ­ вых книгах нашего издательства и приобретать их на выгодных условиях. Мы же , со своей стороны, сможем лучше и быстрее с помощью наших книг оказы вать вам помощь в решении ваших проблем . r·-------- -- -·---- ---- -- - -- --- - ------···-------· ·· ··--- -- ····- - --·- - ·····----···· · · ·· -----· ··- -------· ·· ·-- - ··· РЕГИСТРАЦИОННАЯ КАРТОЧКА читателя издательства "ЮНИОР" Фамнл11я ._ Отч ество ло м . ул . __ _ н ас . 11у н кт обл астъ -·-· __ _ кор п ус . _ rай ш1 __ ·- кя . __ стран :~ _ конТШ(ТНЫ й телефон и коr1 насе;~еююю lfУНJ.."ТЗ E-niail: _ возра ст _ __ ме сто работы или учебы п араметры домашнего компьютера ·· - -· __ _ Инде кс EXCEL для ученых, инженеров и студентов Почтовый адрес издательства : г. Киев, ул. Стуса, 35-37, офис Издательство "Юниор" 252142 Телефон/факс: 111. (044) 452-82-22; 488-29-70 e-mail: junior-mail@writeme.com Web: http://www.junior.ukrnet.net
Приз!!! Местомя. фотографии Код при за Фамилия Им я От ч ес т во Инд екс и т о чный п оч т ов ый Недорогой а дрес ~редней Дорогой стоимости Аппаратные средства Лицензионное програ ммное обеспече н ие Годовая подписка на книги ведущих издательств Бытовая техника Правила заполнения карточки "Приз!!!" Если в т.ексrе книrи вы нашл и стран и цу с кодо м приза, за веренную печатью и здател ьства " Юниор" - поздравляем с выигрышем! В ам осталось л ишь правильно запол нить данную кар­ точку и прислать ее нам - все остальное сделаем м ы . П режде всего, пра вильн о укаJК.Ите код приза (стратщу с печат ью наШего издательства выреза т ь 11 присылать IIE НУЖНО - юшга остается у Вас как подтвержде1111е Вашего выигрыша . ) Как только мы получим за п олненную карточку , мы свяжемся с Вами и сообщим какой вы игрыш Ва м достался . Однако при этом мы можем учесть Ваши пожелания . Для этого Вы можете запол н ить приведенную выше таблицу . При зы различаются по стоимости и по виду. · вы можете заполнить любое кол ичество яче­ ек и даже всю табл ицу - это ни ка к не повлия ет на стои мость доставшеrося Ва м вы игрыша, но позвол ит нам ка к можно более точн о учесть Ваши интерес ы . В графе "Аппаратн ые средства " укажите параметры необходимых вам устройств, в графе "Ли цензион ное програ ммное обеспе­ чение " - н азвания программных продуктов , в графе " Годовая подп иска" - интересующ>10 Вас тематику . а в графе " Б ьrrовая техни ка" - тип. модел ь и техн ические пара метры того или иного бытового устройства . Разделе ни е по стоимости достаточно условно - мы надее мся на В а ше чувство меры !! здравый смысл . Выигрыш будет тол ько один , н о мы поста ра емся сдела1ъ все . чтобы он стал для Вас по­ н астоя щему приятным с юрпризом! В а ша фотографи я желател ьна в тех случаях , когда Вы зах отите лично пр иехать в Киев для получ ения приза. Благодари м за Ваш выбор, - оставайтесь с нами '
EROYCorp. Салои-маrазии: ул. Михайловская, 6А, к.3 тел/факс: 228-00-60; 228-20-03; 228-78-80; 229-51-24 Из - ~OJOCCQJ \П]р~ож~~~LW ~rыJб~р~ СВОЙ КАЖДОМУ ПОКУПАТЕЛЮ - 5 часов INTERNEТ БЕСПЛАТНО !!!
EROY Corp. теп/факс: 228-00-6 ,-·-··--·-·----------------· -·-·············--··-----------·--···-················------------r--------- ·····-····----- -------------·-··--···-··-·---------------------- ----- ·-·····-··· , G~ROY Corp. ------------- . Mhcr,-a.~ayo sf tю iel· 221 0060; 211 7180; 229 5114; 2212003 i: :t MkfV't"J.oyo ------------- . · rJf Компьютеры ,~_~ rJl' Принтерь1 s1 b'l. Ttl: 221 0060; 221 7180; 229 5124; 22 ~- ~ .~ rJl' Сканеры ·~i; rJl' Коп.аппарать1 ;t;: rJl' Мультимедиа ,:-_,; rJl' UPS ~ / ,, rI Компnектующие "E,} (("EL д~tя учеНЬLУ:, 1111же11еро11 и студе11тов" г----~-~ -- -t , G~ROY Согр. Mi~oyiovskoyo ''tXCEL для уче11ых, инженеров и студе11тов . G~ROY Co rp. s: 6а ;!1· 221 0060; 228 7UO; 229 S124; 2212003 M·hay~ rJl' Ко~· "..._ютерь1 ·~ . rJl' Приh . 1 . ~-.· rJl' Сканерь1 :~. ;· rJl' Kon.annapaть1 f' 1 rJl' Муnьтимедиа · · rI Компьютеры ·< : rJl' Принтерь1 гЯ Сканерь1 rJl' Коп.аппараты rJl' Мультимедиа . ~~: rJl' UPS rJl' Комплектующие . s: 6о. 1el. 221 0060; 228 7180; 229 S124; 22-' ~- ~:~- .J -. . . '· L.11" UPS ' ~ "EXCJ::L для J•че11ых, инже11еров и студентов r, •--- ---- - - . -- ---- - --- --- ---- - - - • - -- ·- - -- ------------ ---- ·· - ''EX(. .EL для уче11ых, инже1tеров и студенто, · -· .1-- - -•- -- - ------- .... ··· ·· · ----------- -- -- --·---- - .". - - - -----·----- - - --
для •• учень1х, инженеров и студентов Excel для учёных, студентов инженеров и это великолепный - источник информации о реализа­ ции сложных численных методов с помощью Excel Воспользуйтесь Excel для проведения вычислений любой сложности. В книге приводится множество примеров, иллюстри­ рующих методы проведения инженерных и научных расчетов в Excel. В книге рассматри­ ваются следующие вопросы: разработка инженерных таблиц функций одного и нескольких аргументов, а также калькуляторов функций, облегчающих анализ "что-если" • применение встроенных функций Excel для аппроксимации данных, начиная от простой линейной аппроксимации и заканчи­ вая линейной и полиномиальной регрессией и нелинейной аппроксимацией • реализация основных методов интегри­ рования, таких как правило прямоугольни ­ ков, трапеций, Симпсона и метод квадратур Гаусса • использование фунций распределения и статистических функций • решение обыкновенных дифференциаль­ ных уравнений и уравнений в частных производных путем применения новых под­ ходов к работе со стандартными средствами Excel • создание новых функций на языке Basic for Applications Visual