2017-04-18 54 views
0

我想在scilab上的極座標中繪製lemniscate圖。哪個公式是 rho^2=a^2*cos(2*theta)計算lemniscate圖的rho值

事情是,計算某些值的平方根將返回一個虛數,因爲該值是負數。

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); 

不管怎麼說,程序本身分解時達到負rr值,因爲平方根沒有正確爲其定義。

我所需要的是代碼忽略這些點,並繪製其他點。

我不知道這是否可以理解,但我希望有人這樣做,並可以幫助我。

在此先感謝。

回答

1

你可以忽略(如過濾)的那些點,但有一種更簡單的解決方案:real

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

你也可以將它assigh只使用你的結果向量的實部的情節一個新的變量,如果想以後使用它:

rhoreal=real(rho); 
+0

非常感謝。完美無瑕地工作。 –