는 사람이 matlab에 2 개 변수 3 EQ 해결을 도와 줄 수, 나는 상징적 인 도구 상자를 사용하여 많은 시도했지만 나에게 빈 솔루션을 제공합니다. Matlab 코드는 2 방정식에만 작용합니다. 세 방정식을 들어 비어있는 솔루션을 제공합니다.
가장 간단한 설명은 Matlab이 말하는 바가 정확하다는 것입니다. 세 방정식의 시스템에 대한 해결책은 없습니다.
어떤 일이 일어나는지 알 수있는 한 가지 방법은 세 방정식에 대한 솔루션을 개별적으로 계획하는 것입니다. 먼저 각 식을 가지고 매트랩 함수로 왼쪽을 정의
fun1 = @(phi, theta) cos(2*phi).^2 .* cos(2*theta) + sin(2*phi) .* cos(2*phi) .* sin(2*theta);
fun2 = @(phi, theta) sin(2*phi) .* cos(2*phi) .* cos(2*theta) + sin(2*phi).^2 .* sin(2*theta);
fun3 = @(phi, theta) -sin(2*phi) .* cos(2*theta) + cos(2*phi) .* sin(2*theta);
이제 암시 적 기능 fun1(x,y)=0
에 솔루션을 음모 ezplot(fun1)
를 사용할 수 있습니다. 해는 (theta, phi) 평면에서 곡선이됩니다. fun2
및 fun3
에 대해서도 이렇게하면 동시 솔루션은 세 기능의 곡선이 동시에 교차하는 위치로 나타납니다.
나는 같은 축에 세 세 ezplot
플롯을 쌓아하는 방법을 몰라,하지만 우리는 같은 일을 수행 할 contour
를 사용할 수 있습니다
x = linspace(-pi/2, pi/2, 180);
y = linspace(-pi/2, pi/2, 180);
[X, Y] = meshgrid(x, y);
contour(X, Y, fun1(X, Y), [0, 0], 'r', 'linewidth', 3);
hold all
contour(X, Y, fun2(X, Y), [0, 0], 'b');
contour(X, Y, fun3(X, Y), [0, 0], 'g');
hold off
legend('f_1(\theta,\phi)=0','f_2(\theta,\phi)=0','f_3(\theta,\phi)=0');
xlabel('\phi');
ylabel('\theta');
이 그래프 생성합니다
을
우리는 빨강, 파랑, 녹색 곡선 (fun1(x,y)=0
의 솔루션 fun2(x,y)=0
에 해당하는 포인트가 없는지 확인하고 fun3(x,y)=0
)가 동시에 교차합니다.
따라서 세 방정식의 시스템에는 해결책이 없습니다.
방정식에 해답이 있다는 것을 알고 계십니까? – Aaron
2 개의 미지수가 포함 된 방정식 2 개를 풀려고하면 어떻게됩니까? – shimizu