Элементы программирования в MathCad 15
Для примера рассмотрим пример заполнения матрицы-вектора в автоматическом режиме. Предположим, что нам нужно заполнить матрицу случайными числами. Размер матрицы 10 элементов. Заполнение в ручную такой матрицы безусловно отнимет массу времени
В свободном поле mathcad введите имя вашей будущей матрицы M. Поставте знак присвоить «: ]». В место привычного маркера возникнет вертикальная черная черта с двумя маркерами. Удерживая клавишу Alt введите еще несколько раз символ «]» так, чтобы увеличить число свободных маркеров. Можно также воспользоваться кнопкой «Add Line» на панели Programming. В этих маркерах записываются строки кода
Рис. 1. Подготовка к написанию кода
Поместите курсор в первый маркер и на панели Programming нажмите кнопку с надписью «for». Вы увидите заготовку для формирования цикла FOR с маркером для ввода «тела цикла», который несколько отстоит от основных маркеров
Рис. 2. Запись безусловного цикла FOR
Теперь нужно ввести переменную-счетчик (пусть это будет «i»), которая будет менять свое значение от 1 до 10. Диапазон от 1 до 10 задается с помощью ранжированной переменной, которую можно найти на панели Matrix
Рис. 3. Настройка параметров цикла for в mathcad 15
Цикл for в этом примере будет перебирать значения счетчика i от 1 до 10 c шагом 1. При каждом значении i элементу матрицы с соответсвующим индексом будет присваиваться случайное число с помощью стандартной функции rnd(m). Функция rnd присваивает переменной значение в диапазоне от 0 до «m»
Операция присваивания осуществляется при помощи операции Local difinition с панели Programming. Опрерация присваивания отображена в виде стрелочки «←». Чтобы присвоить какое либо значение элементу матрицы нужно указать соответсвующий индекс матрицы. Это делается с помощью кнопки Subscript на панели Matrix.
Операция присваиваивания должна осуществляться в «теле цикла». То есть, все действия, которые должны повторяться по мере работы счетчика циклы, должны находиться в соответсвующих маркерах. После завершения работы цикла в последний маркер тела программы нужно ввести имя матрицы, над заполнением которой мы работали. В нашем случае это M. См. рисунок 4
Рис. 4. Синтаксис программы по заполнению матрицы-вектора случайными числами в mathcad 15
Теперь можно посмотреть на результат. Введем имя матрицы M и поставим знак равно » /static/images/mathcad/coding_5.JPG»>
Рис. 5. Результат работы программы в mathcad 15
Можно изменить программу таким образом, чтобы заполнить квадратную матрицу. Для этого нам нужно ввести еще один счетчик и еще один цикл for с индексом j. Таким образом один цикл будет выполняться внутри другого, формируя столбцы и строки матрицы
Рис. 6. Программа для заполнения квадратной матрицы в mathcad 15
Программы в mathcad могут использовать значения переменных, находящихся вне тела программы. Например, на рисунке ниже видно, как можно конечные значения счетчиков цикла связать со значениями переменных из вне
Рис. 7. Программа для заполнения квадратной матрицы в mathcad 15
Условные операторы «IF» в mathcad 15
Чтобы посмотреть, как работает условный оператор «if» в mathcad 15 рассмотрим простой пример. Заполним квадратную матрицу G размером 5 х 5 элементов случайными числами и затем обнулим все элементы, которые меньше 10
На рисунке 8 приведен уже знакомый код заполнения матрицы случайными числами
Рис. 8. Программа для заполнения квадратной матрицы случайными числами
Для обнуления элементов, значение которых меньше 10, запишем второй участок кода с использованием условного оператора «If». Для проверки каждого элемента на выполнение этого условия нам опять потребуется два вложенных цикла «for» с счетчиками i и j. См. рис. 9. Обратите внимание, в теле второго цикла оставлено два свободных маркера
Рис. 9. Заготовка для применения условного оператора
Результат работы программы для удобства будет записываться в матрицу P. Поместите курсор в первый свободный маркер и нажмите на кнопку с надписью «if» на панели Programming. Вы увидите заготовку для записи условного оператора
Рис. 10. Заготовка для условного оператора
В этой заготовке выполним обнуление элемента матрицы G если значение этого элемента менее 10. Присвоение элементу матрицы значение нуля осуществляется символом «←» . Буквально логика данной операции следующая: «присвоить элементу матрицы P с текущим индексом i и j значение 0 если елемент матрицы G с тем же индексом меньше 10»
Рис. 11. Ввод условного оператора в mathcad 15
Теперь запишем второе условие, по которому все элементы матрицы G, которые больше либо равны 10 попадают в матрицу P без изменеий на те же «мееста». Буквально логика данной операции следующая: «присвоить элементу матрицы P с текущим индексом i и j значение елемента матрицы G с тем же индексом если значение элемента больше либо равно 10». Сразу же после текста программы можно вывести результат. См. рис. 12.
Рис. 12. Ввод условного оператора в mathcad 15
Теперь можно наглядно увидеть, как изменилась матрица после ее обработки условными операторами
Рис. 13. Результат работы условного оператора
Цикл «WHILE» в mathcad 15
Цикл While является условным циклом. То есть повторение его тела осуществляется до тех пор пока верно условие.
Рис. 14. Цикл WHILE в mathcad
В теле цикла могут находиться абсолютно любые команды и операторы: арифметические вычисления, открытие, анализ, обработка и запись данных в файл, запуск скриптов и приложений и т.д. Одним словом программирование это очень полезный и весьма универсальный инструмент, который позволяет реализовать любую идею в инженерной деятельности
Обратите внимание на то, что если в процессе выполнения программы условие запуска цикла «while» всегда оказывается верным, то цикл не завершится. Произойдет так называемое «зацикливание» программы и придется прерывать процесс счета вручную и искать ошибку

Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.
Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.
Форма обратной связи
Поделиться
Статистика
- © student-engineer.pro :: Semen Kuptcov
Тема 9.1. Основы работы с MathCAD
949. Чтобы переменная х изменялась на интервале от -12 до 0 с единичным шагом, её задают следующим образом:
1. x := -12 .. 0
3. x := -12, 1 .. 0
4. x := 0 .. -12
950. В системе MathCAD определена функция:
Каково значение при ?
951. Файлы, созданные приложением MathCAD 13 или более поздними версиями, имеют расширение имени.
952. Операция «=» в системе MathCAD позволяет.
1. вывести значение переменной на экран.
2. присвоить переменной новое значение.
3. переименовать переменную.
4. задать точное представление результата.
953. Какой отрезок оси Х автоматически выбирает MathCAD при построении графика функции, определённой (существующей) от до ?
954. При построении в MathCAD двух зависимостей на одном графике возможно задание.
Двух осей Y (ординат) с разными масштабами.
Двух осей X (абсцисс) с разными масштабами.
Двух осей Y с разными масштабами и двух различных аргументов, но ось абсцисс будет общая.
Двух осей Y с разными масштабами и двух различных аргументов c разными масштабами по оси абсцисс.
Выберите правильный ответ.

955. Дан фрагмент документа MathCAD:
Укажите результат вычисления, если записать .
1. Столбец значений функции , состоящий из 11 элементов.
2. Значение функции при .
3. Значение функции при .
4. Столбец значений функции , состоящий из 10 элементов.
956. В системе MathCAD для задания ранжированной переменной необходимо использовать знак «..». Для его набора необходимо нажать.
1. клавишу «:» (двоеточие).
2. клавишу «;» (точка с запятой).
3. два раза клавишу «.» (точка).
4. комбинацию клавиш Ctrl + «:» (двоеточие).
957. В MathCAD задана функция: y(x): = if (x >7, x 2 , if (x < 3, x 5 , x 4 ))
Если записать y(2) =, какой результат будет на экране?
958. Чтобы изменить в результатах вычисления количество десятичных знаков после точки, в MathCAD необходимо дать команды.
1. Формат ‑ Результат
2. Формат ‑ Стиль
3. Формат ‑ Равенство
4. Редактирование ‑ Замена
959. Будет ли в MathCAD и Microsoft Excel правильно определяться значение логического выражения, записанное двойным неравенством типа ?
1. Только в MathCAD.
2. Только в Microsoft Excel.
3. Да, в обоих приложениях.
4. Нет, в обоих приложениях запись недопустима.
960. Требуется провести вычисления по формуле с различными значениями x. Какая запись в пакете MathCAD будет правильной?
961. Аргументами функций max и min в пакете MathCAD могут быть.
1. любые арифметические выражения, вектора и матрицы.
2. только вектора и матрицы.
3. только числа и функции.
4. только простые арифметические выражения.
962. В MathCAD по умолчанию (если настройки не изменены) нумерация элементов массива начинается с.
Чему равно значение y(-2)?
Раздел 9. Mathcad
Тема 9.1. Основы работы с MathCAD
941. Неверной записью константы в системе MathCAD является.
942. В системе MathCAD ранжированная переменная, которая принимает значения от ‑1 до 1 с шагом 0.1, задаётся следующим образом:
1. х: = -1, -0.9 .. 1
2. х: = -1.0 .. 1.0
3. х: = -1,0, -0,9 .. 1,0
4. х: = -1, 0.1 .. 1
![]() |
943. В системе MathCAD кнопка оператора позволяет.
1. вывести результат символьного вычисления.
2. присвоить переменной значение.
3. удалить переменную.
4. задать границы изменения переменной.
944. В системе MathCAD большие и маленькие буквы в именах переменных.
2. не различаются.
3. различаются в начале имени переменной.
4. различаются только после знака «_».
945. В MathCAD требуется записать функцию при .
946. Какой отрезок оси Х автоматически выбирает MathCAD при построении графика функции, определённой (существующей) от 0 до +¥?
947. В MathCAD задана функция y(x):= if (x < 4, x 4 , if (x >8, x 3 , x 2 )).
y(4) ‑?
948. Чтобы заказать отображение осей на графике в MathCAD, следует дать команду:
1. Формат Þ Оси X-YÞ Пересечение
2. Формат Þ Оси X-YÞ Линии сетки
3. Формат Þ Оси X-YÞ Автосетка
4. Properties Þ Оси X-YÞ Оси
949. Чтобы переменная х изменялась на интервале от -12 до 0 с единичным шагом, её задают следующим образом:
1. x := -12 .. 0
3. x := -12, 1 .. 0
4. x := 0 .. -12
950. В системе MathCAD определена функция:
Каково значение при ?
951. Файлы, созданные приложением MathCAD 13 или более поздними версиями, имеют расширение имени.
952. Операция «=» в системе MathCAD позволяет.
1. вывести значение переменной на экран.
2. присвоить переменной новое значение.
3. переименовать переменную.
4. задать точное представление результата.
953. Какой отрезок оси Х автоматически выбирает MathCAD при построении графика функции, определённой (существующей) от до ?
954. При построении в MathCAD двух зависимостей на одном графике возможно задание.


Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ — конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой.

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.
© cyberpedia.su 2017-2020 — Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
Как можно решить нелинейное уравнение в mathcad

Процесс нахождения приближенного корня уравнения f(x) = 0состоит из двух этапов: отделение корней и уточнение корней. На этапе отделения корней решается задача отыскания возможно узких отрезков [a; b], в которых содержится один корень. При этом необходимо, чтобы функция f(x) на каждом отрезке [ai; bi] должна быть непрерывной и монотонной, а на концах отрезка принимать значения разных знаков. MathCad представляет ряд дополнительных возможностей для поиска корней уравнений. Функция root(f(var1, var2, . ),var1, [a;b]) имеет два необязательных аргумента a и b, которые определяют границы интервала, на котором следует искать корень. Задавать начальное приближение для корня необязательно. В данном варианте функция root использует алгоритм Риддера (в основу которого положен метод хорд) и Брента. Метод Брента соединяет быстроту метода Риддера и гарантированную сходимость метода деления отрезка пополам. Продемонстрируем использование расширенного варианта поиска корней на примере решения уравнения .
Для оценки местоположения корней построим график этой функции
![]() ![]() |
В следующем примере проведено отделение корня для уравнения
x– sin(x) — 0.25 = 0, а затем с помощью встроенной функции rootнайдено значение корня с точностью TOL = 0.001. Это значение переменная TOL принимает по умолчанию. Если требуется изменить точность вычислений, то переменную TOL следует переопределить (например, TOL:=0.00001). В нашем примере, поскольку границы изменения х не заданы, то функция root возвращает первый вычисленный корень.
![]() ![]() |
Если уравнение имеет несколько корней, то для их нахождения можно использовать разложение функции f(x) на простые множители f(x)=(x-x1)(x-x2) …(x-xn), где x1, x2, …, xn — корни уравнения. Начальное приближение можно задать только для первого корня, а в качестве функции взять, например,

Если уравнение не имеет действительных корней, то есть на графике функция f(x) нигде не равна нулю, то для вывода комплексных корней надо ввести начальное значение приближения к корню в комплексной форме, где для вывода мнимой части использовать символы i и j.
Рассмотрим пример решения нелинейного уравнения, имеющего несколько корней, часть из которых мнимые.
![]() ![]() |
Решение систем нелинейных уравнений
Для решения системы нелинейных уравнений (СНУ) необходимо задать начальные приближения для всех переменных, входящих в систему. В MathCad решение СНУ требует использования вычислительного блока, начало которого отмечается ключевым словом Given. Для записи СНУ вместо ввода традиционного знака равно (=) вставляется жирный знак равенства – оператор отношения, расположенный на палитре «Логические». Если по условию задачи существуют ограничения на поиск решения, то они задаются в виде неравенств (например: a
Пусть требуется решить систему нелинейных уравнений при начальных условиях: x0=1; y0=1; z0=1 ![]() ![]() |
MathCad позволяет решать СНУ не только в скалярной, но и в матричной форме. В этом случае начальные значения и ограничения должны задаваться в виде векторов.
Пример решения СНУ в матричной форме путем обращения матрицы коэффициентов: ![]() Пример решения СНУ с использованием функции Find: ![]() ![]() |
Если СНУ не имеет точного решения, то вместо функции Find следует использовать функцию Minner, поскольку в этом случае функция Find указывает на ошибку, функция Minner находит минимум невязки, и возвращает значение аргумента, соответствующее минимальному расхождению между заданным значением y и y(x).
Дата добавления: 2018-05-12 ; просмотров: 859 ; Мы поможем в написании вашей работы!
Решение нелинейных уравнений и систем уравнений в пакете MathCAD
Вычисление корней численными методами включает два основных этапа:
· отделение корней;
· уточнение корней до заданной точности.
Как записать систему уравнений в mathcad prime
Библиографическая ссылка на статью:
Шевченко А.С. Использование Mathcad Prime при изучении раздела «Линейное программирование» // Современные научные исследования и инновации. 2016. № 4 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2016/04/67335 (дата обращения: 12.04.2022).
Задачи линейного программирования можно решать многими способами: вручную, с помощью стандартных программных средств (табличный процессор MS Excel), либо с помощью специального программного обеспечения [1]. Однако изучение данного класса задач без использования современных программ требует довольно глубоких знаний в данной области и отнимает много времени. Таким образом, решать данные задачи «в ручном режиме» за строго определенный интервал времени могут лишь специалисты в области прикладной математики. Тем не менее, количество областей применения линейного программирования постоянно увеличивается. Методы математического программирования применяются как при изучении отдельных проблем математики, так и в прикладных областях: экономики, логистики, программировании. Существуют различные системы компьютерной алгебры (СКА) (MathCad, Matlab, Mathematica, Maple), имеющие в своем распоряжении необходимый инструментарий для построения математических моделей и решения задач линейного программирования. Владение хотя бы одной из СКА [2-6] позволяет будущему специалисту, не владеющему в полной мере техникой математических преобразований, самостоятельно выполнять громоздкие вычисления, решать сложные прикладные задачи.
В данной статье рассмотрим решение задач линейного программирования с использованием системы компьютерной алгебры Mathcad Prime [7-8] из класса систем автоматизированного проектирования.
PTC Mathcad Prime – это новое и единственное решение для ведения инженерных вычислений, которое одновременно позволяет вести сами вычисления и документировать их, существенно снижая риск появления дорогостоящих ошибок. PTC Mathcad Prime позволяет инженерам заниматься проектированием, выполнять вычисления и документировать работу в легко читаемом формате, удобном для совместного и повторного использования. Mathcad Prime отличается надежностью, простотой использования и обладает всеми функциональными возможностями, необходимыми для решения комплексных задач, требующих применения математического аппарата. Использование вычислений в Mathcad Prime в процессе инженерной деятельности упрощено благодаря «бесшовной» интеграции Mathcad Prime с всемирно известными инженерными и офисными приложениями. Все это облегчает совместную работу инженеров на всех этапах разработки, решение задач верификации, сертификации и публикации инженерных документов.
Mathcad Prime имеет простой интерфейс и хорошие возможности визуализации. Первое, что бросается в глаза при запуске Mathcad Prime – это новая система меню, основанная на так называемой «ленте» (ribbon). Интерфейс пользователя, основанный на технологии «ribbon» в настоящее время применяется во многих приложениях Windows, включая и MS Office (см. Рис.1).
Лента, как и в других современных приложениях, состоит из вкладок (интерфейсных групп), на которых сгруппированы соответствующие команды. На вкладках Ленты («Математика», «Ввод/вывод», «Функции», «Матрицы/таблицы», «Графики», «Форматирование формул», «Форматирование текста», «Расчет», «Документ», «Ресурсы») отображаются кнопки, предназначенные для выполнения тех или иных команд, причем многие из кнопок собраны в контекстно-зависимые меню.
Второе, что «бросается в глаза» при запуске Mathcad Prime – это линованное поле для ввода операторов. Так, решая задачу по математике, физике, химии и вузовским дисциплинам, мы берем линованный в клеточку лист бумаги и приступаем к работе.
Приятным сюрпризом для многих пользователей Mathcad Prime будет то, что система меню, все описания и все подсказки даются на русском языке. Кроме того, пользователи могут найти в Интернете видеоролики на русском языке с показом основных приемов работы с Mathcad Prime. Имеется также много анимационных уроков по работе с Mathcad Prime на английском и русском языках.
Отличительной чертой Mathcad от большинства других современных математических приложений является его построение по принципу WYSIWYG (“What You See Is What You Get” — “что вы видите, то и получите”) [8]. То есть математические выражения в среде MathCAD записываются в их общепринятой нотации: числитель находится сверху, а знаменатель внизу; интеграл или производная – это привычные математические знаки, а не специальным образом записанные символы, снижающие наглядность решения, в интеграле пределы интегрирования также расположены на привычных местах. Все это делает запись понятной для пользователя, читающего распечатку или глядящего на экран. Эту особенность ценят те, кому приходилось решать задачи при помощи языков программирования, где понять суть решения может лишь, владеющий подобными навыками, специалист.
В Mathcad Prime рабочие формулы можно размещать в пределах текста, что позволяет добиться идеальной читаемости и целостности документа и использовать один и тот же файл для проведения вычислений, хранения, распространения и подготовки отчетов.
При вводе и редактировании переменных и функций в среде Mathcad Prime есть возможность давать им (вручную или автоматически) обозначения: переменная, единица измерения, константа, функция и т.д.
В систему MathCAD интегрированы средства символьной математики, что не только улучшает визуальное восприятие преобразований на экране, но и позволяет решать задачи или их этапы как численно, так и аналитически. Решая поставленную задачу, пользователь может вводить числовые значения переменных и дополнять их размерностями. При этом можно выбирать и систему единиц (СИ, кг-м-мс г-см-с, британская), и конкретные размерности (мм, дюймы, футы и т.д.) – MathCAD имеет встроенную систему автоматического пересчета и контроля единиц измерений в процессе вычислений. Так, если мы определяем расстояние от одного объекта до другого как сумму отдельных расстояний с использованием различных единиц измерения (мили, футы, ярды, сантиметры), то система MathCAD автоматически произведет перерасчет всех расстояний и выдаст результат с заранее установленной единицей измерения.
В среде Mathcad, как известно, есть богатый инструментарий работы с массивами – векторами и матрицами, простыми и вложенными. В среде Mathcad Prime работа с этими инструментами стала еще более удобной: массив в расчете вводится протяжкой мышкой (как в MS Office), появились кнопки вставки и удаление строк и столбцов матриц, в созданный массив легко вставить другой массив, создав тем самым вложенный массив, и т.д.
Для ввода в расчет нескольких векторов одинаковой длины можно воспользоваться новым объектом Mathcad Prime – таблицей: набором связанных векторов одинаковой длины. Осталась, естественно, и возможность работы в среде Mathcad Prime с таблицей Excel. Данные можно импортировать из таблиц Excel, анализировать и экспортировать обратно в Excel.
В среде Mathcad Prime существенно обновился блок решения (Solve) уравнений и систем (алгебраических и дифференциальных) и проведения оптимизации: четко выделены зоны задания первого приближения, ограничений и собственно решения. Кроме того, переменные первого приближения стали локальными, что позволяет избегать ряда ошибок.
В среде Mathcad Prime существенные изменения коснулись и инструментов формирования численного ответа. В частности, комплексные числа стало возможным представлять в тригонометрической форме.
Инструменты программирования Mathcad Prime эволюционировали в сторону традиционных языков программирования. В частности, появились операторы else if и also if, что делает язык программирования Mathcad более похожим на языки С, Pascal, BASIC – на самые популярные языки программирования.
В новой версии Mathcad Prime 3.0 появилась долгожданная возможность внешнего программирования: теперь вы можете создать программу на C++ или Fortran-е за пределами Mathcad (например, в Microsoft Visual Studio). Внутри Mathcad эта программа будет работать, как пользовательская функция, причем передать в нее и из нее параметры можно в той же форме, что и для обычной встроенной функции Mathcad .
Пакеты расширений представляют собой набор дополнительных функций, встроенных автоматически в Mathcad Prime. Доступ к ним находятся в главном меню программы, в меню «Функции».
Пакет имеет удобную справочную систему с примерами решения задач, есть справочник по основным математическим и физико-химическим формулам и константам, которые можно автоматически переносить в документ. Подробная документация, возможность дополнения электронными учебниками по различным дисциплинам: обыкновенные дифференциальные уравнения, статистика, термодинамика, теория управления, сопротивление материалов и т. д. делают пакет привлекательным для использования в учебном процессе.
Рассмотрим конкретные примеры.
Пример 1 (Задача о диете). Пусть имеются 8 видов продуктов содержащих 9 питательных веществ и незаменимых компонент. В 100 граммах продукта содержится известное количество питательного вещества или незаменимого компонента. Кроме того, известны: – ежесуточная минимальная потребность организма в веществах , и – стоимость и энергетическая ценность (в килокалориях) 100 грамм продукта . Все указанные величины представлены в табл. 1.
Требуется рассчитать суточную диету так, чтобы обеспечить необходимое количество питательных веществ и незаменимых компонент при минимальных затратах на продукты. Найти калорийность K полученной оптимальной диеты.
Решение. Для решения сформулированной задачи составим ее математическую модель.
1. Введем обозначения: − неизвестное пока количество (грамм) продукта , входящего в диету.
2. Составим целевую функцию – стоимость диеты:
Решение уравнений средствами MathCad
Уравнения можно разделить на два класса – алгебраические и трансцендентные. Алгебраическими уравнениями называют уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные). В частности, многочлен является целой алгебраической функцией. Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и другие) называются трансцендентными.
Методы решения нелинейных уравнений делятся на две группы:
Точные методы позволяют записать корни в виде некоторого конечного соотношения (формулы). Как известно, многие уравнения и системы уравнений не имеют аналитических решений. В первую очередь это относится к большинству трансцендентных уравнений. В некоторых случаях уравнение содержит коэффициенты, известные лишь приблизительно, и, следовательно, сама задача о точном определении корней уравнения теряет смысл. Для их решения используются итерационные методы с заданной степенью точности. Вследствие неизбежных округлений результаты даже точных методов являются приближенными. При использовании итерационных методов, сверх того, добавляется погрешность метода. Эффективное применение итерационных методов существенно зависит от удачного выбора начального приближения и быстроты сходимости процесса.
Почти все встроенные функции системы MathCad, предназначенные для решения нелинейных алгебраических уравнений, нацелены на нахождение корней, которые уже приблизительно заданы. Для нахождения начального приближения (предварительной локализации корней), можно воспользоваться графическим методом. Принимая во внимание, что действительные корни уравнения f(x)=0 – это точки пересечения графика функции f(x) с осью абсцисс, достаточно построить график функции f(x) и отметить точки пересечения f(x)с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню.
Для решения одного уравнения с одним неизвестным служит функция root,для решения системы – вычислительный блок Given…Find (или Minerr…Find), если f(x) – это полином, то вычислить все его корни можно также с помощью функции polyroots. Описание перечисленных функций представлено в табл. 2.1.
Функции для решения уравнений
| Имя функции | Описание | Пример |
| x0=root(f(х1,x2,…),х1,a,b) | Возвращает значение х1, принадлежащее отрезку [a,b], при котором выражение или функция f(х) обращается в 0. f(х1,x2,…) – функция, определенная где-либо в рабочем документе, или выражение. х1 – имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение. Mathcad использует его как начальное приближение при поиске корня. a, b – необязательные аргументы, диапазон поиска (уточнения) корня, причем a | f(x):=sin(x)-1+x – описываем функцию x:=1 – начальное приближение x0=root(f(х),х) x0=0.511 – решение уравнения |
| Given f(x)=0 x0=find(x) | Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Решает системы уравнений. | x:=1 – начальное приближение Given – открывает блок решения sin(x)-1+x=0 – уравнение x0=find(x) – Конец блока решения x0=0.511 – решение уравнения |
| Given f(x)=0 x0=minerr(x) | Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Если решение найти не удается, минимизируется общая погрешность. Эту функцию удобно использовать для минимизации погрешности в методе наименьших квадратов. | x:=1 – начальное приближение Given – открывает блок решения sin(x)-1+x=0 – уравнение x0=minerr(x) – Конец блока решения x0=0.511 – решение уравнения |
| X:=polyroots(V) | Нахождение корней уравнения для полиномиального вида функции. V – вектор, составленный из коэффициентов полинома. Поскольку полином степени N имеет ровно N корней, вектор V должен состоять из N+1 элемента. Результатом действия функции polyroots является вектор, составленный из N корней рассматриваемого полинома. При этом нет надобности вводить какое-либо начальное приближение, как для функции root. Вектор V удобно создавать использую команду Символы / Коэффициенты полинома. | f(x)=8x 2 -10x+3 – описание вектора коэффициентов X:=polyroots(V) – решения уравнения |
Найти корни уравнения cos(x)=x+0,2 двумя способами, используя функцию Root, и, используя блок Given – Find.

Как было указано выше, для решения уравнения, строим график и отделяем интервалы, содержащие корни уравнения. Корни уравнения могут быть найдены как абсциссы точек пересечения косинусоиды y=cosx и линейной функции y= x+0,2. Построив эти функции, приближенно найдем корень уравнения на отрезке от -10 до 10 или определим его содержащий отрезок. Выбирая первое приближение корня x=1, найден корень уравнения. Фрагмент рабочего листа MathCad с результатами построения графиков представлен на рис. 2.1.
Найти нули полинома
используя возможные средства MathCad
Нули полинома является решением уравнения
На рис. 2.2 представлены два способа нахождения корней уравнения с помощью функций root() и find(). Использование этих функций ни чем не отличается от их применения в примере 2.1.

Рис. 2.1. Фрагмент рабочего листа с решением уравнения

Рис. 2.2. Фрагмент рабочего листа с решением полиномиального
уравнения двумя способами
На рис. 2.3 показан пример нахождения корней полиномиального уравнения с помощью функций polyroost().В отличие от функции root(), функция polyroots() не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.

Рис. 2.3. Фрагмент рабочего листа с решением полиномиального
уравнения с помощью функции polyroots()
Решение уравнений в системе MathCAD
В большинстве инженерных расчетов требуется найти корни какого-либо уравнения, как правило, в численной форме. Для такого решения в MathCAD применяется опция root(f(x),x). Эта опция находит значение переменной, при которой f(x) = О
Допустим, необходимо найти корень уравнения M(z) = z-z 3 +12.

Рис. 22. График функции M(z)
Функция M(z) имеет вид, изображенный на рисунке 22. Чтобы найти значение z, при котором M(z) становится равной 0, введем на рабочий лист MathCAD сначала функцию M(z) = z — z 3 + 12. Затем присвоим переменной z, приближенное значение, например, z = 4, и функции M(z) константе d присвоим значение опции «root», т.е. запишем d = root(M(z),z) и нажмем клавишу [=]. В результате появится корень уравнения d = 2.435.
С помощью опции «root» можно не только получить значение корня при постоянных коэффициентах, но и исследовать изменение корней при изменении значений постоянных коэффициентов. Например, имеем функцию f(x) = а*х 2 — х и требуется проанализировать, как будут меняться корни уравнения с изменением константы а в определенном интервале:
- 1. Введем на рабочий лист функцию, представив ее как функцию двух переменных -f(a,x).
- 2. Присвоим переменной х приближенное значение корня.
- 3. Используем опцию root(f(a, х),х) как функцию d(d) — корни
Балка высотой Л = 40 см, шириной b = 15 см, выполнена из бетона ВЗО, и армирована тремя стержнями арматуры 018 мм As = класса А400, установленной с hO = 36 см. Найдем характеристики бетона и арматуры (приложение 3 и 4) и введем данные на рабочий лист MathCAD. Запишем формулу усилия в сжатой зоне в предельном расчетном состоянии Db = Rb*b*x* и усилия в арматуре Ns = Rs*As для нормально армированного сечения. Высоту сжатой зоны найдем с применением опции «Given-Find», приравняв усилие в бетоне к усилию в арматуре. В процессе расчета удостоверимся, что сечение нормально армировано, т.е. х 2
Rs := 355-МРа Es := 2-10 5 -МРа
Ns := Rs-As xr := ?r-hO = 19.116 cm
Given Db(x) = Ns^.:= Find(x) = 10.628 cm x = 10.628 cm x 5 kgf-cm
Рис. 26. Нахождение высоты сжатой зоны и несущей способности изгибаемого элемента в MathCAD
Опция «Given-Find» позволяет решать и систему уравнений. Например, в исследованиях было установлено, что изучаемый процесс происходит в соответствии с уравнением T(z) = . И было уста
новлено, что при z = 2 значение T(z) = 2, а при z = 5 соответственно T(z) = 1. По полученным данным определяются два уравнения: 2 = сг2 ь -е ь ‘ 2 и 1 = а-5 ь -е ь ‘ 5 , решение которых в MathCAD осуществляется в следующем порядке:
- 1. Назначить предварительные значения а и Ь.
- 2. Ввести слово «Given».
- 3. Ввести уравнения.
- 4. Определить правило вывода значений и ввести опцию
Find(a,b) =, автоматически определяться искомые значения (рис. 27).________________________

Рис. 27. Решение уравнений с опцией «Given-Find»
На рис. 27 изображен график анализируемой функции T(z) и показаны точки, по которым были определены параметры кривой.
2. Работа с массивами
Одна из задач ЭВМ — автоматизация труда, повышение эффективности научных исследований. Основная особенность ЭВМ — ориентация на применение пользователями, не владеющими языками программирования. Такой подход позволяет преодолевать языковой барьер, отделяющий человека от машины. С этой целью разрабатываются пакеты прикладных программ, рассчитанные на широкие круги специалистов. К подобным пакетам относится MATHCAD.
MATHCAD — универсальный математический пакет, предназначенный для выполнения инженерных и научных расчетов. Основное преимущество пакета — естественный математический язык, на котором формируются решаемые задачи.
Объединение текстового редактора с возможностью использования общепринятого математического языка позволяет пользователю получить готовый итоговый документ. Пакет обладает широкими графическими возможностями, расширяемыми от версии к версии. Практическое применение пакета существенно повышает эффективность интеллектуального труда.
Цель работы: изучение выполнения основных операций с массивами, решения систем линейных и нелинейных уравнений в Mathcad.
1. Ранжированные переменные
В математике часто возникает необходимость в задании некоторого ряда значений. Например, при вычислении
Name:=Nbegin…Nend,
Где Name – имя переменной, Nbegin – начальное значение переменной, Nend – ее конечное значение. Символ «…» (он вводится с клавиатуры знаком точка с запятой «;») указывает на изменение переменной в заданных границах. Если Nbegin то шаг изменения переменной будет равен +1, в противном случае –1. Например, выражение a:=1…10 описывает ранжированную переменную a со значениями от 1 до 10.
Для создания ранжированной переменной общего вида используется выражение
Name:=Nbegin, (Nbegin+Step)…Nend,
где Step— заданный шаг изменения переменной (он должен быть положительным, если Nbegin и отрицательным в противном случае).
Например, выражение a:=1, 1.5, …10 описывает ранжированную переменную a со значениями от 1 до 10 с шагом 0,5.
Ранжированные переменные широко применяются для представления функций в виде таблиц вывода, а также для построения их графиков.
Если после некоторого выражения с ранжированной переменной поставить знак равенства, то после щелчка мышью на экране будет выведена таблица значений этого выражения. Такие таблицы называются таблицами вывода.
Необходимо учитывать следующее свойство таблиц вывода: если количество значений ранжированной переменной и, соответственно, строк в таблице вывода больше 16, то выводятся первые 16 строк. Если указатель мыши находится в пределах таблицы, то щелчок левой кнопкой мыши приводит к появлению вертикальной полосы прокрутки, позволяющей просмотреть все строки таблицы.
Помните, что задание ранжированных переменных эквивалентно заданию конечных циклов.
Примеры использования ранжированных переменных приведены на рисунке 1.1.
Рис. 1.1. Примеры использования ранжированных переменных
2. Работа с массивами
Ранжированная переменная отличается от вектора (одномерного массива) тем, что невозможно использование ее отдельных значений. При необходимости иметь доступ к каждому значению переменной со многими компонентами она должна быть задана в виде одномерного (вектора) и двумерного (матрицы) массива.
Местоположение элемента массива задается одним индексом для вектора и двумя для матрицы. Индексы могут быть только положительными целыми числами. Для ввода индекса используется знак « [ » – прямая открывающая скобка.
Для задания массивов можно либо воспользоваться командой Matrices меню Math, либо нажать комбинацию клавиш Ctrl+V, либо щелкнуть на значке с изображением шаблона матрицы. Любое из этих действий вызывает появление диалогового окна, в котором надо указать количество строк m и столбцов n в массиве. При m=1 получим вектор-столбец, а при n=1 – вектор-строку.
В отношении массивов действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью оператора присваивания можно создать массив заданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).
Рис. 2.1 Пример создания матриц без использования шаблонов матриц
Для работы с массивами Mathcad содержит ряд операторов и функций. Ниже представлены операторы для работы с векторами и матрицами. В таблице используются следующие обозначения: V – для векторов, M – для матриц, Z – для скалярных величин.
Похожие публикации:
- Какой пароль можно придумать в snapchat например
- Куда сохраняются gif из telegram
- Почему windows movie maker не поддерживает mp4
- Сколько панелей инструментов в mathcad две или три








при начальных условиях: x0=1; y0=1; z0=1



Пример решения СНУ с использованием функции Find:
