2017-04-18 6 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

ありがとうございました。完璧に働いた。 –