- •Простые вычисления в Excel.
- •Применение адресов ячеек (ссылок).
- •Применение имён
- •Создание функций пользователя в Excel с применением Visual Basic for Applications
- •Применение диалоговых окон (форм).
- •Построение диаграмм в Excel
- •Основы MathCad Назначение Mathcad
- •Функции
- •Построение графика функции
- •Структура цикл
- •Применение адресов ячеек
- •Вложенный цикл
- •Применение смешанной адресации клеток и имён
- •Решение с использованием функций vba
- •Применение функций массивов
- •Решение в MathCad
- •Программный элемент «Накопление»
- •Решение в Excel
- •Решение в MathCad
Вложенный цикл
Рассмотрим решение на примере следующей задачи:
исследовать изменение значений
h=b+Vt-gt2/2
при изменении t от 10 до 16 с шагом 2 с и при изменении высоты b от начального значения bn=3,4 м до конечного значения bk=6,9 м c шагом b=70 см.
V=10 м/сек2
Применение смешанной адресации клеток и имён
Введём в клетки листа Excel входные данные и дадим клеткам имена
выделив диапазон A3:B10 и нажав «Вставка» «Имя» «Создать»
Заполним также диапазоны E3:H3 и D4:D9 значениями t и b соответственно. вводя в клетки формулы, использующие имена, и копируя методом протаскивания.
Введём в клетку E4 формулу =$D4+V_*E$3+g_*E$3^2/2 , где применена смешанная адресация, для переменной t расположенной в строке фиксируется (делается абсолютным) номер строки, а для переменной b фиксируется буква столбца.
Копируем формулу из клетки Е4 в другие клетки прямоугольного диапазона Е4:Н9
Решение с использованием функций vba
Создадим в модуле («Вид» «Панели инструментов » «Visual Basic» «Редактор Visual Basic» «Insert» «Module») функцию следующего вида:
Public Function funH(v, t, b) As Single
Const g = 9.81
funH = b + v * t + g * t ^ 2 / 2
End Function
Введём в клетку E4 формулу «=funH(V_;E$3;$D4)» , где также применена смешанная адресация и копируем формулу в остальные клетки диапазона.
Применение функций массивов
Наиболее просто и быстро решение выглядит при применении функций возвращающих массивы. Присвоим имена диапазонам изменения t (E3:H3) и b (D4:D9), соответственно t_ и b_.
Выделив диапазон E4:H9 введём формулу « =b_+V_*t_+g_*t_^2/2 » закончим ввод комбинацией клавиш «Ctrl+Shft+Enter»
Примечание. Для применения функций массивов необязательно давать имена. Формулу можно написать, используя адреса диапазонов и клеток. Например, так {=D4:D9+$B$9*E3:H3+$B$10*E3:H3^2/2}, но применение имён делает формулу намного понятней.
Решение в MathCad
Зададим входные данные, присваивая переменным значения с единицами измерения
Определим функцию
Константу g задавать не надо, так как она является встроенной в MathCAD.
Определив ранжированные переменные
можно получить значения функции
Однако подобное решение вряд ли можно считать приемлемым. Непонятно, каким значениям аргументов, соответствуют значения функции. Результат по своему смыслу должен быть представлен в табличном виде. Для того чтобы избежать указанных недостатков можно поступить следующим образом:
Заполним вектор (одномерный массив) b значениями высоты
Число элементов m в векторе b можно вычислить по формуле
Введём ранжированную переменную
Для начала нумерации массива с единицы надо присвоить переменной ORIGIN:=1
для i-того элемента вектора
тогда
Так как в MathCAD вектор это один столбец для вывода в строку используем операцию транспонирования.
Тогда элемент таблицы (матрицы) равен
Полностью решение в MathCAD выглядит так: