MATLAB程序中有无hold on为什么会出现不同结果图?

问题描述:

MATLAB程序中有无hold on为什么会出现不同结果图?
clear all;
clc;
% hold on
c1=load('c1.txt');
x=c1(:,3);
y=c1(:,4);
z=c1(:,5);
for i=1:length(c1)
if c1(i,2)==1
scatter3(x(i),y(i),z(i),25,'w.');
else
scatter3(x(i),y(i),z(i),20,'b.');
end
end
hold on
for j=2:length(c1)
for i=1:length(c1)
if c1(j,7)==c1(i,1)
if c1(j,7)==1
plot3([x(i) x(j)],[y(i) y(j)],[z(i) z(j)],'w','linewidth',2);
break;
else
plot3([x(i) x(j)],[y(i) y(j)],[z(i) z(j)],'b','linewidth',1.5);
break;
end
end
end
end
colordef black
title('附录B 1')
程序第三行如果有hold on那么运行后图形为二维图像,如果没有则为三维图像,这是为什么呢?
1个回答 分类:综合 2014-11-13

问题解答:

我来补答
hold on是指再画新图时保留老的图像.
hold off是指在画新图时覆盖老的图像.
Matlab默认是hold off.
不对啊,第一个hold on应该是无关的才对啊.
你把两个hold on都换成figure;再试试?
 
 
展开全文阅读
剩余:2000