资源简介
单摆matlab仿真,单摆是能够产生往复摆动的一种装置,将无重细杆或不可伸长的细柔绳一端悬于重力场内一定点,另一端固结一个重小球,就构成单摆。使用matlab和ode函数对于单摆运动分析。
代码片段和文件信息
close all
clear all
clc
%% 输入参数
syms y(t) x(t) % 创建符号变量/函数
a = input(‘请输入纬度=‘);
x0 = input(‘请输入x方向初始坐标x0=‘);
y0 = input(‘请输入y方向初始坐标y0=‘);
u0 = input(‘请输入x方向初始速度u0=‘);
v0 = input(‘请输入y方向初始速度v0=‘);
T = input(‘请输入总时间T=‘);
%% 常数设置
tPause = 0; % 绘图间隔时间
c = a*pi/180; % 弧度制转换
w = pi/50; % 地球自转角速度,实际约为2pi/86400,为效果明显,暂设为2pi/100
l = 67; % 傅科摆摆长
g = 9.8; % 重力加速度
%% 求解微分方程组
eqns = [diff(xt2)-2*w*diff(yt)*sin(c)+x*g/l==0 diff(yt2)+2*w*diff(xt)*sin(c)+y*g/l==0];
Dx = diff(xt);
Dy = diff(yt);
cond = [x(0) == x0y(0) == y0 Dx(0) == u0 Dy(0) == v0];
[x y] = dsolve(eqnscond);
t = 0:0.1:T; % 时间
x = eval(x); % 运行符号解,得到解向量
y = eval(y); % 同上
%% 可视化
set(gcf‘color‘[1 1 1]);
axis([-0.6 0.6 -1 0.2]);
axis off
axis equal
z = -(l^2-x.^2-y.^2).^0.5;
% 竖轴
verticalaxis = line([00][00][0min(z)]‘color‘‘k‘‘linestyle‘‘-‘‘linewidth‘1.5);
% 摆线初始化
pendulumline = line([0x(1)][0y(1)][0z(1)]‘color‘‘y‘‘linestyle‘‘-‘‘linewidth‘2);
% 摆锤初始化
pendulumbob = line(x(1)y(1)z(1)‘color‘‘r‘‘marker‘‘.‘‘markersize‘ 25);
% 摆锤起点
pendulumtra = line([x(1)x(1)][y(1)y(1)][z(1)z(1)]);
axis square
axis([min(x) max(x) min(y) max(y) min(z) 0])
hold on
grid on
for i = 1:size(t2)
% 更新摆线位置
set(pendulumline‘xdata‘[0x(i)]‘ydata‘[0y(i)]‘zdata‘[0z(i)]);
% 更新摆锤位置
set(pendulumbob‘xdata‘x(i)‘ydata‘y(i)‘zdata‘z(i));
% 更新轨迹
set(pendulumtra‘xdata‘x(1:i)‘ydata‘y(1:i)‘zdata‘z(1:i))
% 绘制
drawnow;
% 暂停
pause(tPause);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-24 15:00 2_3_foucaultpendulum\
文件 1965 2018-02-24 14:56 2_3_foucaultpendulum\dsolve_pendulum.m
目录 0 2018-02-24 21:06 __MACOSX\
目录 0 2018-02-24 21:06 __MACOSX\2_3_foucaultpendulum\
文件 210 2018-02-24 14:56 __MACOSX\2_3_foucaultpendulum\._dsolve_pendulum.m
文件 162 2018-02-24 14:29 2_3_foucaultpendulum\myODE.m
文件 210 2018-02-24 14:29 __MACOSX\2_3_foucaultpendulum\._myODE.m
文件 1857 2018-02-24 14:59 2_3_foucaultpendulum\ode45_pendulum.m
文件 120 2018-02-24 14:59 __MACOSX\2_3_foucaultpendulum\._ode45_pendulum.m
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论