精华内容
下载资源
问答
  • Matlab动态曲线绘图

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

    Line Animations

    动态曲线的绘制

    This example shows how to create an animation of two growing lines. The animatedline function helps you to optimize line animations. It allows you to add new points to a line without redefining existing points.

    接下的例子将展示如何生成有关两根动态的曲线动画。

    1、使用了animateline 函数帮助我们生成动态曲线。

    2、该例子可以使我们在不用修改原有的数据基础上添加新的数据。

    Contents

    内容

    Create Lines and Add Points

    Create two animated lines of different colors. Then, add points to the lines in a loop. Set the axis limits before the loop so that to avoid recalculating the limits each time through the loop. Use a docid:matlab_ref.f56-719157 or drawnow limitrate command to display the updates on the screen after adding the new points.

    生成两条不同颜色的曲线。在这之后,将点的运动添加至线段的循环当中。为了避免在循环中重复计算运算还有展示区间需要先设置图像的大小。

    添加新的点后可以使用drawnow limitrate 命令展示数据的更新。

    a1 = animatedline('Color',[0 .7 .7]);
    a2 = animatedline('Color',[0 .5 .5]);%区分颜色
    axis([0 20 -1 1])%设置图像区间,由图可见0-20位横坐标,-1-1为纵坐标
    x = linspace(0,20,10000);%x的区间设定
    %y = linspace(x1,x2,n) generates n points. The spacing between the points is (x2-x1)/(n-1).X点的步进
    for k = 1:length(x);
        % first line
        xk = x(k);%更新x坐标
        ysin = sin(xk);
        addpoints(a1,xk,ysin);%点的添加
    
        % second line
        ycos = cos(xk);
        addpoints(a2,xk,ycos);
    
        % update screen
        drawnow limitrate %命令
    end
    

    The animation shows two lines that grow as they accumulate data.

    Query Points of Line

    Query the points of the first animated line.

    [x,y] = getpoints(a1);
    

    x and y are vectors that contain the values defining the points of the sine wave.

    展开全文
  • 展开全部可以用Matlab制作gif来实现,下面是一个示例代码:%适用于在一幅图中表现给e69da5e887aa62616964757a686964616f31333339666662图过程,即图形的增长过程%主要用来绘制三维的欧拉公式clc;clear;clf;closeall;...

    展开全部

    可以用Matlab制作gif来实现,下面是一个示例代码:%适用于在一幅图中表现给e69da5e887aa62616964757a686964616f31333339666662图过程,即图形的增长过程

    %主要用来绘制三维的欧拉公式

    clc;clear;clf;close all;

    %获得数据

    tmax = 4*pi;

    t = 0:0.01:tmax;

    tmp = exp(1i*t);

    x = real(tmp);

    y = imag(tmp);

    [a,b] = size(x);

    y1 = zeros(a,b) ;

    x1 = zeros(a,b);

    %确定首幅图的样式,并指定标题,坐标轴标题等样式

    plot3(x(1,1),t(1,1),y(1,1),'black');

    hold on

    plot3(x(1,1),t(1,1),y1(1,1),'blue');

    plot3(x1(1,1),t(1,1),y(1,1),'r');

    axis([-1,1,0,tmax,-1,1])

    str = ['$${e^{it}} = \cos t + i\sin t $$',char(13,10)','created

    by Lijunjie!'];

    title({str},'Interpreter','latex')

    xlabel('实轴');

    ylabel('时间轴');

    zlabel('虚轴');

    grid on;

    set(gcf,'Position',[0,0,600,600], 'color','w');

    set(gca,'ydir','reverse')   %反转坐标轴

    %确保图像在采集的过程中包括坐标轴及标题

    ax = gca;

    ax.Units = 'pixels';

    pos = ax.Position;

    ti = ax.TightInset;

    rect = [-ti(1), -ti(2), pos(3)+ti(1)+ti(3), pos(4)+ti(2)+ti(4)];

    %在指定的范围内获得图像文件

    frame = getframe(ax,rect);

    im=frame2im(frame);

    %创建gif文件,指定其样式,写入首帧图像

    k = 1;

    %用胞元存储采集到的图像,方便后面反转图像用

    [I{k},map{k}]=rgb2ind(im,256);

    imwrite(I{k},map{k,1},'mygif.gif','gif','Loopcount',Inf,'DelayTime',0.2);

    k = k + 1;

    %画图并采集到gif中

    steptmp = 20;   %每幅图要画的点数

    i = steptmp;

    while i 

    x_1 = x(1,(i-steptmp+1):i+1);

    t_1 = t(1,(i-steptmp+1):i+1);

    y_1 = y(1,(i-steptmp+1):i+1);

    y1_1 = y1(1,(i-steptmp+1):i+1);

    x1_1 = x1(1,(i-steptmp+1):i+1);

    plot3(x_1,t_1,y_1,'black');

    hold on

    plot3(x_1,t_1,y1_1,'blue');

    plot3(x1_1,t_1,y_1,'r');

    %下面是制作gif的主要代码,除了调节间隔时间外,一般不需要改动

    ax = gca;

    ax.Units = 'pixels';

    pos = ax.Position;

    ti = ax.TightInset;

    rect = [-ti(1), -ti(2), pos(3)+ti(1)+ti(3), pos(4)+ti(2)+ti(4)];

    frame = getframe(ax,rect);

    im=frame2im(frame);

    [I{k},map{k}]=rgb2ind(im,256);

    %写入模式为“追加”模式

    imwrite(I{k},map{k},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);

    k = k + 1;

    i = i + steptmp;

    end

    %将图像按相反的顺序再写入到gif中

    for i = (k-1):-1:1

    imwrite(I{i},map{i},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);

    end

    运行完毕后,在Matlab当前的路径下,即可找到一个gif文件:

    65487ea56bf798703282a9f59a89f925.gif

    展开全文
  • Matlab绘制动态曲线

    万次阅读 2013-04-19 11:33:19
    j=1; for i=1:max %max为最大时间  hold on;  if(i==t(j)) %t为时间向量  plot(x(j),y(j),'--ro');  j = j+1;  end  pause(0.1);%暂停0.1s end

    j=1;

    for i=1:max %max为最大时间

         hold on;

        if(i==t(j)) %t为时间向量

              plot(x(j),y(j),'--ro');

              j = j+1;

        end

        pause(0.1);%暂停0.1s

    end

    展开全文
  • MFC动态曲线绘制,效果类似matlab

    热门讨论 2009-09-08 08:27:26
    使用MFC进行动态曲线绘制,效果与MatLab相似
  • MATLAB GUI实现动态画图曲线的源程序代码
  • MATLAB GUI实现动态画图曲线的源程序代码.rar
  • Matlab中一个图像框中多条动态曲线的更新前言1、了解函数2、上代码3、运行结果: 前言 Matlab中通过refeshdata()这个函数,可以更新各种数据,这个结合plot()函数可以实现动态的效果 1、了解函数 doc refresh...
     
    



    前言

    Matlab中通过refeshdata()这个函数,可以更新各种数据,这个结合plot()函数可以实现动态的效果

    1、了解函数

    doc refreshdata %查看更新函数的详细信息
    doc plot 		%查看plot相关属性
    doc YDataSourse %需要用set设置plot的数据源
    doc legend 		%图例显示,因为是多图像显示,如果需打印,可以设置曲线为不同的形状,--**
    

    2、上代码

    close
    clc;
    data1 = [1 2 3 4 5 6];
    data2 = [1 4 9 16 25 36];
    
    % 建立图表
    index1 = plot(data1,'blue');        %1条曲线的句柄,曲线为蓝色
    set(index1,'YDataSource','data1');  % 设置y轴数据来源 data1
    grid on     % 显示网格      
    hold on     % 为了让两条图线在一个图中显示
    
    index2 = plot(data2,'red');         %2条曲线的句柄,曲线为红色
    set(index2,'YDataSource','data2');  % 设置y轴数据来源 data2
    %grid on     % 显示网格
    
    legend('iq ref','iq sample');   % 显示图例
    a = input('stop and show :');   % 暂停,随便在命令窗口输入个什么,开始更新数据
    
    fprintf('数据更新开始\n');
    % refreshdata  by 300ms/time rate 
    for i = 1:6
    data1(i) = data1(i)+i;  
    data2(i) = data2(i)+i;
    pause(0.3);     % 按照0.3秒间隔更新一次
    %更新数据
    refreshdata(index1);  
    refreshdata(index2);
    end
    fprintf('数据更新完毕\n');
    

    3、运行结果:

    运行到input()这一句时,数据显示为:
    在这里插入图片描述

    在这里插入图片描述
    输入1(随便输入什么都行),运行前后结果为:
    输入前:
    在这里插入图片描述
    输入后:
    在这里插入图片描述

    根据结果,说明数据更新了。

    4、一幅图中多个子窗口的实现

    clc;  
    close;%关闭窗口
    global data1 data2 data3 %定义数据,数据放在了updata_data 函数中
    global index1 index2 index3 index4
    
    % 建立图表窗口
    subplot(3,1,1);
    index1 = plot(data1,'blue','marker','*');        % 第一条曲线的句柄,曲线为蓝色
    set(index1,'YDataSource','data1');  % 设置y轴数据来源 data1
    set(gca,'xlim',[1 7],'ylim',[0 50]);
    grid on     % 显示网格      
    hold on     % 为了让两条图线在一个图中显示
    
    index2 = plot(data2,'red');         %2条曲线的句柄,曲线为红色
    set(index2,'YDataSource','data2');  % 设置y轴数据来源 data2
    
    legend('data1 ',' data2');   % 显示图例
    hold off    % 为了让两条图线在一个图中显示
    
    
    subplot(3,1,2)
    index3 = plot(data2,'green');
    set(index3,'YDataSource','data2');  % 设置y轴数据来源 data2
    set(gca,'xlim',[1 7],'ylim',[0 50]);
    grid on
    
    subplot(3,1,3)
    index4 = plot(data3,'black');
    set(index4,'YDataSource','data3');  % 设置y轴数据来源 data2
    set(gca,'xlim',[1 7],'ylim',[1 10]);
    grid on
    
    %更新
    update_data;
    
    
    %更新数据 这个也可以单独写进一个m文件中
    function update_data()
    	global data1 data2 data3 
    	global index1 index2 index3 index4
    	
    	data1 = [1 2 3 4 5 6];
    	data2 = [1 4 9 16 25 36];
    	data3 = [2 2 2 2 2 2];
    	for j = 1:3 %刷新3次,看是否可以正常刷新
    	    a = input('stop and show input 1 to continue:');   % 暂停,随便在命令窗口输入个什么,开始更新数据
    	    switch a
    	        case 0 
    	            fprintf('exit')
    	            break;
    	        case 1
    	            fprintf('数据更新开始\n');
    	            % refreshdata  by 300ms/time rate 
    	            for i = 1:6
    	                data1(i) = data1(i)+1;  
    	                data2(i) = data2(i)+1;
    	                data3(i) = data3(i)+1;
    	                pause(0.3);     % 按照0.3秒间隔更新一次
    	                %更新数据
    	                refreshdata(index1);  
    	                refreshdata(index2);
    	                refreshdata(index3);
    	                refreshdata(index4);
    	            end
    	            fprintf('数据更新完毕\n');
    	        otherwise
    	            fprintf('input number 0 (exit)or 1(run again)');
    	    end
    	    
    	end
    
    end
    
    

    运行代码:
    初始图形
    在matlab命令行输入 1,图形中数据开始更新,如下
    在这里插入图片描述
    下面是全部更新完后的效果:
    更新结束后
    经过多次修改、测试,功能准确可靠,把demo代码保存下来,以后需要时回顾。

    展开全文
  • matlab开发-医学气候分类中基于预测的动态曲线模型的机器人停止功能。我们将分类器的梯度信息和概率分数结合起来构造ESF。
  • 在使用MATLAB中通常需要动态显示图片或者曲线,而当图片数据量较大或者曲线点很多时,若不采用合适的方式调用MATLAB图形系统,将会导致MATLAB图形渲染速度变得比较慢,不能以、平滑或较高的帧率绘出我们想要的结果。...
  • matlab实时读取串口数据并动态显示曲线

    万次阅读 多人点赞 2016-08-29 17:08:00
    最近为了方便监控IMU的地磁传感器(HMC5983)数据,用matlab的GUI做了一个简易的串口助手,可实时显示地磁传感器X Y Z三轴的数据,并动态的显示曲线图。1. 串口助手的GUI图如下:2. 连接串口后的数据图如下(绘图时...
  • 先看PI参数作用效果图:0 系统传递函数我们以一个二阶系统为例,传递函数为在MATLAB中用传递函数创建二阶系统 G = tf(2,[6 5 1])运行得到 G = 2 --------------- 6 s^2 + 5 s + 1 1 比例控制比例控制(P)就是...
  • 这是一个使用VC6.0调用matlab动态三维曲线旋转显示的程序,其中设计的包括:VC6.0,matcom4.5,matlab,三维旋转实现采用的是改变view视角的方法。 希望能够对有相关需求的朋友有一点点帮助!
  • % matlab动态心形曲线(AVI视频版本) clc;clear all; a=0; x=-2:0.01:2; writerObj = VideoWriter('心形图.avi'); writerObj.FrameRate = 20; open(writerObj); figure(1); set(gcf,'position',[0,0,800,600],'...
  • 此代码可用于绘制3D的心形,可以演示给自己的女朋友看哦~
  • 利用VideoWriter进行动态曲线视频制作 1. 一些自己的想法 在上次的培训中心,我已经利用数值计算的方法,将追击问题的近似解求解了出来,其具体代码如下: clear all; dt = 0.0001; i = 1; x_w(i) = 0; y_w(i) = ...
  • mnist模型由Matlab绘制Accuracy和Loss曲线,并生成gif动态
  • 五分钟画一条动态心形曲线~​mp.weixin.qq.com先上效果使用Python绘制一条动态的心形曲https://www.zhihu.com/video/12280010884537671681.绘制一条心形曲线最近看到个视频,打算绘制个心型动态曲线。1.1 Matla...
  • 昨天发表了一篇用python教你画心形图表白的文章: ...虏获芳心matlab动态心形曲线matlab动态心形曲线图(基础版)matlab画3D心形图备注 matlab动态心形曲线图 利用数学上的格式f(x)=x^2^/^3+e/3*(π-x^2
  • 摘要:质子交换膜燃料电池(PEMFC)是一个涉及多个学科领域的复杂系统,其输出特性...建立了考虑双电层电容作用的电压动态模型,并在Matlab/Simulink平台上进行仿真。利用实验室自制风冷自增湿DXFC-200质子交换膜燃料电池...
  • 质点动画:最简单的动画产生方式,产生一个顺着曲线轨迹运动的质点来操作。电影动画:首先保存一系列的图形,然后按照一定的顺序像电影一样的播放。程序动画:在图形窗口中按照一定的算法连续擦除和重绘图形对象。...
  • 一小组课题绘制动态函数曲线;三设计原理 matlab是矩阵实验室的简称用于算法开发数据可视化数据分析以及数值计算的高级技术计算语言和交互式环境通过matlab里几个命令函数的调用很轻易的在实际语言与数字信号的理论...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 240
精华内容 96
关键字:

matlab动态曲线

matlab 订阅