精华内容
下载资源
问答
  • 2019-12-27 14:35:50

    1 matlab设置坐标轴范围

    1.xlim()和ylim()函数设置
    2.axis()函数同时设置两个坐标轴范围
    3.axis manual 等参数控制坐标轴

    2 遇到问题

    由于我需要在一个循环里面绘图,不停刷新数据形成动画,上述函数都不能达到效果,最后采用

    set(gca,‘YLim’,[-0.05 1]);

    达到想要效果

    动态绘图代码如下

    for i=1:250:length(result(:,1))
        %清除图像
        cla
        %画一个矩形
        rectangle('Position',[result(i,2)-0.7   -0.05    1.4   0.05],'FaceColor', '#A2142F');
        hold on
        %设置等坐标轴及控制y轴范围不变
        axis equal;
        set(gca,'YLim',[-0.05 1]);
    	%设置显示文本及其位置
        text(result(i,2)-0.50,0.90,strcat('Simulation Time: ',num2str(result(i,1))),'Color','red','FontSize',12);
        text(result(i,2)+0.1,0.80,strcat('Foward Velocity: ',num2str(result(i,4))),'Color','b','FontSize',12);
        text(result(i,2)-0.5,0.80,strcat('Vertical Velocity: ',num2str(result(i,5))),'Color','red','FontSize',12);
        %画一个矩形
        rectangle('Position',[result(i,2)-0.1   result(i,3)-0.05    0.2   0.1],'FaceColor', '#EDB120');
        hold on
        %画一个点
        plot(result(i,2),result(i,3),'Marker','.','MarkerFaceColor','red','MarkerSize',10)
        hold on
        %计算直线坐标
        x_ft = result(i,2)-result(i,8)*sin(-result(i,7));
        z_ft = result(i,3)-result(i,8)*cos(-result(i,7));
    	%绘制直线
        line([result(i,2) x_ft],[result(i,3) z_ft],'Color','k','LineWidth',2);
        hold on 
    
       %暂停
        pause(0.00001)
        %绘图
        drawnow
        grid on;
        
    end
    
    更多相关内容
  • MATLAB GUI实现动态画图曲线的源程序代码
  • Matlab可以!下图直观的展示了是sin(ax)的函数图像随参数a是如何变化的。来,直接上Matlab代码。具体某些代码的作用,看代码后面的注释!num = 200;% 参数a的个数,及组成GIF图的总图片个数a_list = linspace(0.5, 5...

    如何直观地展示某个函数图像随函数中包含的某个参数的变化呢?Matlab可以!

    下图直观的展示了是sin(ax)的函数图像随参数a是如何变化的。

    fd398971a074

    来,直接上Matlab代码。

    具体某些代码的作用,看代码后面的注释!num = 200;% 参数a的个数,及组成GIF图的总图片个数

    a_list = linspace(0.5, 5, num);% 设置参数a的取值范围

    x = linspace(0, 2*pi, 200);% 设置自变量x的范围

    pic_num = 1;

    for i = 1:num

    a = a_list(i);

    y = sin(a.*x);% 在一个确定的a下得到y=sin(ax)

    figure(1);

    set(figure(1), 'Color', 'white');% 设置图片窗口背景颜色为白色

    plot(x, y, 'LineWidth', 2, 'Color', [0.0118, 0.0359, 0.4824], 'DisplayName', '{\ita}='+string(roundn(a, -2)));

    % 绘制x,y曲线,并设置线宽,曲线颜色,曲线图例名称

    grid on;% 为绘图窗口加上网格

    set(gca,'FontSize',12,'FontName','Bookman Old Style');% 设置图片中字体的大小,样式

    xlabel('Label {\itx}', 'FontSize',14);% 设置x轴标签

    xlim([min(x), max(x)]);% 设置y轴标签

    ylim([-1.2, 1.2]);% 设置y轴显示范围

    ylabel('Label {\ity}', 'FontSize',14);% 设置y轴标签

    legend('FontSize',14, 'box', 'off');% 为图片加上图例

    title('GIF: {\ity}=sin({\itax})', 'FontSize',14);% 增加图片的标题

    drawnow;% 立即刷新当前绘图窗口,这是matlab绘图中动态展示的关键

    F = getframe(gcf);  % 获取当前绘图窗口的图片

    Im = frame2im(F);  % 返回与电影帧相关的图片数据

    [A, map] = rgb2ind(Im, 256); % 将RGB图片转化为索引图片

    if pic_num == 1

    imwrite(A, map, 'sin.gif', 'gif', 'Loopcount', Inf, 'DelayTime', 0.1);

    % 将第一张图片写入‘sin.gif’文件中,并且将GIF播放次数设置成无穷,即保存的GIF图会一直动下去

    else

    imwrite(A, map,'sin.gif','gif','WriteMode','append','DelayTime',0.1);

    % 依次将其他的图片写入到GIF文件当中

    end

    pic_num = pic_num + 1;

    end

    其中 imwrite 函数就是起到将循环中得到的图片依次写入到GIF格式的图片中,其中参数‘DelayTime’表示相邻两张图片播放的间隔时间,一定程度上决定了GIF动图播放时的流畅程度!

    代码最好电脑上查看,手机上可能会出现错行的情况!

    代码看起来很长,但有很大一段是对图片的坐标,题目等属性的设置。

    当然我们可以把将图片写入GIF图的过程封装成一个函数,然后把它加入到Matlab的库函数中去,这样以后使用就可以直接调用而不用再重复粘贴这一大串代码了。

    如果大家实际使用中有什么问题,欢迎讨论。

    展开全文
  • 简单动画Matlab绘图时实现坐标轴水平移动显示-animationprog.m 想必大家都知道windows资源管理器里面的CPU及内存的使用记录的图形,在matlab里面如何实现呢?方法很简单,动态修改x坐标轴的范围即可。下面是一个...
  • Matlab—常用操作之动态绘图

    千次阅读 2021-11-29 20:37:41
    一、沿线条跟踪标记 Trace Marker Along Line- MATLAB & Simulink

    qqAnimation- MATLAB & Simulink

    一、animatedline

    Create animated line - MATLAB animatedline (mathworks.com)

    h = animatedline;
    axis([0,4*pi,-1,1])
    
    x = linspace(0,4*pi,100);
    y = sin(x);
    pic_num=1;
    for k = 1:length(x)
        addpoints(h,x(k),y(k));
    
        F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
        if pic_num==1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
        elseif mod(pic_num,3)==1
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
        end
        pic_num = pic_num + 1;
    
        drawnow limitrate
        
    end

     二、沿线条跟踪标记

    Trace Marker Along Line- MATLAB & Simulink

    x = linspace(0,10,100);
    y = sin(x);
    plot(x,y)
    hold on
    p = plot(x(1),y(1),'o','MarkerFaceColor','red');
    hold off
    axis manual
    pic_num=1;
    for k = 2:length(x)
        p.XData = x(k);
        p.YData = y(k);
        
        F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
        if pic_num==1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
        elseif mod(pic_num,3)==1
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
        end
        pic_num = pic_num + 1;
    
        drawnow limitrate
    end
    

    三、沿着线条移动一组对象

    Move Group of Objects Along Line- MATLAB & Simulink

    x = linspace(-6,6,100);
    y = sin(x);
    plot(x,y)
    axis manual
    
    ax = gca;
    h = hgtransform('Parent',ax);
    hold on
    plot(x(1),y(1),'o','Parent',h);
    hold off
    t = text(x(1),y(1),num2str(y(1)),'Parent',h,...
        'VerticalAlignment','top','FontSize',14);
    
    pic_num=1;
    for k = 2:length(x)
        m = makehgtform('translate',x(k)-x(1),y(k)-y(1),0);
        h.Matrix = m;
        t.String = num2str(y(k));
    
         F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
        if pic_num==1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
        elseif mod(pic_num,3)==1
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
        end
        pic_num = pic_num + 1;
    
        drawnow limitrate
        drawnow
    end
    

    四、对图形对象进行动画处理

    Animate Graphics Object- MATLAB & Simulink

    theta = linspace(-pi,pi);
    xc = cos(theta);
    yc = -sin(theta);
    plot(xc,yc);
    axis equal
    xt = [-1 0 1 -1];
    yt = [0 0 0 0];
    hold on
    t = area(xt,yt); % initial flat triangle
    hold off
    
    pic_num=1;
    for j = 1:length(theta)-10
        xt(2) = xc(j); % determine new vertex value
        yt(2) = yc(j);
        t.XData = xt; % update data properties
        t.YData = yt;
        
        F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
        if pic_num==1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
        elseif mod(pic_num,3)==1
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
        end
        pic_num = pic_num + 1;
    
        drawnow limitrate % display updates
    end
    
    
    

    四、绘制三维箭头

    Create Stream Particle Animations- MATLAB & Simulink

    vz = 10; % velocity constant
    a = -32; % acceleration constant         
    t = 0:.1:1;
    z = vz*t + 1/2*a*t.^2;
    
    vx = 2;
    x = vx*t;
    
    vy = 3;
    y = vy*t;
    
    u = gradient(x);
    v = gradient(y);
    w = gradient(z);
    scale = 0;
    
    figure
    quiver3(x,y,z,u,v,w,scale)
    view([70,18])
    
    

    五、创建流粒子动画

    Create Stream Particle Animations- MATLAB & Simulink

    clear all
    load wind
    [sx sy sz] = meshgrid(100,20:2:50,5);
    
    verts = stream3(x,y,z,u,v,w,sx,sy,sz);
    sl = streamline(verts);
    
    
    view(-10.5,18)
    daspect([2 2 0.125])
    axis tight;
    set(gca,'BoxStyle','full','Box','on')
    
    iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.01);
    set(gca,'SortMethod','childorder');
       streamparticles(iverts,15,...
    	'Animate',10,...
    	'ParticleAlignment','on',...
    	'MarkerEdgeColor','none',...
    	'MarkerFaceColor','red',...
    	'Marker','o');

     六、为曲面添加动画效果

    clear all
    theta = 0:pi/40:pi;                   % polar angle
    phi = 0:pi/20:2*pi;                   % azimuth angle
    
    [phi,theta] = meshgrid(phi,theta);    % define the grid
    
    degree = 6;
    order = 1;
    amplitude = 0.5;
    radius = 5;
    
    Ymn = legendre(degree,cos(theta(:,1)));
    Ymn = Ymn(order+1,:)';
    yy = Ymn;
    
    for kk = 2: size(theta,1)
        yy = [yy Ymn];
    end
    
    yy = yy.*cos(order*phi);
    
    order = max(max(abs(yy)));
    rho = radius + amplitude*yy/order;
    
    r = rho.*sin(theta);    % convert to Cartesian coordinates
    x = r.*cos(phi);
    y = r.*sin(phi);
    z = rho.*cos(theta);
    
    figure
    s = surf(x,y,z);
    
    light               % add a light
    lighting gouraud    % preferred lighting for a curved surface
    axis equal off      % set axis equal and remove axis
    view(40,30)         % set viewpoint
    camzoom(1.5)        % zoom into scene
    
    scale = [linspace(0,1,20) linspace(1,-1,40)];    % surface scaling (0 to 1 to -1)
    
    pic_num=1
    for ii = 1:length(scale)
    
        rho = radius + scale(ii)*amplitude*yy/order;
    
        r = rho.*sin(theta);
        x = r.*cos(phi);
        y = r.*sin(phi);
        z = rho.*cos(theta);
    
        s.XData = x;    % replace surface x values
        s.YData = y;    % replace surface y values
        s.ZData = z;    % replace surface z values
    
        pause(0.05)     % pause to control animation speed
    
        F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
        if pic_num==1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
        elseif mod(pic_num,3)==1
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
        end
        pic_num = pic_num + 1;
    
    end

    七、

    展开全文
  • matlab 动态绘图保持figure不变

    千次阅读 2017-02-28 16:21:53
    在使用matlab的时候。 有时数据是一帧一帧数据读取出来的,所以希望能够通过figure来一帧一帧的显示这些数据: close all;clear all;clc fram = 100; x = sin(2*pi*100*(1/1000:1/1000:1024/1000)); y ...

    在使用matlab的时候。


    有时数据是一帧一帧数据读取出来的,所以希望能够通过figure来一帧一帧的显示这些数据:


    close all;clear all;clc
    fram
    = 100;
    x = sin(2*pi*100*(1/1000:1/1000:1024/1000));
    y = cos(2*pi*100*(1/1000:1/1000:1024/1000));


    h1 = figure;
    h2 = figure;


    set(0,'CurrentFigure',h1);
    plot(x,'-r');
    set(0,'CurrentFigure',h2);
    plot(x);

    展开全文
  • matlab绘图代码大全,绘图函数代码资料集合
  • Chap.5 MATLAB 基本绘图功能 5.1 概述及图形窗口的控制 MATLAB不仅具有强大的数值计算功能在数据可视化方面也是独占鳌头 MATLAB通过图形编辑窗口和绘图函数可以方便地绘制二维三维甚至多维图形 把杂乱离散的数据以...
  • 使用matlab进行绘图,各种绘图程序的集合,可以使用。
  • C# 调用MATLAB程序绘图

    2019-04-23 11:42:39
    C#调用MATLAB程序绘图,压缩文件包含.m文件,仅供参考
  • MATLAB高级绘图

    2018-08-07 01:47:33
    该资源为MATLAB的高级绘图,数学建模竞赛高级绘图必备。
  • 400多套matlab绘图配色方案-othercolor配色工具包
  • Matlab 绘制动态

    千次阅读 2021-05-20 10:25:07
    在写论文的过程中,我们经常需要用MATLAB绘制图形。论文中的图形都是图片格式,但是在展示和汇报时,如果将图形做成GIF动图,变量的变化过程就会非常直观,展示效果也会非常好。下面将本人利用MATLAB绘制GIF动图的...
  • matlab三维动态绘图

    千次阅读 2021-05-07 08:48:14
    matlab 动态绘图,MATLAB R2017a下载 64位免费版,matlab三维动态绘图,matlabtimer动态绘图matlab绘制动态三维心形代码(蛋疼的情人节奉献)_计算机软件及应用_IT/计算机_专业资料。Matlab 绘制三维动态心形 It’s OK to...
  • MATLAB高级绘图MATLAB制作立体动态相册(附MATLAB代码).zip
  • matlab自带的annotation函数不能通过指定矩形的x、y坐标来绘图。自己写的这个rectbox函数补充这个功能:rectbox(x y w h)其中xy是左下角点的坐标,wh是宽高。
  • matlab绘图教程-matlab绘图.rar matlab绘图.rar matlab绘图教程
  • MATLAB绘图_matlab绘图_

    2021-09-30 11:37:26
    绘制基本图形
  • 这适用于 MATLAB 的内置线图函数,允许保留这些函数的功能。 代替: 情节(t,x); 一个可以使用: reduce_plot(t, x); 大多数绘图选项,例如多个系列和线属性,也可以传入,这样 'reduce_plot' 在很大程度上...
  • 一段检测鼠标轨迹的matlab代码,希望对你有帮助
  • Matlab动态曲线绘图

    千次阅读 2017-10-09 21:28:53
    动态曲线的绘制 This example shows how to create an animation of two growing lines. Theanimatedlinefunction helps you to optimize line animations. It allows you to add new points t
  • MATLAB绘图教程

    2019-02-19 15:31:20
    详细的matlab绘图功能介绍,包括各种各样的绘图命令设置,可满足大部分matlab绘图需求。
  • 自动化专业综合设计报告 自动化专业综合设计报告 设计题目 利用MATLAB编程实现动态...进一步熟悉Matlab的界面及基本操作 了解并掌握Matlab中一些函数的作用与使用 学会如何利用Matlab实现绘图功能并可使坐标系动态设置
  • Excel-MATLAB-绘图.rar

    2021-05-04 15:00:13
    本资源介绍如何将EXCEL中的记录导入MATLAB并使其可视化。 包含: 1.Excel中的数据在MATLAB界面下显示; 2.导入数据到MATLAB并使其可视化。
  • 当前代码是一个 Matlab 函数,它使用键盘箭头提供沿其 x 轴的绘图的交互式滑动。 该功能非常适合组织可视化和检查具有大量列(向量或矩阵)的数据,因此 2D 和 3D 绘图可以沿其 x 轴以给定的跨度和步长滑动。 用户...
  • MATLAB绘图博客版.pptx

    2020-09-07 21:35:12
    整理资料无意中翻到自己以前上课的时候做的关于MATLAB基础绘图的课堂汇报PPT,当时是先看了台湾大学郭彦甫老师的课程之后的做的课堂汇报。是很久以前的事情了,把PPT贴出来供自己以后需要的时候查阅或者有需要的人...
  • Matlab绘图 Matlab提供了大量的高层绘图函数,图形每一 部分的属性都是按缺省方式设置的,绘图即方便又 高效。 同时,Matlab还提供了底层绘图函数,通过对 图形对象属性的设置与操作,可以对图形的每一部 分进行控制...
  • matlab 动态仿真并进行绘图 颗粒下落凝结过程,带注释 m代码
  • Matlab绘图很详细很全面-Matlab绘图.doc 介绍matlab 绘图
  • matlab 如何画动态图(绘图与旋转视图) 2015年02月04日 10:04:22 宋军帅 阅读数:23758 绘图 效果图: 在matlab中,作图是重要的一部分,那么对于三维的图像,如何将静态的改为动态的呢? 首先,静态图...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,279
精华内容 14,911
关键字:

matlab动态绘图

matlab 订阅