Решите уравнения численно
численно решает уравнение 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' к true и использовать 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. Это означает, что начальные предположения являются реальными и имеют большое количество значений при повторных вызовах.