Решите уравнения численно
численно решает уравнение S
= vpasolve(eqn
,var
,init_param
)eqn
для переменной var
использование исходного предположения или поиска располагается init_param
.
численно решает систему уравнений Y
= vpasolve(eqns
,vars
)eqns
для переменных vars
. Этот синтаксис возвращает массив структур Y
это содержит решения. Поля в массиве структур соответствуют переменным, заданным vars
. Если вы не задаете vars
, vpasolve
решает для переменных по умолчанию, определенных symvar
.
численно решает систему уравнений Y
= vpasolve(eqns
,vars
,init_param
)eqns
для переменных vars
использование исходного предположения или поиска располагается init_param
.
[
численно решает систему уравнений y1,...,yN
] = vpasolve(eqns
,vars
,init_param
)eqns
для переменных vars
использование исходного предположения или поиска располагается init_param
.
___ = vpasolve(___,
использует случайное исходное предположение в нахождении решений. Используйте этот вход, чтобы не возвращать то же решение неоднократно для неполиномиальных уравнений. Если вы задаете исходные предположения для всех переменных, установки 'Random'
,true)'Random'
к true
не оказывает влияния.
Если vpasolve
не может найти решение, оно возвращает пустой объект. Обеспечьте исходное предположение, чтобы помочь решателю, находящему решение. Для примера смотрите, Обеспечивают Исходное предположение, чтобы Найти Решения.
Для полиномиальных уравнений, vpasolve
возвращает все решения. Для неполиномиальных уравнений нет никакого общего метода нахождения всех решений и vpasolve
возвращает только одно решение по умолчанию. Чтобы найти несколько различных решений для неполинома, можно установить 'Random'
к истинному и использованию vpasolve
неоднократно.
Когда вы решаете систему уравнений с групповыми решениями, поведением vpasolve
зависит от того, является ли система полиномом или неполиномом. Если полином, vpasolve
возвращает все решения путем представления произвольного параметра. Если неполином, одно числовое решение возвращено, если это существует.
Когда вы решаете систему рациональных уравнений, vpasolve
преобразовывает рациональные уравнения к полиномам путем умножения знаменателей. vpasolve
возвращает все решения получившейся полиномиальной системы, которые также включают корни знаменателей.
vpasolve
игнорирует набор предположений на переменных. Можно ограничить возвращенные результаты конкретными областями значений путем указывания соответствующих поисковых диапазонов с помощью аргумента init_param
.
Выходные переменные y1,...,yN
не задавайте переменные для который vpasolve
решает уравнения или системы. Если y1,...,yN
переменные, которые появляются в eqns
, это не гарантирует тот vpasolve(eqns)
присвоит решения y1,...,yN
использование правильного порядка. Таким образом, для вызова [a,b] = vpasolve(eqns)
, вы можете получить решения для a
присвоенный b
и наоборот.
Чтобы гарантировать порядок возвращенных решений, задайте переменные vars
. Например, вызов [b,a] = vpasolve(eqns,[b,a])
присваивает решения для a
присвоенный a
и решения для b
присвоенный b
.
Можно решить уравнения символически с помощью solve
, и затем численно аппроксимируйте результаты с помощью vpa
. Используя этот подход, вы получаете числовые приближения всех решений, найденных символьным решателем. Однако это может уменьшить вычислительную скорость начиная с решения символически, и постобработка результатов занимают больше времени, чем прямое использование числового решателя vpasolve
.
Когда вы устанавливаете 'Random'
к true
и укажите поисковый диапазон для, переменные, случайные исходные предположения в поисковой области значений выбраны с помощью внутреннего генератора случайных чисел (с равномерным распределением).
Когда вы устанавливаете 'Random'
к true
и не указывайте поисковый диапазон для, переменные, случайные исходные предположения сгенерированы с помощью распределения Коши с полушириной 100
. Это означает, что исходные предположения действительны оцененный и имеют большое распространение значений на повторных вызовах.