精华内容
下载资源
问答
  • 今天在GUI编程时,利用axes对象显示图形,在第一作图完成后,axes句柄消失,其它对象句柄(例如popup对象)仍然存在,后来发现解决的办法: 打开axes对象的属性页面,将“NextPlot”属性更改为“ReplaceChildren...

    今天在GUI编程时,利用axes对象显示图形,在第一次作图完成后,axes句柄消失,其它对象句柄(例如popup对象)仍然存在,后来发现解决的办法:

    打开axes对象的属性页面,将“NextPlot”属性更改为“ReplaceChildren”即可(默认属性为Replace)。

    参考资料:http://www.mathworks.com/matlabcentral/answers/103055-why-does-the-output-from-guihandles-change-after-i-plot-to-my-gui-in-matlab

    展开全文
  • 首先在GUI中界面中生成一个进度条和坐标轴 然后右击进度条—>查看回调—>callback,点击,跳转到GUI的脚本中。 在slider1_Callback函数下面编写绘制程序。 下面介绍解决这一问题的方法: 因为是图形随着进度条...

    首先在GUI中界面中生成一个进度条和坐标轴
    在这里插入图片描述
    然后右击进度条—>查看回调—>callback,点击,跳转到GUI的脚本中。
    在slider1_Callback函数下面编写绘制程序。
    下面介绍解决这一问题的方法:
    因为是图形随着进度条的值移动,所以可以认为每次点击进度条后,坐标轴上的图形都重新绘制了一遍。上一次绘制的图象全部消失。
    具体代码为:
    function slider1_Callback(hObject, eventdata, handles)
    x1=get(handles.slider1,‘value’)
    x=linspace(0,x1,50)%50个点
    y=sqrt(1-(x-1).^2);%圆函数 注意是点乘
    plot(handles.axes1,x,y,‘ro’)
    axis(handles.axes1,[0 2 -1 1]);
    grid on
    注意:不要使用hold on

    效果为
    在这里插入图片描述

    当然也可以使用其他的方法,比如当左滑进度条时,把当前的点隐藏掉,这样也可以实现右滑时出现红圈,左滑时红圈消失的功能。

    展开全文
  • MATLAB实现坐标系变换动画演示

    千次阅读 2015-11-03 10:41:38
    本文基于MATLAB实现坐标系之间的相互转换,并通过程序实现坐标系转换过程中的动态变化过程。注意:代码分三个部分,分别绕三个依次转换和一性直接转换等情况考虑...
    %*****************************************
    %******直角坐标系的转换及动画演示************
    %*****************************************
    clear all;
    Iz_a=[0 0 1]';%原坐标系下的Z轴
    Iy_a=[0 1 0]';%原坐标系下的Y轴
    Ix_a=[1 0 0]';%原坐标系下的X轴
    %绘制原三维坐标系O-XYZ的XYZ轴
    for t=-10:0.1:10
        plot3(Iz_a(1),Iz_a(2),t*Iz_a(3));%绘制Z轴
        plot3(Iy_a(1),t*Iy_a(2),Iy_a(3));%绘制Y轴
        plot3(t*Ix_a(1),Ix_a(2),Ix_a(3));%绘制X轴
        hold on;
    end
    r_x=deg2rad(60);%原坐标系绕X轴旋转60度
    r_y=deg2rad(60);%原坐标系绕Y轴旋转60度
    r_z=deg2rad(60);%原坐标系绕Z轴旋转60度
    %坐标系绕X轴旋转的转换矩阵Tx
    Tx=[1        0          0;
        0  cos(r_x)  sin(r_x);
        0 -sin(r_x)  cos(r_x)];
    %坐标系绕Y轴旋转的转换矩阵Ty
    Ty=[cos(r_x) 0 -sin(r_x);
        0        1         0;
        0 sin(r_x)  cos(r_x)];
    %坐标系绕Z轴旋转的转换矩阵Tz
    Tz=[ cos(r_x) sin(r_x) 0;
        -sin(r_x) cos(r_x) 0;
        0         0        1]; 
    Iz_b=Tx*Iz_a;%绕X轴旋转后新坐标系下的Z轴
    Iy_b=Tx*Iy_a;%绕X轴旋转后新坐标系下的Y轴
    Ix_b=Tx*Ix_a;%绕X轴旋转后新坐标系下的X轴
    for t=-10:0.1:10
        plot3(t*Iz_b(1),t*Iz_b(2),t*Iz_b(3),'r');%绘制Z轴
        plot3(t*Iy_b(1),t*Iy_b(2),t*Iy_b(3),'r');%绘制Y轴
        plot3(t*Ix_b(1),t*Ix_b(2),t*Ix_b(3),'r');%绘制X轴
        hold on;
    end
    %********************************************
    %******动画演示坐标系绕X轴旋转过程**************
    %********************************************
    clear all;
    Iz_a=[0 0 1]';%原坐标系下的Z轴
    Iy_a=[0 1 0]';%原坐标系下的Y轴
    Ix_a=[1 0 0]';%原坐标系下的X轴
    for rx=0:5:60
        Rx=deg2rad(rx);
        %坐标系绕X轴旋转的转换矩阵Tx
        Tx=[1        0        0;
            0  cos(Rx)  sin(Rx);
            0 -sin(Rx)  cos(Rx)];
        Iz_b=Tx*Iz_a;%绕X轴旋转后新坐标系下的Z轴
        Iy_b=Tx*Iy_a;%绕X轴旋转后新坐标系下的Y轴
        Ix_b=Tx*Ix_a;%绕X轴旋转后新坐标系下的X轴
        for t=-10:0.1:10
            plot3(t*Iz_b(1),t*Iz_b(2),t*Iz_b(3),'r');%绘制Z轴
            plot3(t*Iy_b(1),t*Iy_b(2),t*Iy_b(3),'b');%绘制Y轴
            plot3(t*Ix_b(1),t*Ix_b(2),t*Ix_b(3),'g');%绘制X轴
            hold on;
        end
        pause(0.1);
    end
    %************************************************
    %******动画演示坐标系绕Z-Y-X轴旋转过程**************
    %************************************************
    clear all;
    Iz_a=[0 0 1]';%原坐标系下的Z轴
    Iy_a=[0 1 0]';%原坐标系下的Y轴
    Ix_a=[1 0 0]';%原坐标系下的X轴
    for rx=0:5:60
        Rx=deg2rad(rx);
        %坐标系绕X轴旋转的转换矩阵Tx
        Tx=[1        0        0;
            0  cos(Rx)  sin(Rx);
            0 -sin(Rx)  cos(Rx)];
        %坐标系绕Y轴旋转的转换矩阵Ty
        Ty=[cos(Rx) 0 -sin(Rx);
            0        1         0;
            0 sin(Rx)  cos(Rx)];
        %坐标系绕Z轴旋转的转换矩阵Tz
        Tz=[ cos(Rx) sin(Rx) 0;
            -sin(Rx) cos(Rx) 0;
            0         0        1]; 
        Iz_b=Tx*Ty*Tz*Iz_a;%绕ZYX轴旋转后新坐标系下的Z轴
        Iy_b=Tx*Ty*Tz*Iy_a;%绕ZYX轴旋转后新坐标系下的Y轴
        Ix_b=Tx*Ty*Tz*Ix_a;%绕ZYX轴旋转后新坐标系下的X轴
        for t=-10:0.1:10
            plot3(t*Iz_b(1),t*Iz_b(2),t*Iz_b(3),'r');%绘制Z轴
            plot3(t*Iy_b(1),t*Iy_b(2),t*Iy_b(3),'b');%绘制Y轴
            plot3(t*Ix_b(1),t*Ix_b(2),t*Ix_b(3),'g');%绘制X轴
            hold on;
        end
        hold off;
        pause(0.1);
    end
    %************************************************
    %******动画演示坐标系分别绕Z-Y-X轴旋转过程**********
    %************************************************
    clear all;
    Iz_a=[0 0 1]';%原坐标系下的Z轴
    Iy_a=[0 1 0]';%原坐标系下的Y轴
    Ix_a=[1 0 0]';%原坐标系下的X轴
    %坐标系先绕Z轴旋转
    for rx=0:5:60
        Rx=deg2rad(rx);
        %坐标系绕Z轴旋转的转换矩阵Tz
        Tz=[ cos(Rx) sin(Rx) 0;
            -sin(Rx) cos(Rx) 0;
            0         0        1]; 
        Iz_b=Tz*Iz_a;%绕Z轴旋转后新坐标系下的Z轴
        Iy_b=Tz*Iy_a;%绕Z轴旋转后新坐标系下的Y轴
        Ix_b=Tz*Ix_a;%绕Z轴旋转后新坐标系下的X轴
        for t=-10:0.1:10
            plot3(t*Iz_b(1),t*Iz_b(2),t*Iz_b(3),'r');%绘制Z轴
            plot3(t*Iy_b(1),t*Iy_b(2),t*Iy_b(3),'b');%绘制Y轴
            plot3(t*Ix_b(1),t*Ix_b(2),t*Ix_b(3),'g');%绘制X轴
            hold on;
        end
        pause(0.1);
        hold off;
    end
    %坐标系再绕Y轴旋转
    for rx=0:5:60
        Rx=deg2rad(rx);
        %坐标系绕Y轴旋转的转换矩阵Ty
        Ty=[cos(Rx) 0 -sin(Rx);
            0        1         0;
            0 sin(Rx)  cos(Rx)];
        Iz_c=Ty*Iz_b;%绕Z轴旋转后新坐标系下的Z轴
        Iy_c=Ty*Iy_b;%绕Z轴旋转后新坐标系下的Y轴
        Ix_c=Ty*Ix_b;%绕Z轴旋转后新坐标系下的X轴
        for t=-10:0.1:10
            plot3(t*Iz_c(1),t*Iz_c(2),t*Iz_c(3),'r');%绘制Z轴
            plot3(t*Iy_c(1),t*Iy_c(2),t*Iy_c(3),'b');%绘制Y轴
            plot3(t*Ix_c(1),t*Ix_c(2),t*Ix_c(3),'g');%绘制X轴
            hold on;
        end
        pause(0.1);
        hold off;
    end
    %最后坐标系绕X轴旋转
    for rx=0:5:60
        Rx=deg2rad(rx);
        %坐标系绕X轴旋转的转换矩阵Tx
        Tx=[1        0        0;
            0  cos(Rx)  sin(Rx);
            0 -sin(Rx)  cos(Rx)];
        Iz_d=Tx*Iz_c;%绕Z轴旋转后新坐标系下的Z轴
        Iy_d=Tx*Iy_c;%绕Z轴旋转后新坐标系下的Y轴
        Ix_d=Tx*Ix_c;%绕Z轴旋转后新坐标系下的X轴
        for t=-10:0.1:10
            plot3(t*Iz_d(1),t*Iz_d(2),t*Iz_d(3),'r');%绘制Z轴
            plot3(t*Iy_d(1),t*Iy_d(2),t*Iy_d(3),'b');%绘制Y轴
            plot3(t*Ix_d(1),t*Ix_d(2),t*Ix_d(3),'g');%绘制X轴
            hold on;
        end
        pause(0.1);
        hold off;
    end

    展开全文
  • 平移齐次坐标变换: 空间某点由矢量描述。其中,为上的单位矢量。此点可用平移齐次变换表示为: 旋转齐次坐标变换: 表,表,非齐次去掉第四行第四列就行了。 绕x作转角为的旋转变换: 绕y作转角为...

    平移齐次坐标变换: 

    空间某点由矢量 a\boldsymbol{i}+b\boldsymbol{j}+c\boldsymbol{k} 描述。其中,\boldsymbol{i,j,k} 为轴 x,y,z 上的单位矢量。此点可用平移齐次变换表示为: 

    Trans(a,b,c)=\begin{bmatrix} 1 & 0 & 0 & a \\ 0 & 1 & 0 & b\\ 0 & 0 & 1 & c \\ 0 & 0 & 0 & 1 \end{bmatrix}

     

    旋转齐次坐标变换: 

    s  sinc 表 cos ,非齐次去掉第四行第四列就行了。

    绕x轴作转角为\theta的旋转变换:

    Rot(x,\theta )=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & c\theta & -s\theta & 0 \\ 0 & s\theta & c\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

    绕y轴作转角为\theta的旋转变换: 

    Rot(y,\theta )=\begin{bmatrix} c\theta & 0 & s\theta & 0 \\ 0 & 1 &0 & 0 \\ -s\theta & 0 & c\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

    绕z轴作转角为\theta的旋转变换: 

    Rot(z,\theta )=\begin{bmatrix} c\theta & -s\theta & 0 & 0 \\ s\theta & c\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

     

    如果先让物体绕z轴旋转90°,接着绕y轴旋转90°,再沿x轴方向平移1个单位(右手坐标系,右手定则旋转),则: 

    T=Trans(1,0,0)Rot(y,90)Rot(z,90)

     

    eul2rotm()      (MatlabR2016a)

    eul=[angle1 angle2 angle3]

    eul2rotm(eul,'ZYX') 是先绕X轴旋转angle3再绕Y轴旋转angle2再绕Z轴旋转angle1。( eul2rotm中为弧度)

     

    如:

    eul = [pi pi/2 pi/2];
    rotm1 = eul2rotm(eul,'ZYX'); 
    rotm1*[0 1 0]'

    表示  [0;1;0],先绕X轴旋转90°,再绕Y轴旋转90°,最后绕Z轴旋转180°(右手坐标系,右手定则旋转),结果为 [-1;0;0]。

    也可以:

    eul2 = rad2deg([pi pi/2 pi/2]);
    rotm2 = rotz(eul2(1)) * roty(eul2(2)) * rotx(eul2(3));
    rotm2*[0 1 0]'

    结果也为 [-1;0;0](rotx,y,z 中为角度)。

     

    点绕坐标系旋转 与 坐标系自身旋转

    坐标系不动,点绕坐标系旋转:

     [-1,0,0]'= Rotz(180)*Roty(90)*Rotx(90)*[0,1,0]' 

    上式表示:坐标系C下的点 P_{c}=[0,1,0]'先绕C的X轴旋转90°,再绕C的Y轴旋转90°,最后绕C的Z轴旋转180°(右手坐标系,右手定则旋转),则新的坐标(坐标系C下)P_{c}^{'} =[-1,0,0]'

    即:R_{xyz} = Rotz(180)*Roty(90)*Rotx(90),P_{c}^{'} = R_{xyz}*P_{c}

     

    同一个点,坐标系自身的旋转:

    设一开始坐标系C1和坐标系C2重合,且坐标系C2经过先绕C1的X轴旋转90°再绕C1的Y轴旋转90°最后绕C1的Z轴旋转180°的变换后为新的坐标系C2(等同于坐标系C2经过先绕C2的Z轴旋转180°到C2',再绕C2'的Y轴旋转90°到C2'',最后绕C2''的X轴旋转90°)。

    则这个过程可视作坐标系C1 到 (新)坐标系C2的旋转变换整个过程坐标系C1未动):

    _{c2}^{c1}\textrm{R}=Rotz(180)*Roty(90)*Rotx(90),此时 _{c2}^{c1}\textrm{R} 也描述 (新)坐标系C2相对于坐标系C1的方位。

    若将[0,1,0]'看做坐标系C2下的坐标P_{c2}, 将[-1,0,0]'看做坐标系C1下的点P_{c1},则P_{c1}= _{c2}^{c1}\textrm{R} *P_{c2},即坐标系C1中的点P_{c1}可在坐标系C2中表示为P_{c2} (反之亦然)。       

    具体应用:若世界坐标系W到相机坐标系C的旋转变换为_{C}^{W}\textrm{R},相机坐标系下有空间点P_{C},则该空间点在世界坐标系下可表示为P_{W}= _{C}^{W}\textrm{R} *P_{C}

     

    refer: https://blog.csdn.net/lixujie666/article/details/82153503 中的 一、1.

              https://zhuanlan.zhihu.com/p/108789534

              https://blog.csdn.net/yukinoai/article/details/90573008

              https://blog.csdn.net/zb1165048017/article/details/71104241

     

     

     

    展开全文
  • 10.12 特殊坐标轴绘图

    千次阅读 2016-12-17 18:07:20
    但其中无论是直角坐标系函数极坐标系,用到的坐标轴的刻度都是线性刻度,但是在实际的许多情况中,数据都出现指数型的变化规律,这时,如皋再用线性刻度来描述曲线,则处于低幂的部分数据就无法清晰地表现出来,...
  • Matlab中,构造一简单二维图形(房屋、飞机、家具等)的顶点表齐矩阵,使用齐矩阵变换方法对分别该图形做以下二维变换: 宽度缩小为1/2,高度放大为2倍,设为T1 顺时针旋转30度,设为T2 沿x做错切,错切...
  • MATLAB怎么设置压缩

    2020-08-18 23:42:10
    请问MATLAB中,如何将图1的坐标轴改成图2的的形式?即增加一个0~0.001的跳变区间。 欢迎使用Markdown编辑器 你好! 这是你第一使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以...
  • 步骤 (1)在figure中点击编辑...坐标区属性(axis properties),会有一个弹框显示 (2)选择“标尺”,下拉选项找到XScale、YScale (3)该X的单位就改XScale,把linear改为log。改Y的单位,就改YScale ...
  • Matlab Robotics Toolbox–坐标系变换 摘要 坐标变换一般可由旋转变换和平移变换两部分构成,上一篇介绍了Robotics Toolbox旋转变换的相关函数,这一篇介绍坐标系齐变换的函数。 平移变换 (1)创建平移变换矩阵 ...
  • 我有一个3x1子图,我已经想出了如何捕获鼠标点击坐标并将它们存储到每个内的数组中。不过,我想修改我的代码,这样我就可以将来自每个的鼠标点击一全部存储起来。这是我的代码:function Callbacksx = 0:30;y1...
  • @[TOC]Matlab画图求助,好几个图放在一个坐标系里的那种图。 第一使用这个网站,不知道提问...图中的坐标轴颜色不一样,而且是好几个坐标轴重叠覆盖的,看着特别奇怪。 以下是我画这个图的代码 clear a = lo...
  • 分拣机器人设计与MATLAB仿真

    千次阅读 多人点赞 2020-06-29 17:03:45
    三、推导正运动学,并写出七个齐变换矩阵   假设现在位于本地参考坐标系Xn-Zn,那么通过以下4步标准运动即可到达下一个本地参考坐标系Xn+1-Zn+1。 1、绕Z_n旋转θ_(n+1),使得X_n 和X_(n+1)互相平行; 2、沿Z_n...
  • matlab创建多个legend

    千次阅读 2016-12-01 17:52:16
    matlab一个坐标轴只能有一个图例注释,要创建多个图例注释,就要创建多个坐标轴,为每个坐标轴添加一个图例注释 同一个坐标轴中多用legend,后一画的图例会覆盖前一画的图例
  • 使用matlab的gui编写了CAD课程中的bezier曲线和均匀b样条曲线,支持鼠标在坐标轴上的键入,两种曲线之间的转换,且型值点可用鼠标拖动修改。
  • matlab作图

    2020-09-19 16:50:30
    matlab绘制平行于坐标轴的直线 plot([0, 50], [3, 3]); 欢迎使用Markdown编辑器 你好! 这是你第一使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下...
  • matlab画图

    2020-12-15 10:55:23
    画子图,给整个图加图名,调整画布大小,调整子图大小,设置坐标轴标签和轴点标签,字符串赋值,设置曲线线型和颜色 clear%清除工作区内容 close%关闭上一运行的图片 %设置系统和预报天数 sys='R';%与输入文件名...
  • MATLAB画图笔记

    2020-12-13 22:35:32
    表1 多绘叠matlab命令 holdon 在当前图中保留当前和图形,将新的图形绘制在保留的图中 hold off 与hold on相对,在当前图中关闭保留,有新图形则会被覆盖 hold all 保留当前图的...
  • 相机标定 matlab

    2018-05-24 21:58:54
    [6]像平面上的x和y坐标轴是与相机坐标系上的X和Y坐标轴互相平行的; [7]相机坐标系是以X,Y,Z(大写)三个轴组成的且原点在O点,度量值为米(m); [8]像平面坐标系是以x,y(小写)两个轴组成的且原点在O1点,度量...
  • 增长率改为折线图,勾选次坐标轴,界面如下:4 单击左侧的坐标轴,右键——设置坐标轴格式,设置最大值为38000,是让柱状图和折线图分离,以更好的展示图表。界面如下:单击右侧的次坐标轴,设置坐标轴格式—...
  • MATLAB主窗口打开一个子窗口,子窗口功能执行正常,例如:对主窗口图形进行power变换,显示在主窗口的某一坐标轴picdst。子窗口由控件滑条组成。但是只要一关闭子窗口,再次从主窗口打开同一子窗口时,提示无法获取...
  • Matlab画图常用命令

    2017-07-28 15:28:38
    2.设置坐标轴范围figure; axis([0 inf -10 10]); %前两个值为x轴,后面的为y轴3.设置坐标轴范围及步长figure; set(gca,'ytick',-10:1:10); %设置y轴,x轴同理4.多在同一图像上画图在每次figure或plot后使用 hold ...
  • 实例59:设置坐标轴纵横轴比 实例60:动态文本显示 实例61:浏览流体数据 实例62:简单计算器 实例63:字母统计 实例64:图形的几何操作 实例65:时间计算器 实例66:数字操作 实例67:图像的块操作 实例68...
  • 插值与拟合的MATLAB实现

    千次阅读 2017-08-17 22:16:46
    通过matlab建模,用分段线性和三样条两种插值方法计算x坐标轴每改变0.1时得出y坐标的变化。 x 0 3 5 7 9 11 12 13 14 15 y 0 1.2 1.7 2.0 2.1 2.0
  • MATLAB movie函数动态绘图

    千次阅读 2016-11-06 21:30:49
    MATLAB movie 函数动态绘图 电影动画的好处就是,运行一可以...step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个足够大的矩阵,使之能够容纳基于当前坐标轴大小的一系列指定的图
  • 本卷为一函数综合应用解答题50题,一函数的学习需要掌握的知识点有:一函数的定义条件、一函数的解析式的求解、一函数图像特征、一函数的增减情况,平面直角坐标系中两直线平行或垂直时,函数解析式中自...
  • MATLAB画图

    2019-08-03 22:05:06
    semilogx(),semilogy() 采用对数(以10为底)刻度,(功能等同于plot()),突出低幂部分图像 axis([xmin,xmax,ymin,ymax,zmin,zmax]) 调整坐标系 plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,...) 三...
  • matlab求二重积分

    千次阅读 2020-03-14 00:15:54
    已知 ,其中D是由圆周 及坐标轴所围成的第一象限内的闭区域 法一: 积分区域用不等式表示为 二重积分可化为二积分 matlab中输入命令 syms x y int(int(sqrt(1-x^2-y^2/1+x^2+y^2),y,-sqrt(1-x^2),sqrt(1-x^2))...
  • 2.2.5 坐标轴标题 2.2.6 控制图轴大小 2.3 填充图形的绘制 2.4 精确绘图 2.5 图形的分割窗口 2.6 特殊二维图形 2.6.1 极坐标图 2.6.2 玫瑰图 2.6.3 概述分布图 2.6.4 饼图 2.6.5 条形图 2.6.6 误差条图 2.6.7 面积图...
  • 1.title函数 2.xlabel函数和ylabel函数 3.gtext函数跟随光标移动放置 ...给坐标轴加网格线grid函数 图形保持hold on subplot函数,每一都重新刷新分区 ...
  • 操作臂简图a)建立机构坐标系写出三连杆平面操作臂的D-H参数注意到由于所有的关节都是平行的,且所有的之都垂直纸面向外,因此α都为0。同样注意到,运动学分析最后总是归结到一个坐标系里,这个坐标系的原点位于...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

matlab次坐标轴

matlab 订阅