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作图的底层逻辑,我们就得到了这两个点之间的一条直线。。。。但这条直线不是我们描点画出来的,是系统给的。。。有点脑筋急转弯的感觉。。。当然最后记得指定一下连接的线型,不要指定点的样式。

因为我们平时画图都是很复杂的曲线,突然来个直线我们可能想着指定一串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,'*--')这样就成了一条虚线上串着几个点,就不是我
 				  %们想要的效果了。




%最后,我们就得到函数的第三种表示方式:图像

咳咳。。。重新上幼儿园吧。。。
结果:

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值