当前位置: 首页 > news >正文

使用matlab产生二维动态曲线视频文件具体举例

使用matlab产生二维动态曲线视频文件举例

在进行有些函数变化过程时候,需要用到直观的动态显示,本博文将举例说明利用Matlab编程进行二维动态曲线的生成视频文件。

一、问题描述

利用matlab编程实现 y 1 = s i n ( t ) , y 2 = c o s ( t ) , y 3 = s i n ( t ) ∗ c o s ( t ) y1=sin(t),y2=cos(t),y3=sin(t)*cos(t) y1=sin(t),y2=cos(t),y3=sin(t)cos(t),其中 t ∈ [ 0 , 2 π ] t \in [0,2\pi ] t[0,2π],生成 y 1 , y 2 , y 3 y1,y2,y3 y1,y2,y3随时间 t t t变化的动态曲线视频文件。

二、编程

具体程序和步骤见如下程序:

clc
clear all
close all
%% 1. 产生数据
t=0:.01:2*pi;
y1=sin(t)+1;
y2=cos(t)+2;
y3=sin(t).*cos(t)+3;
%% 2.打开图,并创建一个坐标系,并绘制数据,生成视频figure
axes;
%
% 2.1 步骤1: 创建并打开视频对象
my_video = VideoWriter('moiveplot0.avi');
open(my_video);
%
% 2.2 循环数据,并生成视频
for i=1:length(t)% (1)绘制数据h(1)=plot(t(i),y1(i),'o','markerfacecolor','b','markersize',15);h(2)=plot(t(i),y2(i),'o','markerfacecolor','r','markersize',10);h(3)=plot(t(i),y3(i),'o','markerfacecolor','g','markersize',5);hold onplot(t(1:i),y1(1:i),'b','lineWidth',4)plot(t(1:i),y2(1:i),'r','lineWidth',2.5)plot(t(1:i),y3(1:i),'g','lineWidth',1.5)set(gca,'xlim',[0 2*pi],'ylim',[-2 5])%  (2)获取当前帧currFrame = getframe;%  (3)将当前帧写入视频对象中writeVideo(my_video,currFrame);%   (4) 删除当前绘制的帧delete(h)
end
%
%% 3. 关闭和保存视频对象
close(my_video);

三、 运行结果

当编程完毕,点击matlab的运行按键,就可以进行动态曲线视频的生成,其中中间图像如图1所示。所生成的视频文件,如本博文附件。

图1 动态二维曲线生成(中间过程)
图1 动态二维曲线生成(中间过程)

四、注意事项

特别注意
当重新运行时候,要避免刚才生成的视频文件,不要和新的文件名重名;否则,运行到后面,matlab会报错,而无法保存所生成的视频!

http://www.lryc.cn/news/175471.html

相关文章:

  • Selenium自动化测试框架常见异常分析及解决方法
  • [TI] [Textual Inversion] An image is worth an word
  • remote: The project you were looking for could not be found
  • https跳过SSL认证时是不是就是不加密的,相当于http?
  • linux下链接
  • OpenCV项目开发实战--主成分分析(PCA)的特征脸应用(附C++/Python实现源码)
  • 多层感知机——MLP
  • HttpClientr入门
  • 网关-开放API接口签名验证方案
  • Linux知识点 -- 网络基础 -- 传输层
  • 计算机视觉与深度学习-经典网络解析-AlexNet-[北邮鲁鹏]
  • Django学习笔记-实现联机对战(下)
  • 一文了解什么SEO
  • SpringBoot+Jpa+Thymeleaf实现增删改查
  • 最快的包管理器--pnpm创建vue项目完整步骤
  • 算法通过村第九关-二分(中序遍历)黄金笔记|二叉搜索树
  • Mock.js之Element-ui搭建首页导航与左侧菜单
  • robotframework在Jenkins执行踩坑
  • 关于ElementUI之首页导航与左侧菜单实现
  • 基于springboot小区疫情防控系统
  • 【k8s】YAML语言基础
  • AI时代的中国困境: ChatGPT为什么难以复制
  • 如何使用Docker安装最新版本的Redis并设置远程访问(含免费可视化工具)
  • 怒刷LeetCode的第8天(Java版)
  • Vue Hooks 让Vue开发更简单与高效
  • Go编程规范
  • premiere 新建 视频导入 视频拼接 视频截取 多余视频删除
  • 笔记01:第一行Python
  • 资产连接支持会话分屏,新增Passkey用户认证方式,支持查看在线用户信息,JumpServer堡垒机v3.7.0发布
  • uniapp项目实践总结(二十二)分包优化和游客模式