Что такое given в mathcad

GeekBrains

Решение уравнений

При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом — директивой Given — и имеющий следующую структуру:

Выражения с функцией Find()

Find(vl, v2, …, vn) — возвращает значение одной или ряда переменных для точного решения;

Знак равенства в уравнениях вызывается с математической панели БУЛЕВО(Boolean) или с клавиатуры клавишами "CTRL http://www.intuit.ru/2010/edi" >

Как и в предыдущем случае, сначала необходимо провести локализацию корней – задание начальной точки, от которой будет происходить поиск решения. Решение ищется методом итераций и при наличии нескольких корней, очевидно, будет найдено лишь ближайшее решение, если оно существует. Блок Given…Find(.) можно использовать и для решения уравнений одним неизвестным.

Пример 4.4

Решить систему уравнений <y-e^<\frac<x><3>>=0\choose y-x^2-1=0>.

Осуществляется решение системы нелинейных уравнений при помощи блока Given…Find(.) (Рис.4.3).

  • Локализация корней: задаем систему уравнений, строим график.
  • По графику определяем три корня.
  • Задаем последовательно разные начальные значения корней.

y1(x1):=e^<\frac<x1><3>>

y2(x1):=x1^2+1

Листинг решения примера 4.4

x:=1, y:=1

Given

e^<\frac<x><3>>-y=0

x^2-y+1=0

Find(x,y)=\begin<pmatrix>0.354 \\ 1.125 \end<pmatrix>

x:=0.1, y:=0.1

Given

e^<\frac<x><3>>-y=0

x^2-y+1=0

Find(x,y)=\begin<pmatrix>-2.631 \cdot 10^ <-9>\\ 1 \end<pmatrix>

x1:=20, y1:=100

Given

e^<\frac<x1><3>>-y1=0

x1^2-y1+1=0

Find(x1,y1)=\begin<pmatrix>17.015 \\ 290.506 \end<pmatrix>

Поиск корней при помощи блока Given Minerr()

Функция Minerr использует тот же самый алгоритм, что и функция Find. Различие состоит в следующем. Функция Find ищет решение с заданной точностью и, если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, то она возвращает сообщение об ошибке. Функция Minerr возвращает это приближение. Системная переменная ERR дает величину ошибки.

Minerr (vl, v2, …, vn ) возвращает значения ряда переменных для приближенного решения.

Minerr() пытается найти максимальное приближение даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения. При использовании функции Minerr обязательно предусматривать проверку решений. Полезно как можно точнее указывать начальные приближения к решению.

Пример 4.5

Решить систему уравнений <z^3+9z^2-20z-y=0\choose -2y+6z-25=0>.

Решаем при помощи блока Given…Find(.) (Рис.4.4).

  • Локализация корней: задаем систему уравнений, строим график.
  • Графики имеют точку касания. Функция . Find( ) не решает систему.
  • Функция Minerr() дает приближенное решение. Системная переменная ERR=0.37. Это ошибка определения корня. Проверка показывает максимальную ошибку 0.33.

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

y(z):=z^3+9z^2-20z+1

y1(z):=3z-12.5

 Листинг решения примера 4.5

z:=1, y:=-1

Given

GeekBrains

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

Система не решается:

Система не решается

z:=1, y:=-1

Given

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

Minerr(z,y)=\begin<pmatrix>1.082 \\ -9.169 \end<pmatrix>

ERR=0.373

z0:=1.082, y0:=-9.169

Решение уравнений с помощью функции Find(x)

Функция Find (Найти) работает в ключевой связке с ключевым словом Given (Дано). Конструкция Given — Find использует расчетную методику, основанную на поиске корня вблизи точки начального приближения, заданной пользователем.

Если задано уравнение f(x) = 0, то его можно решить следующим образом с помощью блока Given — Find:

— задать начальное приближение

— ввести служебное слово

  • — записать уравнение, используя знак боулево равно
  • — написать функцию find с неизвестной переменной в качестве параметра

В результате после знака равно выведется найденный корень.

Если существует несколько корней, то их можно найти, меняя начальное приближение х0 на близкое к искомому корню.

В Mathcad можно писать программы двух видов

  • 1)в виде скриптов(последовательность команд)
  • 2)в виде настоящих программ с входными и выходными параметрами.

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

Mathcad был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT).

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

Работа осуществляется в пределах рабочего листа, на котором уравнения и выражения отображаются графически, в противовес текстовой записи в языках программирования. При создании документов-приложений используется принцип WYSIWYG (What You See Is What You Get — «что видишь, то и получаешь»).

Несмотря на то, что эта программа в основном ориентирована на пользователей-непрограммистов, Mathcad также используется в сложных проектах, чтобы визуализировать результаты математического моделирования, путем использования распределённых вычислений и традиционных языков программирования. Также Mathcad часто используется в крупных инженерных проектах, где большое значение имеет трассируемость и соответствие стандартам.

Mathcad достаточно удобно использовать для обучения, вычислений и инженерных расчетов. Открытая архитектура приложения в сочетании с поддержкой технологий .NET и XML позволяют легко интегрировать Mathcad практически в любые ИТ-структуры и инженерные приложения. Есть возможность создания электронных книг (e-Book).

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

Вычислительный блок Given/Odesolve

Вычислительный блок для решения одного ОДУ, реализующий численный метод Рунге-Кутты, состоит из трех частей:

  • Given — ключевое слово;
  • ОДУ и начальное условие, записанное с помощью логических операторов, причем начальное условие должно быть в форме у (t1) = b;
  • odesoive(t, t1) — встроенная функция для решения ОДУ относительно переменной t на интервале (t0,t1).

Допустимо, и даже часто предпочтительнее, задание функции Odesolve (t, t1, step) с тремя параметрами, где step— внутренний параметр численного метода, определяющий количество шагов, в которых метод Рунге — Купы, будет рассчитывать решение дифференциального уравнения. Чем больше step, тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск. Помните, что подбором этого параметра можно заметно (в несколько раз) ускорить расчеты без существенного ухудшения их точности.

Пример решения задачи Коши для ОДУ первого порядка у’ =у-у 2 посредством вычислительного блока приведен в листинге 11.1.

Листинг 11.1. Решение задачи Коши для ОДУ первого порядка

Не забывайте о том, что вставлять логические операторы следует при помощи панели инструментов Boolean (Булевы операторы). При вводе с клавиатуры помните, что логическому знаку равенства соответствует сочетание клавиш <Ctrl>+<=>. Символ производной можно ввести как средствами панели Calculus (Вычисления), как это сделано в листинге 11.1, так и в виде штриха, набрав его с помощью сочетания клавиш <Ctrl>+<F7> (соответствующий пример будет приведен ниже в листинге 11.3.) Выбирайте тот или иной способ представления производной из соображений наглядности представления результатов — на ход расчетов он не влияет.

Mathcad требует, чтобы конечная точка интегрирования ОДУ лежала правее начальной: t0<t1 (в листинге 11.1 t0=0,t1=10), иначе будет выдано сообщение об ошибке. Как можно заметить, результатом применения блока Given/odesoive является функция y(t), определенная на промежутке (t0,t1). Следует воспользоваться обычными средствами Mathcad, чтобы построить ее график или получить значение функции в какой-либо точке указанного интервала, например: у(3)=0.691.

Пользователь имеет возможность выбирать между двумя модификациями численного метода Рунге-Кутты. Для смены метода необходимо нажатием правой кнопки мыши на области функции odesolve вызвать контекстное меню и выбрать в нем один из двух пунктов: Fixed (Фиксированный шаг) или Adaptive (Адаптивный). По умолчанию применяется первый из них, т. е. метод Рунге — Кутты с фиксированным шагом. Подробнее о различии этих методов сказано в разд. 11.3.

1. Электромагнитная волна (в религиозной терминологии релятивизма — "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например,

200 тыс км/с в стекле и

3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")

2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" — это волнение ничего в ничем. У него нет среды-носителя колебаний.

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

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

GeekBrains

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *