vpasolve
수치적으로 기호 방정식 풀기
구문
설명
은 초기 추측값 또는 탐색 범위 S = vpasolve(eqn,var,init_param)init_param을 사용하여 변수 var에 대해 방정식 eqn을 수치적으로 풉니다.
은 초기 추측값 또는 탐색 범위 Y = vpasolve(eqns,vars,init_param)init_param을 사용하여 변수 vars에 대해 연립방정식 eqns를 수치적으로 풉니다.
[은 초기 추측값 또는 탐색 범위 y1,...,yN] = vpasolve(eqns,vars,init_param)init_param을 사용하여 변수 vars에 대해 연립방정식 eqns를 수치적으로 풉니다.
___ = vpasolve(___,Random=true)는 해를 구하기 위해 임의 초기 추측값을 사용합니다. 비다항 방정식에 대해 동일한 해를 반복적으로 반환하지 않으려면 이 입력값을 사용하십시오. 모든 변수에 대해 초기 추측값을 지정한 경우 Random을 true로 설정해도 아무런 효과가 없습니다.
예제
입력 인수
출력 인수
팁
vpasolve는 해를 구할 수 없으면 빈 객체를 반환합니다. 솔버가 해를 구하는 데 도움이 되도록 초기 추측값을 제공하십시오. 예제는 초기 추측값을 제공하여 해 구하기 항목을 참조하십시오.다항 방정식의 경우
vpasolve는 모든 해를 반환합니다. 비다항 방정식의 경우 모든 해를 구하는 일반적인 방법은 없습니다.vpasolve는 기본적으로 하나의 해만 반환합니다. 비다항 방정식에 대해 여러 해를 구하려면Random을 true로 설정하고vpasolve를 반복적으로 사용하면 됩니다.해가 유일하지 않은 연립방정식을 풀 때
vpasolve의 동작은 시스템이 다항식인지 비다항식인지에 따라 달라집니다. 다항식인 경우,vpasolve는 임의의 파라미터를 도출하여 모든 해를 반환합니다. 비다항식인 경우 단일 수치 해가 반환됩니다(있는 경우).유리 연립방정식을 풀 경우,
vpasolve는 분모를 곱하여 유리 방정식을 다항식으로 변환합니다.vpasolve는 결과로 생성되는 연립다항식의 모든 해를 반환하는데, 여기에는 분모의 근도 포함됩니다.vpasolve는 변수에 설정된 가정을 무시합니다.init_param인수를 사용하여 적절한 탐색 범위를 지정하면 반환된 결과를 특정 범위로 제한할 수 있습니다. 한편, 방정식 또는 표현식에 풀어야 할 변수가vars로 지정된 변수 외에 다르게 또 있다면vpasolve는 일반적으로 복소수인 다른 변수에 관해vars의 해를 반환합니다.출력 변수
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의 절반 너비 코시 분포를 사용하여 임의 초기 추측값이 생성됩니다. 즉, 초기 추측값은 실수 값이며 반복되는 호출에서 넓게 분포된 값을 갖습니다.
