两个同时comet matlab,Matlab讲义 - 图文
4.彗星轨迹图
彗星轨迹图是最简单的动画,可以展现质点运动的过程,其使用格式为: comet(x,y) comet(x,y,p) comet3(x,y,z) comet3(x,y,z,p) 二维平面彗星轨迹,x,y的含义与plot命令中x,y含义相同,绘出的轨迹慧长为p*length(x),0
?n?1?设空气阻力与抛体运动速度的n次方成正比,F??bvv,b为正值常量.其运动微分方程为
????b(x?2?y?2)(n?1)2x?,my????b(x?2?y?2)(n?1)2y? mx令
?,y(3)?y,y(4)?y?,则化为 y(1)?x,y(2)?xby(2)[y(2)2?y(4)2](n?1)2 mb?(4)??9.8?y(4)[y(2)2?y(4)2](n?1)2 ?(3)?y(4)yym?(2)???(1)?y(2),yy编写微分方程函数文件znxpfun.m如图39;再编写解微分方程的主程序znxp.m如图41;运行结果如图40.
图39 图40
图41
图42
注意例子中第4,5,6行中的命令.comet语句在例6图26中就已经用过了,从现在的图上看不出动态效果,
13
读者自己编程运行后就可以看到了.
把例9图35中第7行plot3改为comet3(x,y,z,p)就是三维彗星轨迹图了,如图42.程序中解微分方程的步长由0.1改为0.002,是为了使彗星轨迹图运行的速度减慢.由于不同计算机计算速度不同,可调整步长使图形运行速度适当.
§3 一维非线性振动
一、一维振动
一维振动一般微分方程形式为
???FR(x?)?F(x)?F0cos?t (3.1) mx二、一维线性振动
在恢复力和阻力满足线性关系条件下,一维线性振动的微分方程为
????x??kx?F0cos?t mx引入2???m,?0?km,f?F0m,则
2???2?x???02x?fcos?t (3.2) x下面用数值计算的方法对一维线性振动做一点讨论.主要是通过x?t图和x?运动情况.
依据(3.2)式编写微分方程函数文件ywzdfun.m如图43;再编写解微分方程的主程序ywdz.m如图44.在主程序中改变参量,⑴令b=0,w0=1,f=0,w=2;运行,得简谐振动的x?t图和相图,如图45和fl.46所示.⑵令b=0.1,w0=1,f=0,w=2;运行,得弱阻尼振动的x?t图和相图,如图47和fl.48所示.⑶令b=0.1,w0=1,f=0.5,w=2;运行,得受迫振动的x?t图和相图,如图49和fl.50所示;再令w=0.99;运行,得共振状态的x?t图和相图,如图51和fl.52所示.
?图(即相图)x,去了解质点的
图43 图44
图45 图46 图47 图48
图49 图50 图51 图52
读者还可以继续改变参量,比如对阻尼振动情况,改变b的值就可以得到临界阻尼和过阻尼相应的图形.
14
三、用数值计算和相图研究大幅度单摆的运动
本节研究最大摆角不受限制的单摆的运动, 单摆由质点和刚性轻杆构成,它的运动微分方程为
????2sin??0 (3.3) ?0这个非线性方程是可积的,它的解可用第一类椭圆积分表示;现在,用数值计算和相图方法研究它.
依据(3.3)式编写微分方程函数文件djdbfun.m如图53;再编写解微分方程并画x?t图的主程序djdb1.m如图54;运行,计算结果如图55.
图53 图54
图55 图56
图57 图58
编写解微分方程并画相图的主程序djdb2.m如图56;运行,计算结果如图57.
最后,编写解微分方程,作快速傅里叶变换并画功率谱的主程序djdb3.m如图58;运行,计算结果如图59. 由图55可见,振幅(最大摆角)越大,曲线与简谐振动正弦曲线的差别越显著.同时,周期随振幅增加而变大,当振幅接近?时,周期迅速增大(实际上,振幅??时,周期??);图60为由数值计算画出的,振幅不太大时的“周期-振幅”曲线.
由图57可见,相轨迹分为两类,它们之间存在相应于总能量E?mgl的
分界线(以悬点为重力势能零点);分界线之内的相轨迹是围绕中心的闭合曲线,相应于周期性的往复摆动,总能量满足0?E?mgl;分界线之外的相轨迹是
不闭合的,它代表另一种周期运动,即向一个方向的转动,相应总能量满足
E?mgl.
对应于振幅较大(即总能量较大)的往复摆动,谐频的影响亦不容忽视,它
的相轨迹虽然闭合,但已不是椭圆,与简谐振动的相图是不同的. 图59
15
图59为对数值解进行快速傅里叶变换(fft)得到的功率谱图(纵轴为对数坐标),清晰可见相应?的基频谱线,相应3?和5?的谐频谱线;隐约可见相应7?的谐频谱线.由于谐频振动的振幅随其级数的增加而迅速减少,所以更高倍的谐频谱线无法显示.
四、自激振动 范·德·波尔方程
????(x02?x2)x???02x?0 (3.4) 图60 x依据(3.4)式编写微分方程函数文件zjzdfun.m如图61;再编写解微分方程并画相图的主程序zjzd.m如图62,参量取值为??0.3,x0?1,?0?1;运行,计算结果如图63?65.
图61 图62
图63 图64 图65
§4 能导致混沌的倒摆受迫振动
一、运动微分方程的建立
实验装置如图66,图67为示意原理图图67中,R为可绕O轴转动的均匀铝制圆盘,m为与盘固定的配重,并用m处指针标志盘的位置,总体上看是一个m在O轴上方的摆,故称为倒摆.螺旋形弹簧提供弹性回复力;D为电磁铁,提供线性阻尼;可调速电机E带动轮B旋转,轮B又经连杆L驱动弹簧A端,提供驱动力.
图66 图67
如图67,建立直角坐标系
Oxyz,以
?描述系统位置.系统所受对
z轴的力矩有: 重力矩
?,螺旋形弹簧线性恢复力矩?c?rmgsin??asin?,阻力矩?b?矩M,由于卷弹簧
A端被驱动而受周期性驱动力
cos?t.无驱动时系统有三个平衡位置,??0为不稳定平衡位置,其两侧还有O1和O2两个稳定平衡位置.
系统对z轴的转动惯量为I,由对z轴的角动量定理,得
???asin??b???c??Mcos?t I?
16
两个同时comet matlab,Matlab讲义 - 图文相关推荐
- 两个同时comet matlab,matlab 三维绘制
1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...
- matlab组织的培训讲义,matlab培训讲义.doc
matlab培训讲义.doc x-0.6*sin(x)-0.3*cos(y) );f{2}=inline( y-0.6*cos(x)+0.3*sin(y) );holdonh=arrayfun(@(i ...
- (顶刊复现)配电网两阶段鲁棒故障恢复(matlab实现)
参考文献: X. Chen, W. Wu and B. Zhang, "Robust Restoration Method for Active Distribution Networks, ...
- matlab 圆角,rectangle函数MATLAB matlab中rectangle画圆角矩形
MATLAB如何画长方形,怎么用rectangle函数 rectangle函数用于绘制矩形图形.例如>>rectangle('Position',[0 0 2 4],'Curvature' ...
- wav数据提取 matlab,matlab 读取处理 wav 文件
最近工作需要,要对wav文件中存储的声音信息进行分析处理.所以花了些时间收集了各种数学软件中处理wav文件的方法. Matlab Matlab 是最方便的.甚至于不用写任何代码就能读取wav文件(我用 ...
- 矩阵实验室matlab下载,matlab matlab(矩阵实验室) v6.5.0迷你版
matlab matlab(矩阵实验室) v6.5.0迷你版 matlab(矩阵实验室)使用方法很简单,解压后运行:binmatlab.bat即可运行.matlab(矩阵实验室)目录列表.MINI版m ...
- matlab 样本均值,Matlab | Matlab从入门到放弃(4)——样本均值
Matlab | Matlab从入门到放弃(4)--样本均值 Matlab | Matlab从入门到放弃(4)--样本均值 博主github:https://github.com/MichaelBee ...
- matlab 如何捕捉错误,【matlab|matlab运行错误捕捉方法】
『傻大方知识库摘要_matlab|matlab运行错误捕捉方法』需安装VC2005运行库.Matlab错误提示往往以DOS窗口显示,错误提示经常一闪而过,无法查看具体错误信息,可以按照如下操作进行查看 ...
- [matlab]matlab cftool点了没反应
[matlab]matlab cftool点了没反应 命名重复 首先排除是不是在同目录文件下新建了一个cftool.m文件,如果是的话将其改名,自定义为其他名字. 这就和写代码时同名变量覆盖一样,ma ...
- [C#] 调用MATLAB(Matlab COM接口) (一)调用函数
目录 说明 一.Visual Studio 程序 1. Vs 新建项目 2. 编写 C# 程序 二.matlab.Execute() 1. MATLAB函数的输入输出 2. MATLAB Comman ...
最新文章
- shared_ptr 的使用及注意事项
- 开发的AI程序员“抄”代码,被骂惨的GitHub到底冤不冤?
- Java集合学习_Java集合学习(适合新手)
- 用OpenCV实现图像的水平镜像(翻转)变换和竖直镜像(翻转)变换(垂直镜像变换)的源码
- OpenCV学习笔记(一)(二)(三)(四)(五)
- 年底了,如何准备 Java 初级和高级的技术面试?
- JQuery中html、append、appendTo、after、insertAfter系列方法
- 数据库操作技术--Spring jdbcTemplate
- Scala集合实现WordCount单词统计代码
- poxtfix+dovecot+saslauthd+courier-authlib +mysql + extmail 完整虚拟邮箱系统部署
- mysqld命令相关介绍
- 图像目标检测(Object Detection)原理与实现(一)
- 《精解Windows8》——1.2 告别开始按钮进入“开始”屏幕时代
- Lcs客户端配置和测试
- 执行mvn 报错 source-1.5 中不支持 diamond运算符
- 树莓派vsftpd 425 Failed to establish connection
- 关于ZETag云标签你了解多少?
- 2023年全国最新会计专业技术资格精选真题及答案9
- python猜年龄代码_Python实现猜年龄游戏代码实例
- 怎么选择.net培训机构
热门文章
- 腾讯数字生态大会倒计时4天:请收下这份最全的TEG参会攻略~
- ElasticSearch查询 基础篇
- python 数据库
- k8s 基础介绍及概念
- Spark _20 _Spark_Shuffle调优
- SparkShell中提交任务java.net.ConnectException: Call From henu4/192.168.248.244 to henu2:9000 failed on co
- C++ 循环链表练习题 报数删除【非常没有条理】
- SpringBoot @ConfigurationProperties详解
- Libra教程之:执行Transactions
- Python做数据分析时中文乱码?matplotlib出现中文乱码3行代码解决