2017-04-18 13 views
0

필자는 극좌표를 Scilab에 그래프로 표시하려고합니다. 어떤 수식이 rho^2=a^2*cos(2*theta)입니다.lemniscate 그래프에 대한 ρ 값을 계산합니다.

특정 값의 제곱근을 계산하면 값이 음수가 될 것이므로 허수가 반환됩니다. 제곱근이 제대로 정의되지 않기 때문에 부정적인 rr 값에 도달 할 때

clear 
close 
clc 
clf 
a=3; 
theta=[0:((1*%pi)/180):((359*%pi)/180)]; 
rr=(a*a)*cos(2*theta); 
rho=sqrt(rr); 
polarplot(theta,rho,2); 

어쨌든, 프로그램 자체를 나누기.

나는 그 점들을 무시하고 다른 것들을 계획하는 코드가 필요하다.

이 내용을 이해할 수 있는지는 잘 모르겠지만 누군가 도와주기를 바랍니다.

미리 감사드립니다.

답변

1

당신은 그 점을 (예를 들어, 필터링) 무시할 수 있지만, 더 쉬운 해결책이 : 당신은 또한에 assigh 수 real

polarplot(theta,real(rho),2); 

와 플롯에 대한 귀하의 결과 벡터의 실수 부분을 사용하여이 나중에 사용하려는 경우 새 변수 :

rhoreal=real(rho); 
+0

정말 고마워요. 완벽하게 일했다. –