I'm running into an error at line 40, which is prompting me that I have an "invalid or deleted object". I'm wondering how to mend this.

1 次查看(过去 30 天)
P0 = [1,2,3]; P1 = [2,4,5]; P2 = [3,4,5]; P3 = [50,2,3];
P = [P0;P1;P2;P3];
t = linspace(0,1,1000);
tint = length(t);
A = ones(tint,3).*P0;
B = ones(tint,3).*P1;
C = ones(tint,3).*P2;
D = ones(tint,3).*P0;
E = ones(tint,3).*P1;
F = ones(tint,3).*P0;
for i = 1:tint
A(i,:) = (1-t(i))*P(1,:)+t(i)*P(2,:);
B(i,:) = (1-t(i))*P(2,:)+t(i)*P(3,:);
C(i,:) = (1-t(i))*P(3,:)+t(i)*P(4,:);
D(i,:) = (1-t(i))*A(i,:)+t(i)*B(i,:);
E(i,:) = (1-t(i))*B(i,:)+t(i)*C(i,:);
F(i,:) = (1-t(i))*D(i,:)+t(i)*E(i,:);
end
Xbds = [min(P(:,1)),max(P(:,1))]; xlim(Xbds); xlabel('X');
Ybds = [min(P(:,2)),max(P(:,2))]; ylim(Ybds); ylabel('Y');
Zbds = [min(P(:,3)),max(P(:,3))]; zlim(Zbds); zlabel('Z');
grid minor % Adding grid lines
%axis equal % Equal axis aspect ratio
view(-37.5,30); % Setting viewing angle
p = plot3(F(1,1),F(1,2),F(1,3),'b');
m = scatter3(F(1,1),F(1,2),F(1,3),'filled','b');
hold on
for i = 1:tint
p.XData = F(1:i,1);
p.YData = F(1:i,2);
p.ZData = F(1:i,3);
m.XData = F(i,1);
m.YData = F(i,2);
m.ZData = F(i,3);
pause(.007)
end

回答(1 个)

VBBV
VBBV 2023-3-25
编辑:VBBV 2023-3-25
P0 = [1,2,3]; P1 = [2,4,5]; P2 = [3,4,5]; P3 = [50,2,3];
P = [P0;P1;P2;P3];
t = linspace(0,1,100);
tint = length(t);
A = ones(tint,3).*P0;
B = ones(tint,3).*P1;
C = ones(tint,3).*P2;
D = ones(tint,3).*P0;
E = ones(tint,3).*P1;
F = ones(tint,3).*P0;
for i = 1:tint
A(i,:) = (1-t(i))*P(1,:)+t(i)*P(2,:);
B(i,:) = (1-t(i))*P(2,:)+t(i)*P(3,:);
C(i,:) = (1-t(i))*P(3,:)+t(i)*P(4,:);
D(i,:) = (1-t(i))*A(i,:)+t(i)*B(i,:);
E(i,:) = (1-t(i))*B(i,:)+t(i)*C(i,:);
F(i,:) = (1-t(i))*D(i,:)+t(i)*E(i,:);
end
Xbds = [min(P(:,1)),max(P(:,1))]; xlim(Xbds); xlabel('X');
Ybds = [min(P(:,2)),max(P(:,2))]; ylim(Ybds); ylabel('Y');
Zbds = [min(P(:,3)),max(P(:,3))]; zlim(Zbds); zlabel('Z');
grid minor % Adding grid lines
%axis equal % Equal axis aspect ratio
view(-37.5,30); % Setting viewing angle
p(1) = plot3(F(1,1),F(1,2),F(1,3),'b*','MarkerSize',12);grid
m(1) = scatter3(F(1,1),F(1,2),F(1,3),'filled','b');
hold on
for i = 2:tint
p(i) = plot3(F(1:i,1),F(1:i,2),F(1:i,3),'rs','MarkerSize',14); %
%axis equal % Equal axis aspect ratio
p(i).XData = F(i,1);
p(i).YData = F(i,2);
p(i).ZData = F(i,3);
m(i) = scatter3(F(i,1),F(i,2),F(i,3),'filled','b');
m(i).XData = F(i,1);
m(i).YData = F(i,2);
m(i).ZData = F(i,3);
% pause(.007)
end

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by