土工试验研究分析论文

时间:2022-06-27 04:42:00

导语:土工试验研究分析论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

土工试验研究分析论文

1引言

众所周知,微软公司的Word软件在文字处理方面功能强大,已广泛应用于科学研究的各个领域。但Word本身不具备数据运算功能,绘图功能也有限。Matlab是MathWorks公司推出的一套高性能的数值计算和可视化软件。它是一个高度集成的系统,集科学计算、图像处理、声音处理于一体,具有极高的编程效率。如何把Matlab的数值处理和绘图功能与Word结合起来,扩展Word的功能,使二者能协调地进行工作,本文将就此问题作一探讨(以Matlab6.5和Word2002为例)。

土工试验的数据处理过程中,经常需要用图形法来描述试验结果,然后通过查图法来求得所需试验参数,例如在土的颗粒分析试验中,需要绘制级配曲线来确定土料的限制粒径和有效粒径以及,从而计算土的不均匀系数和曲率系数;在土的击实试验中,需要用击实曲线来体现试验结果,通过查图找出最大干密度和最优含水率;在土的三轴试验中,需要绘制摩尔圆来确定土的凝聚力C和内摩擦角φ。以前的处理方法是手工绘制或使用EXCEL工具中的图表功能,但是仅局限于其图形功能,而不能进行数值计算,相应的数值计算则需要人工进行。MATLAB不仅提供了图形功能,还增加了计算功能,使数据处理工作进一步简化。

2Matlab和Word的链接

2.1安装MatlabNotebook

有两种方法:一种是从Matlab系统中安装:首先启动Matlab6.5,在命令窗口运行函数命令“notebook-setup”(中间有一空格)。回车后命令窗口出现如下提示:

>>Notebook-setup

WelcometotheutilityforsettinguptheMATLABNotebookforinterfacingMATLABtoMicrosoftWord(欢迎建立MatlabNotebook与Word的公用程序)

ChooseyourversionofMicrosoftWord:(选择你所使用的Word版本)

[1]MicrosoftWord97

[2]MicrosoftWord2OOO

[3]MicrosoftWord2002(XP)

[4]Exit,makingnochanges

MicrosoftWordVersion:3(我们这里选择3)

然后命令窗口出现如下提示:

Notebooksetupiscomplete.(MatlabNotebook安装完成)

另一种方式是把C:/Matlab6p5/notebook/pc/M_book.dot文件直接拷贝到C:/ProgramFiles/Microsoftoffice/office10/2052目录下。

Matlab与Word互相调用的方法:(也可以作为安装是否成功的检测方法)

(1)在Matlab中调用Word:在Matlab命令窗口直接输入notebook命令,系统会自动启动Word,其主菜单栏中将增加Notebook一栏。

(2)在Word中调用Matlab:启动Word,然后选择“文件”菜单下的“新建”,在“根据模板新建”中选择“通用模板”,然后选择M-book文档。按确定后系统会自动启动Matlab。

2.2Notebook的使用指令

Notebook某种意义上即是Word中的M-book,Notebook是通过动态连接库和Matlab交互的,交互的基本单位称为细胞(Cel1)。交换的信息,称为“细胞(群)”。M-book需要把在Word中输入的Matlab命令或者语句组成细胞(群),传送到Matlab中运行,运行输出结果再以细胞(群)的方式传送回M-book中。这样Word中的输入细胞(群)下面会出现计算结果以及仿真图形。

“输入细胞”是由M-book传送给Matlab的命令,可以多行,也可以是包含在文本中的命令或者一段Matlab程序。“输出细胞”是由Matlab回传给M-book的计算结果。“自活细胞”是用[Notebook]菜单中[DefineAutoInitCel1]命令定义的输入细胞,它和输入细胞不同之处是:每次打开M-book时会自动运行自活细胞,而不会运行输入细胞;自活细胞字符用深蓝色标注,而输入细胞用绿色标注。“细胞群”是包含多句Matlab命令的多行输入细胞或自活细胞。

生成输入细胞:在Word中,用文本格式输入指令,然后选中该部分,在[Notebook]菜单中用[DefineInputCel1]命令,这样M-book会把普通文本生成“输入细胞”,并用黑色括号把指令括起来,指令变为绿色字体。

然后在[Notebook]菜单中用[EvaluateCell]选项,可以实现把生成细胞传送到Matlab中运算,运算结果会自动回传到M—book中,运算结果为蓝色标识。细胞群和细胞的操作相似。

Notebook还提供了计算区(CalcZone),它把M-book分成几个相互独立的部分,包括:描述一个特定问题或特定操作文本,输入细胞,输出细胞。当定义一个计算区时,Notebook将该部分和M-book其它部分独立出来,它的定义以及运行和输入细胞的操作相似。

Notebook还提供了细胞的循环运行,首先选定欲重复运行的输入细胞(一定要是绿色细胞),接着在[Notebook]菜单中选[EvaluateLoop]选项。[Notebook]菜单功能如下表l所示。

表1Notebook菜单功能

菜单项

快捷键

功能

DefineInputCell

Alt+I

定义输入细胞

DefineAutoInitCell

Alt+A

定义自活细胞

DefineCalcZone

Alt+Z

定义计算区

UndefineCells

Alt+U

将细胞转为文本

PurgeSelectedOutputCells

Alt+P

从所选篇幅中删除所有输出细胞

GroupCells

Alt+G

生成细胞群

UngroupCells

将细胞群转换为输入细胞和自活细胞

Hide(Show)CellsMarkers

Alt+C

显示(隐藏)生成细胞中的中括号

ToggleGraphOutputforCell

是否嵌入生成图形

EvaluateM-book

Alt+R

运行整个M-book中的所有输入细胞

EvaluateLoop

Alt+L

多次运行输入细胞

EvaluateCell

Ctrl+Enter

运行输入细胞

EvaluateCalcZone

Alt+Enter

运行计算区

BringMATLABtoFront

Alt+F

将MATLAB命令窗口调到前台

NotebookOptions…

Alt+O

设置数值和图形输出格式

3MATLAB软件在土工试验中的应用

3.1图形的形成

颗粒分析试验是测定干土中各种粒组所占该土总质量的百分数的方法,借以明了颗粒大小分布情况,供土的分类及概略判断土的工程性质及选料之用。其试验结果需要提供级配曲线、不均匀系数和曲率系数。表2为一组颗粒分析试验测定值:

表2土料级配

颗粒直径(mm)

0.1

0.05

0.02

0.01

0.005

0.001

颗粒含量(%)

100

94.68

72.10

41.82

27.13

11.69

在使用MATLAB软件进行资料处理时,首先调用已有的数据文件,把颗粒直径数组附值给x,把对应的百分含量数组附值给y,对颗粒直径取对数,建立关于颗粒直径的对数与小于该粒径的百分含量的三次样条函数关系,在给定的粒径范围内,细化粒径数组,对于给定的取对数后的颗粒直径求解其对应的百分含量,进行内插,然后利用MATLAB的图形功能在半对数坐标中绘制级配曲线(包括试验数据(虚线)和三次样条曲线(实线))。操作过程如下:在安装好Notebook后,启动Word,然后选择“文件”菜单下的“新建”,在“根据模板新建”中选择“通用模板”,然后选择“M—book文档”,按“确定”后Matlab就会自动启动,Notebook即可使用。

在M—book输入如下内容:

x=[0.10.050.020.010.0050.001];

y=[10094.6872.1041.8227.1311.69];

x1=log10(x);

y1=y;

xx=-3.0:0.04:-1;

pp=spline(x1,y1);%三次样条插值

y2=ppval(pp,xx);%分段多项式估计函数

x2=10.^xx;

semilogx(x,y,''''--'''',x2,y2)

xlabel(''''颗粒直径(mm)'''')

ylabel(''''小于某粒径之百分含量(%)'''')

title(''''级配曲线'''')

选中这些文字,在[Notebook]菜单中选用[DefineInputCel1],然后选用[EvaluateCel1],即可在Word中绘出图1所示图形。

3.2参数计算

通过上述过程.生成了该土料的级配曲线,而试验提供的各项参数则需要通过计算求得。利用MATLAB软件提供的函数功能对已经形成的三次样条曲线重新建立关于小于某粒径的百分含量与颗粒直径的对数之间的函数关系,即原函数的反函数,求解给定含量所对应的颗粒直径的对数值,并将其还原,分别计算,然后利用公式:

计算不均匀系数和曲率系数。

在M-book输入如下内容:

pp=spline(y2,xx);

x10=ppval(pp,10);

d10=10^x10

x30=ppval(pp,30);

d30=10^x30

x60=ppval(pp,60);

d60=10^x60

Cu=d60/d10

Cc=d30^2/(d60*d10)

选中这些文字,在[Notebook]菜单中选用[DefineInputCel1],然后选用[EvaluateCel1],则可在Word中直接计算并输出结果:d10=9.4293e-004,d30=0.0063,d60=0.0152,Cu=16.1330,Cc=2.7415

通过以上过程,利用MATLAB程序设计语言在Word中完成了对土的颗粒分析试验的数据处理过程。

4结语与说明

把Matlab6.5和Word结合,充分利用两者的优点,实现软件的“强强联合”,会给我们在撰写科技报告,论文、专著以及电子教案时提供了很大的方便,程序、计算结果以及仿真出的图形都可以同时在Word文档中,并且可以随时修改计算命令,随时计算并绘制图形。当然,它也存在一些不足,如带鼠标的图形交互指令不能在M-book文档中运行,Matlab指令在M-book文档中运行速度较慢等。

MATLAB最重要的特点是易于扩展。它允许用户自行建立完成指定功能的M文件,从而构成适合于其它领域的工具箱。对于一个从事特定领域工作的工程师,不仅可利用MATLAB所提供的函数及基本工具箱函数,而且可以方便地构造出专用的函数,从而大大扩展了其应用范围。MATLAB语言具有强大的图形及计算功能,尤其是在矩阵运算方面更是如此。本文所涉及的内容仅是其中很少的一部分。如果能建立一个数字模拟系统来模拟土工试验,将会产生极大的影响。

参考文献:

[1]张养安、刘林章,MATLAB软件在数据处理中的应用,水土保持研究,2005年8月.

[2]姜长元,Matlab和Word的链接及应用,洛阳师范学院学报,2005年第二期.

[3]王沫然编著,MATLAB与科学计算(第二版),电子工业出版.

[4]张伯平、党进谦编著,土力学与地基基础,西安地图出版社,3-6.