作业帮 > 综合 > 作业

请教MATLAB 画三维直线图

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 06:49:32
请教MATLAB 画三维直线图
已知两个三列矩阵,第一个矩阵中是直线起始点坐标(x,y,z)(很多行,大约140000多行),第二个矩阵是直线终点坐标(x,y,z)(很多行,大约140000多行),两个矩阵中每一行是一一对应的(代表一条直线的两个端点),如何画出三维直线图呢?
例如a={1,2,3
1,2,8
1,2,10}
b={1,2,4
1,2,9
1,2,15}
可以用plot3函数来画.它与plot函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
例如:
t=0:pi/100:20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Line in 3-
D Space');
xlabel('X');ylabel('Y');zlabel('Z');
再问: 不好意思,我第一次接触MATLAB,比较菜鸟,你这所说的,不是MATLAB各种参考资料中所举的例子吗?那具体到我这个实际的问题中,又该怎么绘制图形呢?是不是应该为plot3(a,b)呢?a是起点矩阵,b是终点矩阵。
再答: 肯定不是plot3(a,b)。参数格式意义都不意义的嘛。要套用这个格式,那么你就把第一个矩阵关于x,y,z 的坐标取出来啊。比如说x=a(:,1);同理可以求得y和Z的坐标。第一个终点的矩阵也可以把x,y,z的坐标取出来啊。这样x,y,z的参数都有了,那么就是剩下绘图的间隔了。自己取个间隔就行,稀疏或密集都可以。再套用plot3(z,y,z)的格式就行了。
学习matlab需要自己多动手编编程,不同的问题可以在matlab中输入help+关键词。里面会有例子的。学会看英文资料。实在怕麻烦,百度下都有的。不要指望他人直接写好程序给你,那样学不到东西的。自己按照给的例子,去套这个格式。自己多试试。
再问: >> A=[1,2,3;1,2,5;1,2,10];>> B=[1,2,4;1,2,6;1,2,15];>> figure;>> plot3(A(:,1),A(:,2),A(:,3),B(:,1),B(:,2),B(:,3));>> grid on;>> view(-20,40);>> 如果是按照这个意思来画的话,我写的代码是这样的,可是画出来的图却不对啊,应该是三段直线啊,可是却只有一段?