精华内容
下载资源
问答
  • Matlab动画模拟太阳系行星运动figure('name','星系演示');%设置标题名字pausetime=.02;%设置暂停时间set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]);set(gcf,'doublebuffer','on') %消除抖动xlabel('x轴...

    Matlab动画模拟太阳系行星运动

    figure('name','星系演示');%设置标题名字

    pausetime=.02;%设置暂停时间

    set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]);

    set(gcf,'doublebuffer','on') %消除抖动

    xlabel('x轴'),ylabel('y轴'),zlabel('z轴');

    axis equal;

    grid on;

    view([3 5 2]);

    hold on

    a=[8.5 12.5 20 30 50 60 80 100 90];b=[8 12 18 26 45 55 70 90 30];

    omga=[4 1.25 1 0.5 0.1 0.05 0.25 0.125 1];r=[0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.35];%长轴,短轴,角速度,球体半径

    c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8;

    aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g];%每个轨道平面倾斜角度,偏移设置

    %colo={'y','m','b','m','r','c','b','b'};

    [X,Y,Z]=sphere(40);

    surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳

    light ('position',[1 0 2],'style','infinite')

    lighting phong

    material shiny

    t=0:0.01*pi:50*pi;

    t';

    num=length(a);

    for n=1:num

    x(:,n)=a(n)*cos(omga(n)*t)+c(n);

    y(:,n)=b(n)*sin(omga(n)*t);

    z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置

    xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1]; %每个轨道平面倾斜计算

    xyz(:,:)=[x(:,n) y(:,n) z(:,n)]*xuanz(:,:);

    x(:,n)=xyz(:,1);

    y(:,n)=xyz(:,2);

    z(:,n)=xyz(:,3); %计算轨道平面倾斜后的轨道位置

    p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));shading interp %画出每个行星

    plot3(x(:,n),y(:,n),z(:,n),'-k');%画出所有轨迹线

    end

    set(p(1),'facecolor','y');

    set(p(2),'facecolor','m');set(p(3),'facecolor','b');set(p(4),'facecolor','m');

    set(p(5),'facecolor','r');set(p(6),'facecolor','c');set(p(7),'facecolor','b');set(p(8),'facecolor','b');set(p(9),'facecolor','r');%设置所有行星的颜色

    for m=1:5000 %旋转计算

    for n=1:length(a)

    set(p(n),'xdata',r(n)*X+x(m,n),'ydata',r(n)*Y+y(m,n),'zdata',r(n)*Z+z(m,n)); %所有行星的即时位置设置

    end

    pause(pausetime); %暂停一会

    drawnow

    end

    下面是更加复杂的动画模拟

    figure('name','星系演示');%设置标题名字

    pausetime=.01;%设置暂停时间

    set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]);

    set(gcf,'doublebuffer','on') %消除抖动

    xlabel('x轴'),ylabel('y轴'),zlabel('z轴');

    axis equal;

    grid on;

    vi

    展开全文
  • 使用 ode45 解决三体引力问题。
  • Matlab动画模拟太阳系行星运动》由会员分享,可在线阅读,更多相关《Matlab动画模拟太阳系行星运动(11页珍藏版)》请在人人文库网上搜索。1、Matlab动画模拟太阳系行星运动figure(name,星系演示);%设置标题名字...

    《Matlab动画模拟太阳系行星运动》由会员分享,可在线阅读,更多相关《Matlab动画模拟太阳系行星运动(11页珍藏版)》请在人人文库网上搜索。

    1、Matlab动画模拟太阳系行星运动figure(name,星系演示);%设置标题名字pausetime=.02;%设置暂停时间set(gca,xlim,-50 50,ylim,-50 30,zlim,-50 50);set(gcf,doublebuffer,on) %消除抖动xlabel(x轴),ylabel(y轴),zlabel(z轴);axis equal;grid on;view(3 5 2);hold ona=8.5 12.5 20 30 50 60 80 100 90;b=8 12 18 26 45 55 70 90 30;omga=4 1.25 1 0.5 0.1 0.05 0.2。

    2、5 0.125 1;r=0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.35;%长轴,短轴,角速度,球体半径c=sqrt(a.2-b.2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8;aby=h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g;%每个轨道平面倾斜角度,偏移设置%colo=y,m,b,m,r,c,b,b;X,Y,Z=sphere(40); surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳light (position,1 0 2,style,infinit。

    3、e)lighting phongmaterial shinyt=0:0.01*pi:50*pi;t;num=length(a);for n=1:numx(:,n)=a(n)*cos(omga(n)*t)+c(n);y(:,n)=b(n)*sin(omga(n)*t);z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置xuanz(:,:)=1 0 0;0 cos(aby(n,1) -sin(aby(n,1);0 sin(aby(n,1) cos(aby(n,1)*cos(aby(n,2) 0 sin(aby(n,2);0 1 0;-sin(aby(n,2) 0 cos(aby(n,2)。

    4、*cos(aby(n,3) -sin(aby(n,3) 0;sin(aby(n,3) cos(aby(n,3) 0;0 0 1; %每个轨道平面倾斜计算xyz(:,:)=x(:,n) y(:,n) z(:,n)*xuanz(:,:);x(:,n)=xyz(:,1);y(:,n)=xyz(:,2);z(:,n)=xyz(:,3); %计算轨道平面倾斜后的轨道位置p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n);shading interp %画出每个行星plot3(x(:,n),y(:,n),z(:,n),-k);%画出所有轨迹线endset。

    5、(p(1),facecolor,y);set(p(2),facecolor,m);set(p(3),facecolor,b);set(p(4),facecolor,m);set(p(5),facecolor,r);set(p(6),facecolor,c);set(p(7),facecolor,b);set(p(8),facecolor,b);set(p(9),facecolor,r);%设置所有行星的颜色for m=1:5000 %旋转计算for n=1:length(a)set(p(n),xdata,r(n)*X+x(m,n),ydata,r(n)*Y+y(m,n),zdata,r(n)*。

    6、Z+z(m,n); %所有行星的即时位置设置endpause(pausetime); %暂停一会drawnowend下面是更加复杂的动画模拟figure(name,星系演示);%设置标题名字pausetime=.01;%设置暂停时间set(gca,xlim,-50 50,ylim,-50 30,zlim,-50 50);set(gcf,doublebuffer,on) %消除抖动xlabel(x轴),ylabel(y轴),zlabel(z轴);axis equal;grid on;view(3 5 2);hold ona=8.5 12.5 20 30 50 60 80 100 90 4 4.5。

    7、 4.9 5 1.5;%长轴b=8 12 18 26 45 55 70 90 30 4 4.5 4.9 5 1.5;%短轴 前八个为对应行星,第九个为彗星,后面为卫星omga=4 1.25 1 0.5 0.1 0.05 0.25 0.125 0.4 4 3.9 3.5 3 6;%角速度r=0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.5 0.35 0.36 0.5 0.4 0.35;%球体半径c=sqrt(a.2-b.2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8;g1=pi/6;aby=h h 0;h1 h 0;h h 0;h h 0;h h 0;h 。

    8、h 0;h g 0;h h h;g 0 g;0 0 0;g1 h 0;0 f 0;0 0 0;0 g1 0;%每个轨道平面偏移设置runu=35:0.5:40;theta=(0:0.05*pi:2*pi);runa=2.8:0.4:5.6;xx=cos(theta)*runu+20;yy=0.9*sin(theta)*runu;zz=-0.17*xx-0.17*yy;plot3(xx,yy,zz,:k); %小行带设置hx=cos(theta)*runa;hy=sin(theta)*runa;hz=-0.1*hx-0.2*hy;%colo=y,m,b,m,r,c,b,b;X,Y,Z=spher。

    9、e(40); surf(5*X,5*Y,5*Z);colormap(autumn) %设置light (position,1 0 2,style,infinite)lighting phongmaterial shinyt=0:0.01*pi:50*pi;t;num=length(a);for n=1:numx(:,n)=a(n)*cos(omga(n)*t)+c(n);y(:,n)=b(n)*sin(omga(n)*t);z(:,n)=0*t;xuanz(:,:)=1 0 0;0 cos(aby(n,1) -sin(aby(n,1);0 sin(aby(n,1) cos(aby(n,1)*c。

    10、os(aby(n,2) 0 sin(aby(n,2);0 1 0;-sin(aby(n,2) 0 cos(aby(n,2)*cos(aby(n,3) -sin(aby(n,3) 0;sin(aby(n,3) cos(aby(n,3) 0;0 0 1;xyz(:,:)=x(:,n) y(:,n) z(:,n)*xuanz(:,:);x(:,n)=xyz(:,1);y(:,n)=xyz(:,2);z(:,n)=xyz(:,3);if n=9p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n);shading interpplot3(x(:,n),y。

    11、(:,n),z(:,n),-k);%画出所有轨迹线else if n=13p(n)=surf(r(n)*X+x(1,n)+x(1,5),r(n)*Y+y(1,n)+y(1,5),r(n)*Z+z(1,n)+z(1,5);shading interppmuw(n-9)=plot3(x(:,n)+x(1,5),y(:,n)+y(1,5),z(:,n)+z(1,5),-k);%木卫1,2,3,4轨道初位置elsep(n)=surf(r(n)*X+x(1,n)+x(1,3),r(n)*Y+y(1,n)+y(1,3),r(n)*Z+z(1,n)+z(1,3);shading interppmuw(n-9。

    12、)=plot3(x(:,n)+x(1,3),y(:,n)+y(1,3),z(:,n)+z(1,3),-k);%月球轨道设置endendendfor n=1:length(runa)ph(n)=plot3(hx(:,n)+x(1,6),hy(:,n)+y(1,6),hz(:,n)+z(1,6),-c);endset(p(1),facecolor,y);set(p(2),facecolor,m);set(p(3),facecolor,b);set(p(4),facecolor,m);set(p(5),facecolor,r);set(p(6),facecolor,c);set(p(7),facec。

    13、olor,b);set(p(8),facecolor,b);set(p(9),facecolor,r);for n=10:13set(p(n),facecolor,b);endset(p(14),facecolor,k);for m=1:5000for n=1:numif n=9set(p(n),xdata,r(n)*X+x(m,n),ydata,r(n)*Y+y(m,n),zdata,r(n)*Z+z(m,n);%所有的即时位置else if n=13set(p(n),xdata,r(n)*X+x(m,n)+x(m,5),ydata,r(n)*Y+y(m,n)+y(m,5),zdata,r(。

    14、n)*Z+z(m,n)+z(m,5);set(pmuw(n-9),xdata,x(:,n)+x(m,5),ydata,y(:,n)+y(m,5),zdata,z(:,n)+z(m,5);elseset(p(n),xdata,r(n)*X+x(m,n)+x(m,3),ydata,r(n)*Y+y(m,n)+y(m,3),zdata,r(n)*Z+z(m,n)+z(m,3);set(pmuw(n-9),xdata,x(:,n)+x(m,3),ydata,y(:,n)+y(m,3),zdata,z(:,n)+z(m,3); endendendfor n=1:length(runa)set(ph(n),xdata,hx(:,n)+x(m,6),ydata,hy(:,n)+y(m,6),zdata,hz(:,n)+z(m,6);%光环即时位置endpause(pausetime); %暂停一会drawnowend。

    展开全文
  • CODE:% % % % % 内容是:做一个长方体先以5m/s做匀速运动,% % % % % 后以-2.4m/s2的加速度做减速运动的动画。clear;clc;close alldt=0.01;t0=0;t1=2;t2=3.5;t=t0:dt:t2;v=5*(t<=t1&t>=t0)+(5-2.4*(t-t1))...

    CODE:

    % % % % % 内容是:做一个长方体先以5m/s做匀速运动,

    % % % % % 后以-2.4m/s2的加速度做减速运动的动画。

    clear;clc;close all

    dt=0.01;

    t0=0;

    t1=2;

    t2=3.5;

    t=t0:dt:t2;

    v=5*(t<=t1&t>=t0)+(5-2.4*(t-t1)).*(t>t1&t<=t2);

    y=5*t.*(t<=t1&t>=t0)+(5*t1+5*(t-t1)-2.4/2*(t-t1).^2).*(t>t1&t<=t2);

    figure1=figure('color','w');

    axes1=axes('parent',figure1);

    % set(gca,'visible','off')

    set(gca,'ytick',[]);

    xlim([0 20]);

    ylim( [-4 8]);hold on;axis equal

    locx=[0 0 2 2];

    locy=[0 1 1 0];

    h=fill(locx,locy,'r');

    ht1=text(3,8,sprintf('Time = %3.2f',t0),'fontname','times new roman');

    ht2=text(3,7,sprintf('Velocity = %3.2f',v(1)),'fontname','times new roman');

    for jj=1:length(y)

    set(h,'Xdata',locx+y(jj));

    set(ht1,'string',sprintf('Time = %3.2f',t(jj)),'fontname','times new roman');

    set(ht2,'string',sprintf('Velocity = %3.2f',v(jj)),'fontname','times new roman');

    drawnow;

    pause(0.03)

    end

    展开全文
  • Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand(n,1)-0.5; y = rand(n,1)-0.5; h = ...

    Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示

     

     

    目录

    输出结果

    实现代码


     

     

     

    输出结果

     

    实现代码

    %Brownian motion 
    clf; 
    n=20; 
    s=0.02; 
    x = rand(n,1)-0.5; 
    y = rand(n,1)-0.5; 
    h = plot(x,y,'.'); 
    axis([-1 1 -1 1]) 
    axis square 
    grid off 
    set(h,'EraseMode','xor','MarkerSize',18) 
    grid on; 
    title('Press Ctl-C to stop'); 
    while 1 
     drawnow 
     x = x + s*randn(n,1); 
     y = y + s*randn(n,1); 
     set(h,'XData',x,'YData',y) 
    end
    clear;clc;
     
    %Initializetherandngenerator
    randn('state',1)
     
    %SettheparameterHandthesamplelength
    H=0.7;lg=10000;
    %Generateandplotwavelet-basedfBmforH=0.7
    fBm=wfbm(H,lg);
     
    n=0:10;
    dt=2.^n;
    v=zeros(1,length(n));
    fori=1:11
        d=fBm(1+dt(i):end)-fBm(1:end-dt(i));
        v(i)=sum(d.^2)./(length(d)-1);
        cleard;
    end
    p=polyfit(log(dt),log(v),1);
     
    loglog(dt,v,'ko');
    holdon;
     
    sH=p(1)./2;
    ch=exp(p(2));
     
    plot(dt,ch.*dt.^(2.*sH),'b','LineWidth',1);
     
    %% 
    clc;
    clearvars-exceptchsH;
    mch=ch;
    msH=sH;
    clearchsH;
     
    %Initializetherandngenerator
    randn('state',1)
     
    %SettheparameterHandthesamplelength
    H=0.7;lg=10000;
    fBm=fbm1d(H,lg);
     
    n=0:10;
    dt=2.^n;
    v=zeros(1,length(n));
    fori=1:11
        d=fBm(1+dt(i):end)-fBm(1:end-dt(i));
        v(i)=sum(d.^2)./(length(d)-1);
        cleard;
    end
    p=polyfit(log(dt./lg),log(v),1);
     
    holdon;
    loglog(dt,v,'ks');
    sH=p(1)./2;
    ch=exp(p(2));
     
    plot(dt,ch.*(dt./lg).^(2.*sH),'r','LineWidth',1);
     
    legend('matlab',strcat('Var=',num2str(mch),'*dt^{2.*',num2str(msH),'}'),'KB',strcat('Var=',num2str
    (ch),'*dt^{2.*',num2str(sH),'}'),'Location','SouthEast');
    saveas(gcf,'test1.jpg');
    
    
    

     

     

     

    相关文章
    Fractional Brownian motion generator

    分数布朗运动及其模拟PDF参考文件

     

     

     

    展开全文
  • Matlab动画模拟分子布朗运动的示例

    万次阅读 2014-05-25 16:04:52
    Matlab动画模拟分子布朗运动的示例 %Brownian motion  clf;  n=20;  s=0.02;  x = rand(n,1)-0.5;  y = rand(n,1)-0.5;  h = plot(x,y,'.');  axis([-1 1 -1 1])  axis square  grid off  ...
  • 模拟双星太阳系中单个行星的运动。 使用 Simulink 求解行星的运动方程。 假设星星是静止的。 改变系统参数以生成奇怪的轨道,玩得开心!
  • Binary_system_coalescence.m中的F5或Matlab(R)控制台中的Binary_system_coalescence中的F5,以运行主程序并创建名为“ Binary_system_coalescence.gif”的动画文件,该动画文件将出现在与注册该.m文件相同的目录...
  • MATLAB模拟马赫锥动画

    2018-08-25 20:31:41
    MATLAB的简单函数写的演示动画模拟马赫锥的产生。
  • 基于MATLAB的凸轮机构运动分析与动画模拟.pdf
  • clear all close all clc % straight line 1 of the athletic track x1=-10:0.2:10; y1=0*x1+5; % semi-circle 1 of the athletic track theta=pi/2:-0.04:-pi/2;...% Include straight lines and semi-circles to ...
  • 基于Matlab模拟城轨列车紧急制动曲线图 打开文本图片集摘要:该文通过Matlab计算城市轨道车辆在紧急制动情况下的制动距离,并模拟出相应的距离-速度曲线图。关键词:Matlab;紧急制动;曲线图中图分类号:TP311文献...
  • matlab开发-飓风和流体力学模拟动画gifslinkedin更新。真实数据被插入一个动态代码中,该代码将在地图上以图形方式模拟飓风。
  • -------------------------------------------------- ----------------------------- 这是在 Matlab 的 Simulink 中实现的 N 个单独车辆的简单 2D 运动学车辆动画的自述文件。 不需要特殊的库或额外的工具箱。 ...
  • Matlab-瑞利波模拟程序

    2018-09-12 20:33:03
    Matlab-瑞利波模拟程序。瑞雷波是一种界面弹性波。广泛应用于地球物理,防震减灾。
  • 两个代码,用matlab分别演示单个小球在方框内发生完全弹性碰撞和3个小球在方框内发生完全弹性碰撞(考虑小球之间碰撞),每次碰撞都显示对应冲量。
  • 这是一个简单的MATLAB的基于MATLAB光通过三稜镜色散动画模拟,谢谢支持
  • 本文基于Matlab强大的的数据可视化功能,利用它的图形用户界面GUI较好地对驻波现象进行模拟仿真.从两列相向传播的平面简谐波的叠加出发,生动直观地展示了驻波形成的物理图景,并讨论了两列波的初相对驻波的影响.文中所...
  • matlab的四连杆问题动画制作,适合初学者使用matlab的四连杆问题动画制作,适合初学者使用
  • %小球模拟机械手轨迹 % view([140 37]); grid on; axis equal; % axis([-20,10,-20,10,-10,20]); xlabel('X'); ylabel('Y'); zlabel('Z'); pause(0.1); % drawnow; delete(hp1); %清除多余的小坐标系 delete(hp2); ...
  • 使用 Simulink 3D 动画工具箱对具有 3D 动画的帆船(包括翻滚)进行 4DOF 模拟。 模型、符号和参数取自 Xiao 和 Jouffroy,“帆船的建模和非线性航向控制”,IEEE 海洋工程杂志,卷。 39,没有。 2、2014 年。 在 ...
  • 轻量级 MATLAB:registered: 函数,可轻松可视化非线性飞行动力学模拟器的飞行测试数据记录和输出。 特征: * 具有可移动飞行控制面的 3D 飞机模型* 飞行控制表面饱和度监视器(饱和表面的颜色突出显示) * 从受控...
  • 发布时间:Oct 21, 2012更新时间:Oct 21, 2012总字数:1669阅读时间:4m作者: 谢先斌Matlab 台球模拟程序 动画演示代码axis([-1.6,12.6,-1.6,10.7])%确定坐标轴参数范围hold on %保持当前图形及轴系的所有特性fill...
  • matlab模拟动画提高声速测量实验教学效果.pdf
  • Matlab 模拟"行波"动画

    千次阅读 2019-05-26 12:31:19
    在[0,4π]区间,根据 y(t,x)=e−0.2xsin(πt24−x)y(t,x)=e^{-0.2x}sin(\frac{πt}{24}-x)...matlab程序: t=pi*(0:0.01:20);%时间控制 l=length(t);%获取时间数组长度 x=pi*(0:0.01:4);%[0,4π]区间 y=exp(-0.2*x)....
  • 使用粒子群优化算法以二维动画模拟粒子以搜索简单函数的全局最小值
  • 模拟弹簧上的驻波,首先将弦建模为串联连接的质量-弹簧-阻尼器网络。 如果一根绳子系在两个固定支架之间,一端拉紧并用力拨动,脉冲将从绳子的一端传播到另一端。
  • 本程序用来模拟平面电磁波在空间中的传播 反映电磁场性质的其他参数均设为常数,即自由空间中的值 文件夹中有gif图可以很直观的看结果,也可以直接运行

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,004
精华内容 1,201
关键字:

matlab动画模拟

matlab 订阅