中南大学数学建模实验报告Word格式.docx

上传人:b****4 文档编号:16224640 上传时间:2022-11-21 格式:DOCX 页数:28 大小:663.20KB
下载 相关 举报
中南大学数学建模实验报告Word格式.docx_第1页
第1页 / 共28页
中南大学数学建模实验报告Word格式.docx_第2页
第2页 / 共28页
中南大学数学建模实验报告Word格式.docx_第3页
第3页 / 共28页
中南大学数学建模实验报告Word格式.docx_第4页
第4页 / 共28页
中南大学数学建模实验报告Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

中南大学数学建模实验报告Word格式.docx

《中南大学数学建模实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《中南大学数学建模实验报告Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

中南大学数学建模实验报告Word格式.docx

y=sin(x);

z=cos(x);

plot(x,y,'

r'

x,z,'

g0'

先建M文件myfun1.m:

functionY=myfun1(x)

Y=exp(2*x)+sin(3*x.^2)

再输入命令:

fplot('

myfun1'

[-1,2])

(3)例:

画多条曲线观察函数Z=(X+Y)2

x=-3:

0.1:

3;

y=1:

5;

[X,Y]=meshgrid(x,y);

Z=(X+Y).^2;

plot3(X,Y,Z)

(4)例:

画函数Z=(X+Y)2的图形.

y=1:

[X,Y]=meshgrid(x,y);

Z=(X+Y).^2;

surf(X,Y,Z)

shadingflat

(5)例:

在区间[0,2π]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并加格栅.

x=linspace(0,2*pi,30);

y=sin(x);

plot(x,y)

xlabel('

自变量X'

ylabel('

函数Y'

title('

示意图'

gridon

(6)例:

山峰的三维和二维等值线图

[x,y,z]=peaks;

subplot(1,2,1)

contour3(x,y,z,16,'

s'

grid,xlabel('

x-axis'

),ylabel('

y-axis'

zlabel('

z-axis'

contour3ofpeaks'

);

subplot(1,2,2)

contour(x,y,z,16,'

),ylabel('

contourofpeaks'

三、实验二:

线性规划

了解线性规划的基本内容.

掌握用数学软件包求解线性规划问题

2.实验内容:

(1)例:

max

解:

编写M文件xxgh1.m如下:

c=[-0.4-0.28-0.32-0.72-0.64-0.6];

A=[0.010.010.010.030.030.03;

0.02000.0500;

00.02000.050;

000.03000.08];

b=[850;

700;

100;

900];

Aeq=[];

beq=[];

vlb=[0;

0;

0];

vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

运算结果如下:

(2)例:

投资的收益和风险

二、基本假设和符号规定

三、模型的建立与分析

1.总体风险用所投资的Si中最大的一个风险来衡量,即max{qixi|i=1,2,…,n}

4.模型简化:

四、模型1的求解

由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度.我们从a=0开始,以步长△a=0.001进行循环搜索,编制程序如下:

a=0;

while(1.1-a)>

1

c=[-0.05-0.27-0.19-0.185-0.185];

Aeq=[11.011.021.0451.065];

beq=[1];

A=[00.025000;

000.01500;

0000.0550;

00000.026];

b=[a;

a;

a];

vlb=[0,0,0,0,0];

vub=[];

[x,val]=linprog(c,A,b,Aeq,beq,vlb,vub);

a

x=x'

Q=-val

plot(a,Q,'

.'

),axis([00.100.5]),holdon

a=a+0.001;

end

xlabel('

a'

Q'

结果:

四、实验三:

插值

了解插值的基本内容.

例:

用分段线性插值法求插值,并观察插值误差.

(1)在[-6,6]中平均选取5个点作插值(xch11)

(2)在[-6,6]中平均选取11个点作插值(xch12)

(3)在[-6,6]中平均选取21个点作插值(xch13)

(4)在[-6,6]中平均选取41个点作插值(xch14)

五、实验四:

拟合

直观了解拟合基本内容.

掌握用数学软件求解拟合问题.

例:

对下面一组数据作二次多项式拟合

输入指令:

x=0:

1;

y=[-0.4471.9783.286.167.087.347.669.569.489.3011.2];

A=polyfit(x,y,2)

z=polyval(A,x);

plot(x,y,'

k+'

x,z,'

六、MATLAB在材料力学里的应用

1、实验目的:

通过构建可视化窗口,实现对平面问题:

材料数据的直观、简便处理,得到需要的结论,具体功能如下:

1.已知应变场,输入窗口后,能够得到应力场;

2.已知应力场,根据材料的物性方程,判断材料是否发生屈服;

3.已知某两点应力场,通过矩阵运算得到应力张量不变量,从而判断这两点是否处于同一应力状态。

数学背景与材料力学解释:

1.上述各类场量都易以矩阵形式表达,并且这些场量相互之间存在以下关系:

Mises屈服准则:

平面应力物理方程:

斜方向应变公式:

主应力公式:

2.通过单向拉伸与扭转实验,可以测得弹性模量(E)、剪切模量(G)、泊松比(u)、应变场量,通过这些实验数据进行运用求解,是具有实际意义的。

求解过程:

在单向拉伸实验样品上按一定角度(Lij)贴应变片(默认0度、45度、90度),得到弹性模量(E)、应变量(

)。

通过斜方向应变公式得到应变张量,再由物理方程得到应力张量。

利用求出的应力场由主应力公式求得主应力,再由等效应力公式、Mises屈服准则得到等效应力以及强度校核。

2、实验内容:

(1).功能一:

“开始运算”求应力应变的实现

%---Executesonbuttonpressinpushbutton1.

functionpushbutton1_Callback(hObject,eventdata,handles)

%hObjecthandletopushbutton1(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

e1=str2num(get(handles.edit10,'

String'

))

e2=str2num(get(handles.edit11,'

e3=str2num(get(handles.edit12,'

u=str2num(get(handles.edit20,'

E=str2num(get(handles.edit1,'

res=2*e3-e1-e2

set(handles.edit16,'

res)

set(handles.edit14,'

e1)

set(handles.edit15,'

e2)

G=E/(2*(1+u))

x=(u*E*e2+E*e1)/(1-u.^2)

y=(x-E*e1)/u

z=G*res

set(handles.edit17,'

x)

set(handles.edit18,'

y)

set(handles.edit19,'

z)

x1=(x+y)/2+sqrt(((x-y)/2).^2+z)

y1=(x+y)/2-sqrt(((x-y)/2).^2+z)

z1=x+y+z-x1-y1

set(handles.edit21,'

x1)

set(handles.edit26,'

y1)

set(handles.edit27,'

z1)

eq=sqrt(((x1-y1).^2+(y1-z1).^2+(z1-x1).^2)/2)

set(handles.edit29,'

eq)

(2).功能二:

“强度校核”功能的实现

%---Executesonbuttonpressinpushbutton3.

functionpushbutton3_Callback(hObject,eventdata,handles)

%hObjecthandletopushbutton3(seeGCBO)

s=str2num(get(handles.edit31,'

e=str2num(get(handles.edit29,'

ife<

s

set(handles.edit30,'

'

材料未发生屈服'

else

材料发生屈服'

end

功能三:

“ClearALL”的实现

%---Executesonbuttonpressinpushbutton2.

functionpushbutton2_Callback(hObject,eventdata,handles)

%hObjecthandletopushbutton2(seeGCBO)

set(handles.edit10,'

'

set(handles.edit11,'

set(handles.edit12,'

set(handles.edit20,'

set(handles.edit1,'

set(handles.edit30,'

set(handles.edit31,'

3.总结与评价:

通过利用材料力学中的斜方向应变公式、物理公式、主应力公式、Mises屈服等数学概念,运用MATLAB中的GUI可视化窗口模型构建,实现了直观、简洁的处理材料力学相关实验数据的目的,输入基础实验数据,便得到了有利于材料结构设计所需要的基本力学参量、也能对材料力学性能的评价起到重要作用。

十分具有实际意义。

问题在于,这里处理的是平面问题,尤其是平面应力问题,可以推广到三维应力应变问题;

而且斜方向应变公式也是取用的0度、45度、90度特殊方向。

对于学习、验证某些普通应变情况不适用,但对于实验,我们可以认为控制这些变量,如:

采用一定长宽比的长薄板,控制为平面应力状态,且由圣维南原理知薄板中部均匀受力;

按特殊方向帖应变片。

七、MATLAB创建2048小游戏

1游戏规则:

1).通过按键(W,A,S,D或方向键)控制小块的移动方向,当有两个小块相同时,把两者合并,产生一个新块(其值90%为2,10%为4),给予一定的分数,并将分数记录在数据文件中,显示在界面上。

2).当最大块的值达到2048时,您将获得胜利,胜利后您可以选择继续游戏(当最大块的值为4096时,您将获得连胜,依次类推),或者退出游戏(下次游戏时从退出时的界面开始)。

3).但是,如果小块不能再移动,您将输掉该游戏,此时,您可以选择新游戏或者退出游戏(下次游戏时重新开始)。

4).在游戏过程中,您都有权停止游戏(按Esc键或者直接关闭界面),下次打开该游戏时将回到本次停止的状态,以便您继续游戏,当然你也可以随时新建游戏。

5).该游戏为了增加游戏的观赏性,在工具栏内特为您增加了几项设置,如新建游戏、游戏界面截图、动画、声音、演示、游戏得分记录等,您可以按照您的喜好进行设置。

6).游戏还增加了数据分析的功能,您可以查看当前统计,也可以查看历史记录(只要您没有删除他们)。

7).为了降低游戏难度,本游戏还提供了提示功能,按“空格”键即可提示,但连续按下空格键的时间间隔不得少于1s,否则会卡住,影响娱乐效果。

8).游戏还提供了演示功能,您可以设置电脑演示步数,让电脑替您玩游戏。

大概960步可以完成2048(只要小块可以一直移动)。

9).由于AI提示程序在个别情况下无法得出最佳的移动策略,在这些情况下,您可以选择工具栏中“炸弹”按钮,用鼠标左键选中一个块将其炸掉(您无法在游戏开始时炸掉界面内唯一的块),然后继续您的游戏,当您想取消炸弹时,可以在游戏界面中点击鼠标右键。

作为炸掉有数字的块的惩罚,您将损失该块的分数。

原则上您可以炸毁界面内所有的数字块,但若界面内的块均被您炸掉,则游戏终止(除非您再次新建游戏)。

10).点击“炸弹”按钮后,您也可以继续您的游戏,移动几步后再进行炸毁小块,比如AI演示时进行炸毁操作。

如果该小块没有数值,则炸毁无效,不扣分。

若您出现无法移动的情况,在您使用“炸弹”按钮前,请不要在弹出的对话框中选择“新游戏”或“退出”,直接点击对话框红色“×

”号关闭对话框后再使用炸毁功能,否则游戏将结束或关闭,而无法继续该局游戏。

2、游戏代码与运行结果

(1).构建主坐标轴

handles.hAx=axes(...

Parent'

handles.hFig,...%父对象为handles.hFig

'

Units'

'

Pixels'

...%单位像素

Position'

[1010400400],...%位置

Color'

[187173160]/255,...%背景颜色

XLim'

[04],...%X轴范围

YLim'

[04],...%Y轴范围

XTick'

[],...%X轴刻度为空

YTick'

[],...%Y轴刻度为空

XColor'

[187173160]/255,...%X轴颜色

YColor'

[187173160]/255,...%Y轴颜色

Box'

on'

...%显示边框

XTickLabel'

[],...%X轴刻度标签为空

YTickLabel'

[],...%Y轴刻度标签为空

PlotBoxAspectRatio'

[111]);

handles.hScore=uicontrol(...

[1041520050],...%位置

Style'

Text'

...%类型为text

FontUnits'

...%字体单位像素

FontSize'

14,...%字体大小14号

HorizontalAlignment'

left'

...%对齐方式左对齐

BackgroundColor'

get(handles.hFig,'

),...%背景颜色

sprintf('

Score:

0\nBest:

%d'

handles.Best));

%显示文本

handles.hMoves=uicontrol(...

...%单位为像素

[30041512050],...%位置

Moves:

handles.game.NumMoves));

(2).创建16个空白小块

handles.blocks=gameBlock(handles.xPts(:

),handles.yPts(:

),...

repmat({'

},16,1),.9,.9,handles.hAx);

handles=updateblocks(handles);

%更新小块

ifexist('

2048.png'

file'

)%若2048.png存在,设置图标

warningoffall%屏蔽所有警告

newIcon=javax.swing.ImageIcon('

%读取2048.png

figFrame=get(handles.hFig,'

JavaFrame'

%获得界面的JavaFrame

figFrame.setFigureIcon(newIcon);

%更改图标

set(handles.hFig,'

Visible'

%显示游戏主界面

(3).颜色设置

functioncset(varargin)

globalhandles;

c=uisetcolor;

%打开颜色设置对话框

ifc~=0%若用户选择了颜色

set(handles.hFig,'

c);

%设置主界面背景

set(handles.hMoves,'

%设置文本框hMoves的背景

set(handles.hScore,'

%设置文本框hScore的背景

%默认颜色

functionmcset(varargin)

[0.8,0.8,0.8]);

set(handles.hMoves,'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1