计算双纽线图的 rho 值

Calculating rho values for a lemniscate graph

我正在尝试在 scilab 上绘制极坐标中的双纽线。哪个公式是 rho^2=a^2*cos(2*theta).

问题是计算某些值的平方根将 return 一个虚数,因为该值将是负数。

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 值时,程序会自行中断,因为没有为它们正确定义平方根。

我只需要忽略这些点并绘制其他点的代码。

我不知道这是否可以理解,但我希望有人知道并且可以帮助我。

提前致谢。

您可以忽略(例如过滤掉)这些点,但有一个更简单的解决方案:仅将结果向量的实部用于 real

的绘图
polarplot(theta,real(rho),2);

如果以后想用的话,也可以赋值给一个新的变量:

rhoreal=real(rho);