MATLAB程序中有无hold on为什么会出现不同结果图?clear all;clc;% hold onc1=load('c1.txt');x=c1(:,3);y=c1(:,4);z=c1(:,5);for i=1:length(c1)if c1(i,2)==1scatter3(x(i),y(i),z(i),25,'w.');elsescatter3(x(i),y(i),z(i),20,'b.');endendhold onfor
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/14 22:27:05
MATLAB程序中有无hold on为什么会出现不同结果图?clear all;clc;% hold onc1=load('c1.txt');x=c1(:,3);y=c1(:,4);z=c1(:,5);for i=1:length(c1)if c1(i,2)==1scatter3(x(i),y(i),z(i),25,'w.');elsescatter3(x(i),y(i),z(i),20,'b.');endendhold onfor
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那么运行后图形为二维图像,如果没有则为三维图像,这是为什么呢?
MATLAB程序中有无hold on为什么会出现不同结果图?clear all;clc;% hold onc1=load('c1.txt');x=c1(:,3);y=c1(:,4);z=c1(:,5);for i=1:length(c1)if c1(i,2)==1scatter3(x(i),y(i),z(i),25,'w.');elsescatter3(x(i),y(i),z(i),20,'b.');endendhold onfor
hold on是指再画新图时保留老的图像.
hold off是指在画新图时覆盖老的图像.
Matlab默认是hold off.
不对啊,第一个hold on应该是无关的才对啊.
你把两个hold on都换成figure;再试试?