假设我们有
x=linspace(-1,1,25);
y=linspace(-1,1,25);
[X,Y]=meshgrid(x,y);
Z = X.^2 - Y.^2;
surf(Z)
MATLAB如何计算参数曲线(上图中的黑线)以获得曲面?有没有明确的公式可以做到这一点?如果参数化是(u,v)那么如何让MATLAB吐出
u=f(x,y,z)
v=g(x,y,z)
功能
答案 0 :(得分:2)
表面上的黑线由对应于x,y和z坐标的三个矢量描述。例如,如果要提取与x=x(5)=-0.6667
对应的行,则需要提取三个已包含在meshgrid和Z-array中的向量 - X(5,:),Y(5,:),Z(5,:)
:
x=linspace(-1,1,25);
y=linspace(-1,1,25);
[X,Y]=meshgrid(x,y);
Z = X.^2 - Y.^2;
hold off
surf(X,Y,Z)
hold on;
plot3(X(5,:),Y(5,:),Z(5,:),'r','LineWidth',5)
axis square
同样,如果您要在y=y(5)=-0.6667
处提取该行,则需要:X(:,5),Y(:,5),Z(:,5)
:
x=linspace(-1,1,25);
y=linspace(-1,1,25);
[X,Y]=meshgrid(x,y);
Z = X.^2 - Y.^2;
hold off
surf(X,Y,Z)
hold on;
plot3(X(:,5),Y(:,5),Z(:,5),'r','LineWidth',5)
axis square
希望有所帮助