能量守恒matlab,【文章】仿真设计作品--能量守恒

2023-10-13 10:20

本文主要是介绍能量守恒matlab,【文章】仿真设计作品--能量守恒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

icon1.gif 【文章】仿真设计作品--能量守恒

pole=1.8;

xmax=2;

ymax=2;

basew=2.3;

baseh=2.3;

instant=0.2;

figure('name','理想情况下能量守恒定律1','position',[500,340,440,320]);

fill([xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05],[ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05],[0,1,1]);

hold on;

fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[ymax-0.5 ,ymax-0.55,ymax-0.55,ymax-0.5],'g');

hold on;

text(1.0,1.7,'真空容器');text(-1.8,1.7,'主视图');

axis([-basew,basew,-baseh,baseh]);

axis('off');

theta0=7*pi/6;

x0=pole*cos(theta0);

y0=pole*sin(theta0)+1.5;

body1=line([-instant,x0-instant],[1.5,y0],'color','r','linestyle','-','erasemode','xor');

head1=line(x0-instant,y0,'color','r','linestyle','.','erasemode','xor','markersize',40);

theta1=3*pi/2;

x1=pole*cos(theta1);

y1=pole*sin(theta1)+1.5;

body=line([-0.001,x1],[1.5,y1],'color','k','linestyle','-','erasemode','xor');

head=line(x1,y1,'color','k','linestyle','.','erasemode','xor','markersize',40);

body2=line([instant;x1+instant],[1.5;y1],'color','b','linestyle','-','erasemode','xor');

head2=line(x1+instant,y1,'color','b','linestyle','.','erasemode','xor','markersize',40);

theta3=15*pi/6 ;

figure('name','理想情况下能量守恒定律2','position',[500,40,440,320]);

fill([xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05],[ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05],[0,1,1]);

hold on;

fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[ymax-0.5 ,ymax-0.55,ymax-0.55,ymax-0.5],'g');

hold on;

fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[-ymax+0.55 ,-ymax+0.5,-ymax+0.5,-ymax+0.55 ],'g');

hold on;

text(1.0,1.7,'真空容器');text(-1.8,1.7,'俯视图');

axis([-basew,basew,-baseh,baseh]);

axis('off');

y01=0;

body11=line([-instant,x0-instant],[1.5,y01],'color','r','linestyle','-','erasemode','xor');

body12=line([-instant,x0-instant],[-1.5,y01],'color','r','linestyle','-','erasemode','xor');

head01=line(x0-instant,y01,'color','r','linestyle','.','erasemode','xor','markersize',40);

body01=line([-0.001,x1],[1.5,y01],'color','k','linestyle','-','erasemode','xor');

body02=line([-0.001,x1],[-1.5,y01],'color','k','linestyle','-','erasemode','xor');

head00=line(x1,y01,'color','k','linestyle','.','erasemode','xor','markersize',40);

body21=line([instant;x1+instant],[1.5;y01],'color','b','linestyle','-','erasemode','xor');

body22=line([instant;x1+instant],[-1.5;y01],'color','b','linestyle','-','erasemode','xor');

head02=line(x1+instant,y01,'color','b','linestyle','.','erasemode','xor','markersize',40);

figure('name','理想情况下能量守恒定律3','position',[50,340,440,320]);

fill([xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05],[ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05],[0,1,1]);

hold on

text(1.0,1.7,'真空容器');text(-1.8,1.7,'侧视图');

axis([-basew,basew,-baseh,baseh]);

axis('off');

x01=0;x02=1.48;y02=1.48;

head000=line(-x02,y02,'color','g','linestyle','.','erasemode','xor','markersize',18);

head000=line(x02,y02,'color','g','linestyle','.','erasemode','xor','markersize',18);

body311=line([-x02,x01],[y02,y0],'color','r','linestyle','-','erasemode','xor');

body312=line([x02,x01],[y02,y0],'color','r','linestyle','-','erasemode','xor');

head301=line(x01,y0,'color','r','linestyle','.','erasemode','xor','markersize',40);

body301=line([-x02,x01],[y02,y1],'color','k','linestyle','-','erasemode','xor');

body302=line([x02,x01],[y02,y1],'color','k','linestyle','-','erasemode','xor');

head300=line(x01,y1,'color','k','linestyle','.','erasemode','xor','markersize',40);

body321=line([-x02;x01],[y02;y1],'color','b','linestyle','-','erasemode','xor');

body322=line([x02;x01],[y02;y1],'color','b','linestyle','-','erasemode','xor');

head302=line(x01,y1,'color','b','linestyle','.','erasemode','xor','markersize',40);

while 1

theta0=theta0+pi/540;

theta3=theta3-pi/540;

if theta0>=15*pi/6

theta0=7*pi/6;

theta3=15*pi/6 ;

elseif (theta0>=7*pi/6)&(theta0<3*pi/2)

x11=pole*cos(theta0);

y11=pole*sin(theta0)+1.5;

set(body1,'xdata',[-instant,x11-instant],'ydata',[1.5,y11]);

set(head1,'xdata',x11-instant,'ydata',y11);

set(body11,'xdata',[-instant,x11-instant],'ydata',[1.5,y01]);

set(body12,'xdata',[-instant,x11-instant],'ydata',[1.5,y01]);

set(head01,'xdata',x11-instant,'ydata',y01);

set(body311,'xdata',[-x02,x01],'ydata',[y02,y11]);

set(body312,'xdata',[x02,x01],'ydata',[y02,y11]);

set(head301,'xdata',x01,'ydata',y11);

elseif (theta0>=3*pi/2)&(theta0<11*pi/7)

x22=pole*cos(theta0);

y22=pole*sin(theta0)+1.5;

set(body2,'xdata',[instant,x22+instant],'ydata',[1.5,y22]);

set(head2,'xdata',x22+instant,'ydata',y22);

set(body21,'xdata',[instant,x22+instant],'ydata',[1.5,y01]);

set(body22,'xdata',[instant,x22+instant],'ydata',[-1.5,y01]);

set(head02,'xdata',x22+instant,'ydata',y01);

set(body321,'xdata',[-x02,x01],'ydata',[y02,y22]);

set(body322,'xdata',[x02,x01],'ydata',[y02,y22]);

set(head302,'xdata',x01,'ydata',y22);

elseif (theta0>=11*pi/6 )&(theta0<=13*pi/6 )

x32=pole*cos(theta3);

y32=pole*sin(theta3)+1.5;

set(body2,'xdata',[instant,x32+instant],'ydata',[1.5,y32]);

set(head2,'xdata',x32+instant,'ydata',y32);

set(body21,'xdata',[instant,x32+instant],'ydata',[1.5,y01]);

set(body22,'xdata',[instant,x32+instant],'ydata',[-1.5,y01]);

set(head02,'xdata',x32+instant,'ydata',y01);

set(body321,'xdata',[-x02,x01],'ydata',[y02,y32]);

set(body322,'xdata',[x02,x01],'ydata',[y02,y32]);

set(head302,'xdata',x01,'ydata',y32);

elseif (theta0>=13*pi/6 )&(theta0<15*pi/6 )

x41=pole*cos(theta3);

y41=pole*sin(theta3)+1.5;

set(body1,'xdata',[-instant,x41-instant],'ydata',[1.5,y41]);

set(head1,'xdata',x41-instant,'ydata',y41);

set(body11,'xdata',[-instant,x41-instant],'ydata',[1.5,y01]);

set(body12,'xdata',[-instant,x41-instant],'ydata',[-1.5,y01]);

set(head01,'xdata',x41-instant,'ydata',y01);

set(body311,'xdata',[-x02,x01],'ydata',[y02,y41]);

set(body312,'xdata',[x02,x01],'ydata',[y02,y41]);

set(head301,'xdata',x01,'ydata',y41);

drawnow;

end

end

2005年10月30日发表在《麓瑜园》

(注:本文转自转自《麓瑜园》,版权归原作者所有!在此仅作交流讨论之用,如需转载请注明原作者!)

这篇关于能量守恒matlab,【文章】仿真设计作品--能量守恒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202534

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };