Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Применение диалоговых окон (форм).





В VBA есть диалоговые окна или формы пользователя аналогичные формам в VB.
Для загрузки формы надо войти через панель Visual Basic в интегрированную среду разработки и выбрав в меню пункты «Insert»à «UserForm» вставить форму. На панели элементов управления находятся текстовое поле – TextBox, командная кнопка – CommandButton, надпись – Label и другие элементы управления, свойства которых подобны соответствующим в VB, хотя названия несколько отличаются. Но есть дополнительные элементы, которые специфичны именно для Excel, а именно редактор ссылок – RefEdit, с помощью которого можно указывать мышью ячейки для ввода и вывода данных. Дадим форме имя (свойство Name) «frmV» и название (свойство Caption) «Вычисление объёма» в окне свойств (Properties). Поместим на форму три элемента управления RefEdit для ввода адресов ячеек с рабочего листа содержащих значения хорды, угла, дуги с именами по умолчанию RefEdit1, RefEdit2, RefEdit3 соответственно и для адреса ячейку, которая получит значение объёма (RefEdit4). Также поместим текстовое поле (TextBox1) для параллельного вывода значения объёма на форму и командную кнопку (CommandButton1) для запуска процедуры вычисления.

 

 

 

 

Для обращения к ячейке используется объект Range, являющегося свойством рабочего листа, у которого в свою очередь есть свойство Value, содержащее значение ячеек, адрес которых будет аргументом метода Range.

В качестве аргумента используем элемент управления RefEdit таким образом, чтобы присвоить переменной значения, находящейся в ячейке используем синтаксис:

X=Range(RefEdit1.Value).Value

Так как свойство Value – это свойство по умолчанию как для Range, так и для RefEdit, то его можно не использовать и написать

X=Range(RefEdit1)

Двойной щелчок мыши по командной кнопке создаст в окне модуля формы заготовку процедуры, запускаемой по щелчку по этой кнопке.

В качестве примера вычисления объема напишем следующий код:

Private Sub CommandButton1_Click()

Const Pi = 3.14159265358979

Dim x1 As Double, x2 As Double, x3 As Double, x4 As Double

x1 = Range(RefEdit1) ‘присвоение переменной x1 значение ячейки, адрес которой ‘находится в RefEdit1

x2 = Range(RefEdit2)

x3 = Range(RefEdit3)

x4 = Pi * x1 ^ 3 * 1 / Tan(Pi / 180 * x3 / 2) * Tan(Pi / 180 * x2) / (8 * Sin(Pi / 180 * x3 / 2) ^ 2)

TextBox1.Text = x4

Range(RefEdit4) = x4 ‘присвоение ячейки с адресом, находящимся в RefEdit4 ‘вычисленного значения

End Sub

Для вызова формы с рабочего листа на панели инструментов Visual Basic нажмем кнопку «Элементы управления» и поместим на лист кнопку. Дважды щелкнув по ней, напишем код вызова формы. Синтаксис оператора показа формы такой: ИмяФормы.Show

Private Sub CommandButton1_Click()

frmV.Show

End Sub

 
 


 

Обратите внимание, что эта процедура помещена в модуль рабочего Листа.

 

Вызвав форму и придавая фокус соответствующим элементам RefEdit и затем, щелкая в ячейках рабочего листа, введем адреса ячеек. Это можно сделать как мышью, так и набором с клавиатуры и вводить вместо адресов имена ячеек, если они имеются.

 

 

В ячейке, указанной для вывода получим значение объема, которое должно быть таким же, как и в предыдущих случаях. Для вычисления значения переменной x4 можно было использовать уже готовую функцию пользователя фнкОбъём, написав:

x4=фнкОбъём(x1, x2,x3)

 

Итак, проект содержит стандартный модуль с общедоступной (Public) функцией фнкОбъём(), форму со своим модулем, где находится локальная (Private) процедура ввода, вычисления, вывода данных и модуль рабочего листа «Лист1» с процедурой вызова формы.

 

 

 

Построение диаграмм в Excel

Для создания диаграммы в Excel необходима таблица значений. Рассмотрим построение декартовых графиков функциональной зависимости y=f(x). Пусть имеется экспериментальные данные измерения пройденного пути в зависимости от времени. Заполнив ими два соседних столбца (или строки) на рабочем листе Excel, выделим их вместе с названиями, вызовем «Мастер диаграмм» (пункт меню «Вставка»à «Диаграмма»), и выберем тип диаграммы «Точечная».

 

 

Тип графика «Точечный»

 

Тип «Точечная» берёт значения из одного столбца (самого левого при таком способе построения) и откладывает их по оси «х», а соответствующие им из других столбцов по оси «y». Частой ошибкой бывает выбор для подобного типа диаграмм пункта «График». Посмотрим, что произойдёт при таком выборе.

 


Тип диаграммы «График»

 

 

Полученный график не соответствует «Точечному» (и действительности). Значения расположены через равные промежутки, хотя в исходной таблице интервалы по оси «х» разные.

 

Возможно построение нескольких графиков в одном окне диаграммы. Пусть надо добавить новый ряд данных по температуре. Щелкнув правой кнопкой мыши в окне диаграммы, выбираем в контекстном меню пункт «Исходные данные»,

 

 

 

В диалоговом окне исходных данных на вкладке «Ряд», нажимаем кнопку «Добавить» и указываем в соответствующих полях диапазоны значений.

 

 

Так как данные в рядах «Путь» и «Температура» различаются на два порядка, вид графика для данных «Путь» мало показателен. В Excel существует возможность построить один из графиков во второй, вспомогательной оси. Для создания вспомогательной оси, надо щёлкнуть правой кнопкой по линии графика и, выделив её таким образом, в появившемся контекстном меню выбрать пункт «Формат рядов данных» и установить переключатель «по вспомогательной оси».

 

 

 

При построении графика функции заданной в аналитическом виде, например

y=a*sin(x-b), где x изменяется от -3 до 2 с шагом dx=0,25 a=2,4 b=0,3

таблицу значений можно построить следующим образом: в ячейку, например «D4», ввести начальное значение х то есть -3, в ячейку «D5» ввести следующее значение (для шага изменения по х равного 0,25 это будет -2,75), затем, выделив эти две ячейки, протянуть за правый нижний уголок, заполнив таким образом столбец значений по «x». Для значений « в ячейку «E4» вводим формулу «=$B$4*SIN(D4-$B$5)», где ««$B$4» и «$B$5» ссылки на ячейки со значениями «a» и «b» соответственно, эти адреса должны быть абсолютными, а «D4» - ссылка на ячейку со значениями «х», этот адрес должен быть относительным. Копируя методом протягивания ячейку «E4» вниз на нужное количество строк, получаем столбец значений «y». Затем строим график, выбирая тип «Точечный», и форматируем, задавая заголовки, линии сетки и т.п.

При построении и исследовании удобно применять имена диапазонов. Создадим таблицу входных значений для построения графика, где n – число точек. Выделив диапазон А4:В9 через пункты меню «Вставка»à «Имя» à «Создать» дадим имена соответствующим ячейкам. В ячейку для dx введем формулу «=(xk-xn)/n». В ячейке D4 напишем «=xn» а в ячейку ниже (D5) – «=D4+dx» и скопируем ячейку D5 методом протаскивания до ячейки с адресом D24, заполнив, таким образом, 20 ячеек значениями x.

Выделив диапазон D4:D24, присвоим ему имя x. Теперь, при написании формул можно использовать не адреса ячеек, а имена. Это дает более наглядное написание формул.

Напишем в ячейке E4 формулу «=a*sin(x-b)» и, скопировав ее методом протаскивания до ячейки E24, заполним значениями функции.

 

 

 

При таком способе построения графиков, изменяя значения xn и xk можно исследовать любой нужный диапазон значений функций

 

 

Для построения графика функции, имеющего разный функциональный вид для разных значений аргумента (это задача «Развилка») используется логическая функция «=ЕСЛИ(условие; значение истинно; значение ложь)». Для графика функции заданной условием Y=a*sin(x) если x<-1, Y=b* │x│ если x>=-1 формула принимаем следующий вид

=ЕСЛИ(D4<-1;$B$4*SIN(D4);$B$5*КОРЕНЬ(ABS(D4)))

или при применении имен «=ЕСЛИ(X<-1;a*SIN(X);b*КОРЕНЬ(ABS(X)))»

Можно создать, а затем применить пользовательскую функцию, написанную в VBA, код которой для последней рассматриваемой задачи будет иметь вид:

Public Function Развилка(a, b, x) As Double

Dim y As Double

If x < -1 Then

y = a * Sin(x)

Else

y = b * Sqr(Abs(x))

End If

Развилка = y

End Function

 

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

 

 

При построении графика функции, имеющей три условия, применяется вложенная развилка. Например, при условии:

Y=a*sin(x) если x<-1

Y=b* │x│ если -1<= x <0,5

Y= x если x>=0,5

формула при применении адресов следующая:

=ЕСЛИ(D4<-1;$B$4*SIN(D4);ЕСЛИ(И(D4>-1;D4<=0,5);$B$5*КОРЕНЬ(ABS(D4));D4))

Здесь для условия -1<=x<0,5 применена логическая функция

И(логическое_значение1; логическое_значение2;...)

возвращающая значение ИСТИНА, если все аргументы имеют значение ИСТИНА; значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ.

 

 

Основы MathCAD

Назначение Mathcad

Mathcad является математическим редактором, позволяющим проводить разнообразные научные и инженерные расчеты, начиная от элементарной арифметики и заканчивая сложными реализациями численных методов.

Mathcad, построен в соответствии с принципом "что Вы видите, то и получите". Достаточно просто вводить математические выражения с помощью встроенного редактора формул, причем в виде, максимально приближенном к общепринятому и тут же получать результат.

Математические выражения и текст вводятся с помощью формульного редактора Mathcad,

Mathcad позволяет решать различные задачи:

проведение математических расчетов;

подготовка графиков с результатами расчетов;

ввод исходных данных и вывод результатов в файлы

подготовка отчетов работы в виде печатных документов;

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

Математические расчеты производятся немедленно, в соответствии с введенными формулами.

Графики различных типов вставляются непосредственно в документы.

Символьные вычисления позволяют осуществлять аналитические преобразования.

Mathcad позволяет получать разнообразную справочную информацию по математике, физике, механике, химии.

Для вычисления достаточно ввести с клавиатуры выражение, например Cos(4/5)=

После того, как будет нажата клавиша со знаком равенства, появится результат

Подобным образом можно проводить и более сложные и громоздкие вычисления, используя для ввода соответствующие панели

 

 

 

Чтобы ввести встроенную функцию в выражение: определите место в выражении, куда следует вставить функцию, нажмите кнопку с надписью f(x) на панели инструментов и имя встроенной функции.

 

 

В Mathcad переменные, операторы и функции вводятся и вычисляются так, как они были бы написаны на листе бумаги. Математические выражения вычисляются слева направо и сверху вниз. Чтобы определить переменную, достаточно ввести ее имя и присвоить ей некоторое значение, для чего служит оператор присваивания. Введите в желаемом месте имя переменной, например W и ведите оператор присваивания с помощью клавиши «:» или нажатием соответствующей кнопки на панели инструментов

 

 

 

В Mathcad числовые переменные и функции могут обладать размерностью.

Чтобы создать размерную переменную введите символ умножения после значения переменной и выберите команду «Математика à Единицы» либо нажмите кнопку с изображением мерного стакана.

 

 

В списке «Единица измерения» выберите нужную единицу измерения

 

Задав значения аргументам, присвоим нужное выражение искомой переменной и с помощью символа «=», получим ответ.

 

Mathcad контролирует корректность применения размерных переменных. Нельзя, например, складывать переменные разной категории размерности

Функции

Функции определенные пользователем в Mathcad записываются в форме:

ИмяФункции(Список аргументов):=Выражение

Например y(a,b,x):=a*sin(x-b)

Все переменные, присутствующие в выражении определения функции должны входить в список аргументов функции. После определения функции, её можно использовать для вычисления, предварительно придав значения аргументам.

или или

При вводе знака равенства для вычисления математических выражений в Mathcad, фактически применяется оператор вычисления или численного вывода.

Оператор численного вывода означает, что все вычисления проводятся с числами, а различные встроенные алгоритмы реализуются соответствующими численными методами.

Ранжированные переменные

Ранжированные или дискретные переменные в Mathcad, это переменные которые изменяются в некотором диапазоне с постоянным шагом. Для создания ранжированной переменной надо присвоить ей начальное значение, затем через запятую следующее (начальное + шаг) и далее после символа диапазона «..», вводимого с панели «Матрицы» или клавишей «;», конечное значение.

Ранжированные или дискретные переменные применяются для получения листинга значений функции, например:

 

С помощью ранжированных переменных организуются циклы, итерационные вычисления, а также строятся графики.

Построение графика функции

Чтобы создать двумерный Декартов график, вызовите панель «График», нажмите кнопку «Декартов график». В обозначенном месте документа появится шаблон графика с несколькими местозаполнителями. Введите в местозаполнители имена ранжированной переменной и функции.

Для примера построим график следующей функции:

Y=a*sin(x) если x<-1, Y=b* │x│ если x>=-1

Для построения графика функции, имеющего разный функциональный вид для разных значений аргумента (это задача «Развилка») используется логическая функция

«=if(условие, значение истина, значение ложь)». Для данной функции формула принимает следующий вид:

Задавая соответствующие значения ранжированной переменной и шаг

получим график функции:

 

При построении графика функции, имеющей три условия, применяется вложенная функция «if()». Например, при условии:

Y=a*sin(x) если x<-1

Y=b* │x│ если -1<= x <0,5

Y= x если x>=0,5

функция следующая:

 

 

Присвоим переменной x значение 7.8 м. В MathCAD символом присвоения служит «:=» вводимый с клавиатуры комбинацией клавиш «Shft+:». Замечательной свойством MathCAD является возможность применять размерности, вводимые после знака умножения «*» либо с помощью клавиатуры, либо с применением кнопки «Размерности» на панели инструментов.

 

 

Введём начальное значение, конечное значение и шаг изменения L, с указанием размерности в градусах

 

Определим ранжированную переменную L.

Ранжированная переменная – это переменная, которая принимает значения в диапазоне от начального значения до конечного с определённым шагом. Вводится сначала начальное значение, затем, через запятую, следующее значение равное начальному плюс шаг и далее через символ интервала «..» “ (клавиша «:») конечное значение.

 

Определяется функциональная зависимость – имени функции с указанием в скобках формальных параметров присваивается формула.

 

 

Для получения ответа в функцию подставляются фактические аргументы, символ «=»означает вывести результат вычислений.

 

.

Примечание. В MathCAD регистр символов имеет значение. Переменные yZx и zyx- это различные переменные, то же самое касается имён функций.


Структура цикл

Рассмотрим задачу на примере:

Вывести значения

Применение адресов ячеек

 

Операндами формул в ячейках могут быть адреса ячеек. Относительный адрес – это буква столбца и номер строки (например F2). При копировании ячеек содержащих формулы относительные адреса операндов меняются.

 

 

Для того чтобы ссылки на ячейки не изменялись, применяется абсолютная адресация. Чтобы адрес ячейки был абсолютным, перед буквой столбца ставится и номером строки ставится знак доллара $ (например $C$2 ).

 

Применяются также смешанная адресация, когда фиксируется только адрес строки (C$2) или столбца ($C2).

 

Для решения задачи внесём в ячейку B2 значение x=7,8 в ячейку B3 значение y=520, в ячейку D2 и E2 начальное значение L и следующее значение (L+dL) с шагом 5(0 и 5). Затем, выделив 2 ячейки (D2 и E2) и установив указатель мыши на правый нижний угол выделенной области(указатель при этом примет вид тонкого крестика, начальная ячейка выделенной области остаётся не закрашенной), протянем при нажатой левой кнопки мыши указатель по строке, заполним тем самым диапазон значениями L.

 

 

 

В ячейку D3 введём формулу. Чтобы Excel воспринимал введённый текст как формулу, он должен начинаться с символа “=”. Ссылки на ячейки, где находятся значения x и y должны быть абсолютными, а на значения L - относительными, так как формула будет копироваться.

 

 

Поскольку значения L даны в градусах, а тригонометрические функции воспринимают аргумент в радианах, необходимо перевести градусы в радианы, умножив на коэффициент π/180. Для ввода значения π можно использовать функцию Пи().

Закончив ввод формулы нажатием клавиши Enter, надо скопировать формулу, протянув за правый нижний уголок.

 

 

 

После копирования абсолютные ссылки на ячейки со значениями x и y остались фиксированными, а относительные ссылки на значения L изменились.

Для пояснений можно добавить к ячейкам примечания, щёлкнув правой кнопкой мыши на соответствующей ячейке и выбрав из контекстного меню пункт
«добавить примечание», Чтобы примечание отображалось постоянно надо также выбрать пункт контекстного меню «отобразить примечание».

 

Вложенный цикл

Рассмотрим решение на примере следующей задачи:

исследовать изменение значений

h=b+Vt-gt2/2

при изменении t от 10 до16 с шагом 2 с и при изменении высоты b от начального значения bn=3,4 м до конечного значения bk=6,9 м c шагом Db=70 см.

V=10 м/сек2

 







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.