matlab学习笔记:在三维坐标系中画与坐标轴平⾏的直线
%转载:
%画与坐标轴平⾏的虚线,颜⾊为灰⾊
plot3([-4,4],[0,0],[0,0],'--','Color',[0.5 0.5 0.5]);
grid on
hold on
plot3([0,0],[-4,4],[0,0],'--','Color',[0.5 0.5 0.5]);
plot3([0,0],[0,0],[-4,4],'--','Color',[0.5 0.5 0.5]);
结果:
上⾯这个⽅法取巧利⽤了⼀下plot() 函数画图的底层逻辑------离散点描点,然后再把这些点⽤直线⼀段⼀段连起来。因此我们怎么得到⼀条直线呢?就只给两个点就好了。。。根据MATLAB作图的底层逻辑,我们就得到了这两个点之间的⼀条直线。。。。但这条直线不是我们描点画出来的,是系统给的。。。
有点脑筋急转弯的感觉。。。当然最后记得指定⼀下连接的线型,不要指定点的样式。
matlab学好了有什么用因为我们平时画图都是很复杂的曲线,突然来个直线我们可能想着指定⼀串x的值,然后设⼀个什么常值函数,plot(x,y)什么的。但咋⼀看,MATLAB有常值函数?
【⾃⼰吐槽⾃⼰,真是学yue了,常值函数还要MATLAB⾃带?咋不等天上掉馅饼砸翻⾃⼰?!】
%函数3种表⽰⽅式之⼀:列表式
y=linspace(-4,4,10);
k=0.5;
x=k*ones(1,length(y)); %⽤ones()函数⽣成⼀个和y相同⼤⼩的所有元素都为k的x,这样画出的图就是
%x=k这条直线
plot(x,y,'--'); %这⾥要省略点的样式,不然plot(x,y,'*--')这样就成了⼀条虚线上串着⼏个点,就不是我
%们想要的效果了。
%函数3种表⽰⽅式之⼆:解析式
y=-4:0.3:10;
k=0.5;
x=k*y./y; %强⾏构造常值函数。。。./是对应元素相除,.*是对应元素相乘。这⾥注意我上⾯给的步长。。要是步长不恰当,导致0/0,就有点尴尬了。。。画出的图在0那⾥就缺了⼀块,感兴趣的可以试⼀试。
plot(x,y,'--'); %这⾥要省略点的样式,不然plot(x,y,'*--')这样就成了⼀条虚线上串着⼏个点,就不是我
%们想要的效果了。
%最后,我们就得到函数的第三种表⽰⽅式:图像
咳咳。。。重新上幼⼉园吧。。。结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论