• 大小: 4KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-09-12
  • 语言: Matlab
  • 标签: matlab  

资源简介

单摆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

评论

共有 条评论