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