生物医学数据分析及其matlab实现源码与3matlab base_第1页
生物医学数据分析及其matlab实现源码与3matlab base_第2页
生物医学数据分析及其matlab实现源码与3matlab base_第3页
生物医学数据分析及其matlab实现源码与3matlab base_第4页
生物医学数据分析及其matlab实现源码与3matlab base_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章应用基础知识结构第2章应用基础程序设计数据可视化程序设计M文件函数程序流程控制M文件由于的程序文件和应用程序都以.m为扩展名,所以它常被称为M文件(M-File)。M文件为ASCII码的纯文本格式,可以用各种文本编辑器打开进行编辑。当执行程序时对M文件可以逐行解释运行。M文件可以通过菜单栏的FileNewM-File命令来建立,也可以直接用“记事本”之类的文本编辑器建立文本文件后,输入程序后“另存为”扩展名为.m的文件。注意不能在命令窗口下建立M文件。程序文件通常包括程序部分和注释部分。注释应该清晰、易于理解。M文件中注释的部分是通过百分号%(英文状态下输入)来区分的。函数函数:完成特定

2、功能的子程序段。Built-in functions(内建函数,函数库)User-defined functions(使用者自建函数)函数数学函数函数名称函数名称sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数abs(x)绝对值max(x)最大值min(x)最小值sum(x)元素的总和sqrt(x)开平方exp(x)以 e 为底的指数log(x)自然对数log10(x)以 10 为底的对数sign(x)符号函数fix(x)取整函数函数文件是文件名后缀为.m的文件,正文第一行必须以特定字符function开始,格

3、式为:function输出变量名=函数名(输入变量名)例如:自定义一个名为examsum的函数,其函数文件为examsum.m。function result=examsum(a,b)result=a+b;函数调用的基本形式为:返回变量列表=function_name(输入变量列表)函数(1) 使用函数可以加快计算速度。当首次执行一个函数时,它将打开的文件编译为器形式,加速了执行速度。而普通的M文件不被编译,而是在每次编译时,文件将被逐行解释执行。因此建议将能进行模块化编程的部分都应写成函数文件。函数可以嵌套,即在函数中可以调用其他的函数,甚至可以调用自己本身(递归调用)。在建立函数文件时,函

4、数文件名必须和函数名称保持一致,如sin()函数的文件名必须为s。(4) 需要注意函数文件的放置位置,一般应将自定义的函数文件放在当前目录下的搜索路径。如果对某一特定专题编写了很多函数,就可以将其放在一个固定的目录下,并在径,这样就生成了一个自定义的工具箱。中加入这个目录路(5) 在中打开函数文件的快捷方法为:用鼠标选中函数名,使其显示,在右键的快捷菜单中选择open selection命令或按F4键即可打开同名的函数文件。程序设计程序M文件与m函数图形显示其它输出流程控制函数语句各种运算符变量程序流程控制循环语句 for, while条件转移 if end, if elseif else e

5、nd开关语句 switch case注释语句 %中断语句 break暂停语句 pause回显语句 echo on/off程序流程控制for循环:允许一组命令以固定的次数重复一般形式为:for k=array循环结构体endn = for5i = 1:n a(i) = i+2;endtest = 1;While循环一般形式为:while (条件表达式)循环结构体end只要条件表达式的逻辑值为真(非零),就执行循环结构体。cnt = while1;(test = b(cnt) =0)1/test;test = test - 0.1; cnt = cnt + 1;end程序流程控制if a=b0=

6、a;条件转移结构if (条件表达式1)代码段1elseif (条件表达式2)代码段2 else代码段Nendelseb= 1/a;endif and(x xmin,x xmax)disp(x is too large); elseif (x x=-pi:0.1:pi;plot(x,y) plot(x,y,s-)y=sin(x);xlabel(x);ylabel(y=sin(x);Can change plot properties in Figure, or via ”handle”h=plot(x,y);set(h,LineWidth,4);10.80.60.40.20-0.2-0.4-0.

7、6-0.8-1-4-3-2-10 x1 0.22340-0.2-0.4-0.6-0.8-1-4-3-2-101234y=sin(x)二维图形的绘制【例2.4】二维曲线的绘制clear; %清除内存变量clc; %清除命令窗口的内容 close all; %关闭所有的图形窗口 t=0:0.01:0.5;y1=sin(2*pi*t); y2=sin(2*pi*5*t); y3=sin(2*pi*2*t+pi/3);plot(t,y1,t,y2,t,y3);%也可以用plot(t,y1,y2,y3)legend(y1,y2,y3);%添加图例 title(不同的正弦曲线);%添加标题 grid on

8、 %添加网格线x=-pi:.1:pi; %x为从-pi开始,步长为0.1,到不超过pi为止的行向量 y=sin(x);figure%建立一个新的图形窗口plot(x,y,-rd,LineWidth,2,.设置绘制曲线不同的性质MarkerEdgeColor,k,.采用续行符进行长命令行的输入 MarkerFaceColor,g,.MarkerSize,10)set(gca,XTick,-pi:pi/2:pi)%对x轴刻度进行特殊字符的标注set(gca,XTickLabel,-pi,-pi/2,0,pi/2,pi)text(-pi/4,sin(-pi/4),leftarrow sin(-iv4

9、),.HorizontalAlignment,left)%在图形的指定位置上添加特殊字符xlabel(x);ylabel(y);% 对x轴进行标注% 对y轴进行标注二维图形的绘制其他二维图形二维图形的绘制二维图形绘制命令plot fill loglog semilogx semilogy bar errorbar fplot hist polar rose stairslinear plot of lines, po filled 2D polygons log-log scale plots or symbolslog (x-axis) - linear (y-axis) plot log

10、(y-axis) - linear (x-axis) plot Linear plot with error bars Function plothistogrampolar coordinate plotangular histogr stairstep plotlot二维图形的绘制二维图像的绘制二维图像是一种特殊的二维图形,绘制的实质是根据因变量z在二维X-Y平面上所有的(x,y)采样点处的值,将其色进行显示。为灰度或伪彩例矩阵数据的可视化P=phantom(256);imagesc(P)colormap(gray);二维图形的绘制图像的显示loadmandrillimage(X);col

11、ormap(map)axisimageoff三维图形的绘制三维曲线的绘制三维曲线绘制的实质是在三中标出一些特定的(x,y,z)点,并按照向量顺序依次用折线把这些点连起来。t = 0:pi/50:10*pi;plot3(s),cos( t),t) % 绘制三维曲线grid onaxis squarexlabel(s),fontsize,12,fontweight,b)ylabel(cos(t), fontsize,12,fontweight,b)zlabel(t,fontsize,12,fontweight,b);三维图形的绘制三维曲面的绘制显示两变量的函数z=f(x,y),首先应调用meshg

12、rid函数产生x、y的采样点网格矩阵,然后计算函数z在各网格点上的值,最后用mesh或surf函数来绘制三维曲面。其调用的常用格式为:X,Y=meshgrid(v1,v2)%生成网格数据Z=X.2+Y.2;surf(X,Y,Z)mesh(X,Y,Z),%代入具体的函数表达式,计算Z%或者%如果直接有矩阵Z,可用surf(Z)或mesh(Z)三维图形的绘制三维曲面的绘制(a) mesh绘制的网格图(b) surf绘制的表面图三维图形的绘制三维曲面的绘制(c) surfc绘制的表面图(d) surfl 绘制的表面图三维图形的绘制三维曲面的绘制(e) contour3绘制的三维等高线三维图形的绘制三

13、维图形的视角改变视角:view(,)三维图形的绘制三维图形的视角三维图形的不同视角三维图形的绘制三维图形绘制命令plot3 fill3contour,contour3 pcolorPlot lines and pos in 3D spaceFilled 3D polygons in 3D space contour data in 2D or 3D space checkerboard color plot in 2D vector plot in 2D or 3DStream lines in 2D or 3DMesh surface in 3D, with contours or zero

14、 plane.Shaded surface in 3DDisplay surface normal vectors. Generate a cylinder or sphere.quiver, stream,quiver3 stream3mesh,meshc,meshzsurf,surfc,surflsurfnorm cylinder,sphere常用绘图相关命令figure subplot title xlabel ylabel, text axis建立一个新的图形窗口在一个图形窗口中绘制多个子图添加标题标注X轴标注y轴或z轴在指定位置处添加文字定义坐标轴的显示范围显示色标定义光照类型设置图

15、形对象的属性获得图形对象的当前属性获得当前坐标轴的句柄 获得当前图形窗口的句柄zlabelcolorbar shading Setget gca gcfMultiple Plotsclose all subplot(2, 2, 1);plot(x, y, r)subplot(2, 2, 2);plot(x, y, b)subplot(2, 2, 3);plot(x, y, g)subplot(2, 2, 4);plot(x, y, y)Get PropertiesFinding handles:gcf - get current figure handlegca - get current a

16、xes handle Getting properties :get(h) - all properties of the graphics object identified by the handle h.get(h, PName) - get the value of the property PName of the graphics object identified by h.Set PropertiesSetting properties :set(h, PName, PValue, .) - sets the named properties to the specified

17、values on the object(s) identified by the handle(s).For exle :x = -pi:.1:pi; y = sin(x);plot(x, y)set(gca, XTick, -pi:pi/2:pi)set(gca, XTickLabel, -pi,-pi/2,0,pi/2,pi)MoviesZ = peaks; surf(Z); axis tightset(gca, nextplot, replacechildren);% Record the movie for j = 1:20surf(sin(2*pi*j/20)*Z, Z) M(j)

18、 = getframe;end% Play the movie twenty times movie(M,20) movie2avi(M,test1.avi);体数据的可视化体数据的可视化体数据与向量数据和矩阵数据类似,体数据实际上是因变量T随三中采样点(x,y,z)变化的值,即T=f(x,y,z)。如假设维数为mnp的多维数组T表示不同位置处的组织密度,则T的任一元素值T(i,j,k)表示在密度大小为T(i,j,k)。(i,j,k)处的体数据集通常用数组的形式表示。体数据的可视化体数据与向量数据和矩阵数据类似,体数据实际上是因变量T随三中采样点(x,y,z)变化的值,即T=f(x,y,z)。如假设维数为mnp的多维数组T表示不同位置处的组织密度,则T的任一元素值T(i,j,k)表示在密度大小为T(i,j,k)。(i,j,k)处的体数据集通常用数组的形式表示。体数据的可视化体数据的可视化对三维的体数据集进行显示,得到直观、立体的三维模型。通常利用若干个二维图像数据重建三维的体数据集,包括表面重建与体重建。表面重建只显示物体的表面,不需要的数据。而体重建则需要表面和体数据的可视化要求结果具的所有数据。感。体数据的可视化体数据可视化的步骤(1) 明确体数据集的各种特性,比如对数据的取值范围、各坐标轴的范围等都有所了解。(2)(3)比例和选择合适的可视化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论