Matlab 西门子星与scilab

Matlab 西门子星与scilab,matlab,scilab,Matlab,Scilab,我正试图用Scilab画画,但我无法完成 你知道为什么下面的代码不起作用吗 t = 0:.001:2*%pi; xc = 4; yc= 4; r =2 ; n = 1:length(t)/32 : length(t); v =0:.001:r; for k =1:length(n) if modulo(k,2) ==0 then for a=1:length(t) for b =1:length(v) x(a) =

我正试图用Scilab画画,但我无法完成

你知道为什么下面的代码不起作用吗

t = 0:.001:2*%pi;
xc = 4;
yc= 4;
r =2 ;
n = 1:length(t)/32 : length(t);
v =0:.001:r;
for k =1:length(n)
    if modulo(k,2) ==0 then
           for a=1:length(t)
           for b =1:length(v)
               x(a) = xc+ (r-v(b)) *cos(t(a));
                y(a) = yc+ (r-v(b))* sin(t(a));
               set(gca(),"auto_clear","off")  
               plot(x,y,"black");
           end;
       end;
   else 
     x=xc;
     y=yc;
 end;
end;

提前感谢你的帮助

我知道您已经用不同的方法解决了这个问题,但值得注意的是,
plot
调用非常昂贵,您试图在这三个级别的嵌套循环中调用它4e8次


如果减小循环的大小,效果会很好。仍然需要非常长的时间,是的,绘制实体块比一系列线条更有效:)

谢谢xenoclast的建议,但这是我的代码,我认为它很短:

plot2d(0,0,-1,"030"," ",[-2,-2,2,2]);
n=16 // number of bands 
for i=1:n
   xfarc(-1.5,1.5,3,3,2*i*(180/n)*64,64*(180/n));
end

你需要更具体一些。什么“不起作用”?它不运行,我得到一个空的图,如果你在中间停止程序,运行情节(X,Y,“黑色”),会发生什么?DennisJaheruddin感谢您的建议,但我是在其他函数的帮助下提出的“xfarc”是的,xfarc肯定是一种更有效的方法。我看到这个问题已经有一段时间了,但没有人回答,所以我想我会看到发生了什么:)