matlab软件怎么使用(完整word版)怎样绘制级配曲线
1 引⾔
众所周知,微软公司的Word软件在⽂字处理⽅⾯功能强⼤,已⼴泛应⽤于科学研究的各个领域。但Word本⾝不具备数据运算功能,绘图功能也有限。Matlab 是MathWorks公司推出的⼀套⾼性能的数值计算和可视化软件。它是⼀个⾼度集成的系统,集科学计算、图像处理、声⾳处理于⼀体,具有极⾼的编程效率。如何把Matlab的数值处理和绘图功能与Word结合起来,扩展Word的功能,使⼆者能协调地进⾏⼯作,本⽂将就此问题作⼀探讨(以Matlab 6.5和Word 2002
为例)。
在⼟⼯试验的数据处理过程中,经常需要⽤图形法来描述试验结果,然后通过查图法来求得所需试验参数,例如在⼟的颗粒分析试验中,需要绘制级配曲线
来确定⼟料的限制粒径和有效粒径以及,从⽽计算⼟的不均匀系数
和曲率系数;在⼟的击实试验中,需要⽤击实曲线来体现试验结果,通过查图出最⼤⼲密度和最优含⽔率;在⼟的三轴试验中,需要绘制摩尔圆来确定⼟的凝聚⼒C和内摩擦⾓φ。以前的处理⽅法是⼿⼯绘制或使⽤EXCEL⼯具中的图表功能,但是仅局限于其图形功能,⽽不能进⾏数值计算,相应的数值计算
则需要⼈⼯进⾏。MATLAB不仅提供了图形功能,还增加了计算功能,使数据处理⼯作进⼀步简化。
2 Matlab 和 Word 的链接
2.1 安装Matlab Notebook
有两种⽅法:⼀种是从Matlab系统中安装:⾸先启动Matlab 6.5,在命令窗⼝运⾏函数命令“notebook -setup”(中间有⼀空格)。回车后命令窗⼝出现如下提⽰:
>> Notebook -setup
Welcome to the utility for setting up the MATLAB Notebook for interfacing MATLAB to Microsoft Word(欢迎建⽴Matlab Notebook与Word的公⽤程序)
Choose your version of Microsoft Word:(选择你所使⽤的Word版本)
[1]Microsoft Word 97
[2]Microsoft Word 2OOO
[3]Microsoft Word 2002(XP)
[4]Exit,making no changes
Microsoft Word Version:3(我们这⾥选择3)
然后命令窗⼝出现如下提⽰:
Notebook setup is complete.(Matlab Notebook安装完成)
另⼀种⽅式是把C:\Matlab6p5\notebook\pc\M_book.dot⽂件直接拷贝到C:\Program Files\Microsoft office\office 10\2052⽬录下。
Matlab与Word互相调⽤的⽅法:(也可以作为安装是否成功的检测⽅法)
(1)在Matlab中调⽤Word:在Matlab命令窗⼝直接输⼊notebook命令,系统会⾃动启动Word,其主菜单栏中将增加Notebook ⼀栏。
(2)在Word中调⽤Matlab:启动Word,然后选择“⽂件”菜单下的“新建”,在“根据模板新建”中选择“通⽤模板”,然后选择M-book ⽂档。按确定后系统会⾃动启动Matlab。
2.2 Notebook 的使⽤指令
Notebook某种意义上即是Word中的M-book,Notebook是通过动态连接库和Matlab交互的,交互的基本单位称为细胞
(Cel1)。交换的信息,称为“细胞()”。M-book需要把在Word中输⼊的Matlab命令或者语句组成细胞(),传送到Matlab中运⾏,运⾏输出结果再以细胞()的⽅式传送回M-book中。这样Word 中的输⼊细胞()下⾯会出现计算结果以及仿真图形。“输⼊细胞”是由M-book传送给Matlab的命令,可以多⾏,也可以是包含在⽂本中的命令或者⼀段Matlab程序。“输出细胞”是由
Matlab回传给M-book 的计算结果。“⾃活细胞”是⽤[Notebook]菜单中[Define AutoInit Cel1]命令定义的输⼊细胞,它和输⼊细胞不同之处是:每次打开M-book时会⾃动运⾏⾃活细胞,⽽不会运⾏输⼊细胞;⾃活细胞字符⽤深蓝⾊标注,⽽输⼊细胞⽤绿⾊标注。“细胞”是包含多句Matlab命令的多⾏输⼊细胞或⾃活细胞。
⽣成输⼊细胞:在Word中,⽤⽂本格式输⼊指令,然后选中该部分,在[Notebook]菜单中⽤[Define Input Cel1]命令,这样M-book会把普通⽂本⽣成“输⼊细胞”,并⽤⿊⾊括号把指令括起来,指令变为绿⾊字体。
然后在[Notebook]菜单中⽤[Evaluate Cell]选项,可以实现把⽣成细胞传送到Matlab中运算,运算结果会⾃动回传到M—book 中,运算结果为蓝⾊标识。细胞和细胞的操作相似。
Notebook还提供了计算区(Calc Zone),它把M-book分成⼏个相互独⽴的部分,包括:描述⼀个特定问题或特定操作⽂本,输⼊细胞,输出细胞。当定义⼀个计算区时,Notebook将该部分和M-book其它部分独⽴出来,它的定义以及运⾏和输⼊细胞的操作相似。
Notebook还提供了细胞的循环运⾏,⾸先选定欲重复运⾏的输⼊细胞(⼀定要是绿⾊细胞),接着在[Notebook]菜单中选[Evaluate Loop]选项。[Notebook]菜单功能如下表l所⽰。
表1 Notebook菜单功能
3 MATLAB软件在⼟⼯试验中的应⽤
3.1 图形的形成
颗粒分析试验是测定⼲⼟中各种粒组所占该⼟总质量的百分数的⽅法,借以明了颗粒⼤⼩分布情况,供⼟的分类及概略判断⼟的⼯程性质及选料之⽤。其试
验结果需要提供级配曲线、不均匀系数和曲率系数。表2为⼀组颗粒分析试验测定值:
表2 ⼟料级配
在使⽤MATLAB软件进⾏资料处理时,⾸先调⽤已有的数据⽂件,把颗粒直径数组附值给x,把对应的百分含量数组附值给y,对颗粒直径取对数,建⽴关于颗粒直径的对数与⼩于该粒径的百分含量的三次样条函数关系,在给定的粒径范围内,细化粒径数组,对于给定的取对数后的颗粒直径求解其对应的百分含量,进⾏内插,然后利⽤MATLAB的图形功能在半对数坐标中绘制级配曲线(包括试验数据(虚线)和三次样条曲线(实线))。操作过程如下:在安装好Notebook后,启动Word,然后选择“⽂件”菜单下的“新建”,在“根据模板新建”中选择“通⽤模板”,然后选择“M—book⽂档”,按“确定”后Matlab就会⾃动启
动,Notebook即可使⽤。
在M—book输⼊如下内容:
x=[0.1 0.05 0.02 0.01 0.005 0.001];
y=[100 94.68 72.10 41.82 27.13 11.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]菜单中选⽤[Define Input Cel1],然后选⽤[Evaluate Cel1],即可在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]菜单中选⽤[Define Input Cel1],然后选⽤[Evaluate Cel1],则可在Word中直接计算并输出结果:d10=9.4293e-004,d30 =0.0063,d60
=0.0152,Cu =16.1330,Cc =2.7415
通过以上过程,利⽤MATLAB程序设计语⾔在Word中完成了对⼟的颗粒分析试验的数据处理过程。
4 结语与说明
把Matlab 6.5和Word结合,充分利⽤两者的优点,实现软件的“强强联合”,会给我们在撰写科技报告,论⽂、专著以及电⼦教案时提供了很⼤的⽅便,程序、计算结果以及仿真出的图形都可以同时在Word⽂档中,并且可以随时修改计算命令,随时计算并绘制图形。当然,它也存在⼀些不⾜,如带⿏标的图形交互指令不能在M-book⽂档中运⾏,Matlab指令在M-book⽂档中运⾏速度较慢等。
MATLAB最重要的特点是易于扩展。它允许⽤户⾃⾏建⽴完成指定功能的M
⽂件,从⽽构成适合于其它领域的⼯具箱。对于⼀个从事特定领域⼯作的⼯程师,不仅可利⽤MATLAB所提供的函数及基本⼯具箱函数,⽽且可以⽅便地构造出专⽤的函数,从⽽⼤⼤扩展了其应⽤范围。MATLAB语⾔具有强⼤的图形及计算功
能,尤其是在矩阵运算⽅⾯更是如此。本⽂所涉及的内容仅是其中很少的⼀部分。如果能建⽴⼀个数字模拟系统来模拟⼟⼯试验,将会产⽣极⼤的影响。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。