2014年建模全国大赛
来源:互联网 发布:js获取当前服务器地址 编辑:程序博客网 时间:2024/04/24 13:11
之前为了参加建模比赛,学习了一下matlab。以这篇为开端,以后会继续通过原创或转载来分享matlab的各种各种知识技巧。
作为开篇这里介绍一下我们建模比赛的情况。建模比赛是三人或以下为一个团队进行的,我在团队中主要负责编程作图,运用团队中其余两人推导获得的公式,通过matlab将其实现出来。
这次全国比赛我们组选择了解答B题,主要内容是建立数学模型分析一张创意平板折叠桌打开的动态过程:
在比赛进行的第二天在淘宝上已经有人出售分析这张桌子动态过程的matlab图和源代码,但是我们坚决认为我们能做得比他们都棒。
最后我们当然还是做出来了,以下是我们组的matlab图(半边桌子的示意图),本来是gif但是不会动。。。所以放出初始状态和最终状态吧
蓝色是桌脚,粉红色是钢筋轴。
代码如下:
clear clc close all;R = 23.5;D = sqrt(R^2 - 22.5^2);Theta = 70*pi/180;for n = 1:1:19 phi = acos((25 - 2.5*n)/R); ln = 60- sqrt(R^2 - (25-2.5*n)^2)-0.1; y = R*cos(phi); x1 = D+cos(Theta)*(60-D)/2; y1 = y; z1 =-sin(Theta)*(60-D)/2; x2 = R*sin(phi); y2 = y; z2 = 0; Dn = sqrt((x1 - x2)^2 + (y1 - y2)^2 + (z1 - z2)^2); x3 = x2 + (x1 - x2)*ln/Dn; y3 = y2 + (y1 - y2)*ln/Dn; z3 = z2 + (z1 - z2)*ln/Dn; lc = Dn - (ln - 53.1177/2); shuchu(1,n) = ln; shuchu(2,n) = Dn; shuchu(3,n) = lc; foot(n,1) = x3; foot(n,2) = y3; foot(n,3) = z3; plot3([x3 x2], [y3 y2], [z3 z2], 'linewidth', 5); hold on;end % curveY = -24 : 24;% [cY,cZ] = meshgrid(curveY, 0);% curveX = 0.0194*cY.^2 - 0.0019*cY + 11.6346;% plot3(curveX, cY, cZ);% [cX,cY] = meshgrid(0, curveY);% curveZ = -0.0304*cY.^2 - 34.7874;% plot3(cX, cY, curveZ);% curveZ = -60 : 0;% [cZ,cY] = meshgrid(curveZ, 0);% curveX = 0.0663*cZ.^2 + 4.9021*cZ + 103.4351;% plot3(curveX, cY, cZ,'r');axis([0 60 -30 30 -60 0]);view(-15, 30);plot3([x1 x1], [-30 30], [z1 z1], 'm', 'linewidth', 3);grid on;xlabel( 'x');ylabel( 'y');zlabel( 'z');title('θ = 70 时刻');代码画出来的是静态图,根据Theta角度数值的改变,分别画出不同状态下的桌子(Theta是最外侧桌脚与地面的夹角)。注释掉的部分是桌脚边缘线投影到各个面的曲线。
代码编写其实不难,难就难在推导公式,我只是利用公式在matlab中画出了示意图而已。
想了解我们团队的数学模型和其他部分代码我们可以私下交流,有关matlab的问题我们也可以一起探讨。
0 0
- 2014年建模全国大赛
- 2014年全国数学建模B题程序
- 15年全国电子设计大赛专家组意见
- 全国软件设计大赛
- “2014年CityEngine三维建模与设计精英培训班”——全国巡回举办
- 2017全国数学建模
- 记2014“蓝桥杯全国软件大赛"决赛北京之行
- 明星汇入围2014黑马大赛全国总决赛
- 全国电子设计大赛 物品清单分析2013年
- 2017年全国电子设计大赛A题问题重述
- 2017年全国研究生电子设计大赛上海赛区感触
- 2015年浙江省职工职业技能大赛暨全国大赛选拔赛计算机程序设计员
- 2017年全国数学建模比赛赛后感想
- 2017年全国研究生数学建模自记
- 今年的全国电子设计大赛
- 全国软件设计大赛--代码设计
- 全国电子设计大赛--参赛经验
- 全国研究生数学建模 总结
- 优化排名中的关键词等级制度
- c/c++/java
- CentOS建立本地yum源
- IT忍者神龟之oracle存储过程——面向对象编程
- SVN登录账号更改后提交不了处理
- 2014年建模全国大赛
- Ubunt14.04开发Django应用
- VPN的概念以及要点
- smali语法之指令学习
- ubuntu的ftp服务器的安装以及在windows下的访问
- Java安全通信概述
- SSRS 中判断参数是否为空
- Makefile 的相关知识
- Fragment开发实战(二)