所以,让我说我在三维空间中有一些点,x1,x2,... xn,我绘制它们以便x1连接到x2,x2连接到x3,依此类推。
首先,我该怎么做?
接下来,我有一个函数f,它取3个空间中的点并返回3个空间中的点,我想绘制这些点的图像,使得f(x1)连接到f(x2),f (x2)连接到f(x3),依此类推。
可以保留这些连接的Matlab代码是什么?
答案 0 :(得分:3)
也许你只是在寻找像plot3
这样简单的东西。这些点默认是连接的。如果要显示数据点,可以使用linespec
轻松定义点和线的样式。
x = [1,2,3; 2,3,4; 3,3,5; 7,3,6];
plot3(x(:,1),x(:,2),x(:,3),'*-');
grid on;
结果如下:
以下是使用函数newpos
计算新点的示例。在此之后,修改后的曲线绘制在同一图中。
function example
x = [1,2,3; 2,3,4; 3,3,5; 7,3,6];
plot3(x(:,1),x(:,2),x(:,3),'*-');
grid on;
for i = 1:size(x,1)
x(i,:) = newpos(x(i,:));
end
hold on;
plot3(x(:,1),x(:,2),x(:,3),'d-');
function y = newpos(x)
y = x + [1 2 1];
结果如下: