0 前言

Matlab编程常遇到画坐标系的需求,本文对此进行一个总结。

1 坐标系显示

关于坐标系的创建,参考资料[4]的讨论中提到了一种直接使用画线函数(line)来画出各条坐标轴的方法。然而,在matlab中显示坐标系有更加方便快捷的方法,调用下面的函数即可,效果如图1.1所示(其实,画图的时候默认显示坐标系)。

axis on

图1.1 matlab普通坐标系

2 移动坐标轴到原点

2.1 案例1

由图1.1可见,对于数学图形而言,这种坐标显示方式与我们熟悉的数学坐标系不一样,我们更加倾向于纵横坐标都经过原点,并且有正方向的箭头。针对这个问题,参考资料[1]写了个函数,用于将坐标轴移动到坐标原点,效果如下图2.1所示:

图2.1 移动坐标轴之后效果图(来源于参考资料[1])

2.2 案例2     

参考资料[3]也给出了达到这个目的方法。下面是根据参考资料[3]完善的代码:

uoo=1;
x = -5:0.01:5;
y = uoo*tanh( uoo*x/2^(1/2) );
plot(x,y)
hold on
axis off
box off
%% x轴
plot([-5,5],[0,0],'k');
x = get(gca,'XTick') + 0.1;
Lx = get(gca,'XTickLabel');
y = zeros( size(x) ) - 0.1;
text(x, y, Lx);
%% y轴
plot([0,0],[-5,5],'k');
y = get(gca,'YTick');
Ly = get(gca,'YTickLabel');
x = zeros( size(y) ) - 0.1;
text(x, y, Ly);

效果如图2.2所示。

图2.2

3 旋转坐标轴

有时候,我们希望将坐标轴旋转一个特定的角度。对于这个问题,参考资料[2]的讨论中提到下面的函数:

camroll(axes_handle, dtheta)

matlab帮助文档中对这个函数的解析为:Rotate camera about view axis。

测试代码:

clear
clc
axis on
axes_handle = axes();                                                       % 创建一个新坐标系,并使其成为当前坐标系
dtheta = 45;
camroll(axes_handle, dtheta);                                               % 将坐标系axes_handle旋转角度dtheta

效果如图3.1所示。

图3.1 坐标系旋转效果图

由3.1可见,第2个坐标已经旋转,但是视觉效果并不理想(两条轴线并不垂直!)。

参考资料

[1]MATLAB 把坐标轴(X Y轴)移到坐标原点

[2]一个三维坐标轴旋转的问题

[3]matlab中坐标轴移动

[4]如何绘制三维坐标系,坐标轴相交到同一点O

[5]请问如何用matlab实现坐标绕原点旋转15°得到新的坐标

Matlab坐标系绘制相关推荐

  1. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  2. tyvector在matlab中代表,MATLAB曲线绘制

    信号源产生的方法 来源:http://www.2cto.com/kf/201401/270494.html  matlab的checkerboard说明,GOOD! 来源:http://www.chi ...

  3. 在Matlab中绘制系统的根轨迹图

    在Matlab中绘制系统的根轨迹图 例如某系统的开环传递函数为: 通过上面的开环传递函数可以直接求出2个开环共轭复零点,以及5个开环极点,然后确定根轨迹分支数-自己画根轨迹图的话还是比较麻烦的,这么简 ...

  4. 两个同时comet matlab,matlab 三维绘制

    1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...

  5. MATLAB坐标系变换动画gif(附代码):坐标系旋转动画+坐标系平移动画代码

    MATLAB坐标系变换动画gif(附代码) 以之前的文章中的例题为例,绘制一个向量和一个运动坐标系在空间中的变换过程,并生成gif动画. 已知坐标系{B}的初始位姿与{A}重合,首先{B}相对于{A} ...

  6. matlab中如何求零极点,Matlab中绘制零极点

    <Matlab中绘制零极点>由会员分享,可在线阅读,更多相关<Matlab中绘制零极点(2页珍藏版)>请在人人文库网上搜索. 1.ZPLANE Z-plane zero-pol ...

  7. 【新星计划】MATLAB plot绘制图像

    在MATLAB中绘制函数图形的步骤如下: 先定义变量 x,通过指定的变量 x 值的范围,该函数被绘制: 然后定义函数, y = f(x): 最后调用 plot 命令,如 plot(x, y). 接下来 ...

  8. Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok)

    Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok) 目录 输出结果 实现代码 输出结果 实现代码 % This code is to plo ...

  9. matlab线旋转成面,用matlab怎么绘制一条曲线绕z轴旋转生成的曲面?

    用matlab怎么绘制一条曲线绕z轴旋转生成的曲面? 已知数据如下: x z y -398.10815554637100 391.8559758318630 690.066133543041 -381 ...

最新文章

  1. 维密求变,“自救”还是“挖坟”?
  2. hdu 4289(最小割最大流定理)
  3. 开发一个出生年份的下拉选择框供用户选择_你的下拉式菜单设计对了吗?
  4. php获取日期中的月份,年份
  5. 【渝粤题库】陕西师范大学209006教育政策与法规作业(高起专、高起本)
  6. android的ui怎么做到流畅,android提高UI的流畅度
  7. Metal入门教程(二)三维变换
  8. django数据库事务
  9. WebStorm——最智能的Javascript IDE
  10. mac xampp连接mysql_MAC系统XAMPP 中 MySQL命令行client配置使用
  11. iPhone 各屏幕尺寸及解析
  12. 网站建设 之 CSS渐变
  13. 微信JSAPI支付返回缺少参数total_fee
  14. 日记:2019新年计划,每日计划的思维导图
  15. 修改IE地址栏Tomcat小猫咪图标
  16. Python开发:PyQT安装教程
  17. video.js播放rtmp视频
  18. 帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件
  19. E1,CE1,T1,PRI,BRI的区别以及接口
  20. 2.ZooKeeper客户端Curator「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」

热门文章

  1. mybatis面试题集锦
  2. 怎么查python题答案_知到智慧树_Python程序设计基础_答案免费查询
  3. 固态硬盘之主控哪家强?
  4. ubuntu安装NVIDIA显卡驱动(简单有效)
  5. pycharm连接服务器方法
  6. mybatis运行报错java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
  7. S.M.A.R.T 参数详解及推荐指标
  8. 论玩镜头的三种境界[转自无忌fruitbear]
  9. 图像处理:U-Net中的重叠-切片(Overlap-tile)
  10. 如何在Verizon FIOS路由器上更改Wi-Fi网络名称(SSID)