回 帖 发 新 帖 刷新版面

主题:一个绘图的程序


       for n=1:101; x(n)=(n-1)/100;y(n)=x(n);end
[x(n),y(n)]=meshgrid(x(n),y(n));      %以上语句产生平面网格
for n=1:101;y(n)=(n-1)/100;
for i=1:101;x(i)=(i-1)/100;
        if x(i)<sqrt(y(n))/2
            z(i,n)=0
        else
         if x(i)<sqrt(y(n))
             z(i,n)=sqrt(y(n)-x(i)^2);
         else
             z(i,n)=0
         end
     end
 end
End                   %以上语句通过双循环产生以上x(i),y(n)的同时,判断
mesh(z)               % 第i个x值与第n个y值的交点位于何区域.
hold on
view([150,200,400]);
程序一直运行啊,全是0.不能得到图形啊
还有就是怎么让一个运行中的程序停止了
难道只有关闭matlab吗

回复列表 (共3个回复)

沙发

停止运行使用Ctrl+C

程序结构太乱,都没好好使用换行和缩进。

板凳

输出的语句只有:z(i,n)=0

当然全是0

------------------------
[x(n),y(n)]=meshgrid(x(n),y(n));??这句没作用吧


------------------------
for n=1:101;
     x(n)=(n-1)/100;
     y(n)=x(n);
end

for n=1:101
    for i=1:101
        if x(i)<sqrt(y(n))/2
            z(i,n)=0;
        else
            if x(i)<sqrt(y(n))
                z(i,n)=sqrt(y(n)-x(i)^2);
            else
                z(i,n)=0;
            end
        end
    end
end

mesh(z)
hold on
view([150,200,400]);

3 楼

我运行了你的程序,有结果嘛!你将view([150,200,400]);暂时不要。
是你查看图的区域时没有看对地方!你的邮箱中我把图像和M文件发过了,请收!

我来回复

您尚未登录,请登录后再回复。点此登录或注册