Plot 计算lemniscate图的rho值

Plot 计算lemniscate图的rho值,plot,graph,scilab,calculus,Plot,Graph,Scilab,Calculus,我正试图在scilab上绘制极坐标系下的lemniscate。哪个公式是 rho^2=a^2*cos(2*theta) 问题是,计算某些值的平方根将返回一个虚数,因为该值为负数 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值时,程序会自行中断,因为没有正确定义它们的

我正试图在scilab上绘制极坐标系下的lemniscate。哪个公式是
rho^2=a^2*cos(2*theta)

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

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

非常感谢你。工作完美无瑕。