第6章-MATLAB程序设计_第1页
第6章-MATLAB程序设计_第2页
第6章-MATLAB程序设计_第3页
第6章-MATLAB程序设计_第4页
第6章-MATLAB程序设计_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 MATLAB程序设计,MATLAB作为一种应用广泛的科学计算软件,不仅具有强大的数值计算、数据可视化功能,而且具有强大的程序设计功能。通过编写扩展名为.m的M文件,用户可以实现各种复杂的功能,且MATLAB语言语法简单,库函数丰富,程序易于调试,极大方便了用户的开发过程。 本章主要介绍MATLAB中的M文件、函数定义、类型、参数传递方法,程序控制结构,代码优化方法和程序调试方法等。,【学习目标】 掌握MATLAB中脚本M文件和函数M文件的概念。 掌握MATLAB中函数变量类型、函数参数传递方法、函数类型、函数句柄。 掌握MATLAB中的程序流程控制语句。 掌握MATLAB中的代码优化方

2、法。 掌握MATLAB中的程序调试方法。,6.1 M文件,1.概念 MATLAB语言编写的程序文件称为M文件。 一个M语言文件就是由若干MATLAB的命令组合在一起构成的,通过一个简单的指令就可以执行这些命令;M语言文件是纯文本格式的文件,其扩展名为.m。 2. M文件的创建 通过“File”菜单中“New”子菜单下的“M-File”命令来启动meditor编辑器; 直接单击MATLAB用户界面工具栏上的新建按钮来启动meditor编辑器。 3.M文件分类 根据调用方式的不同分为两类: (1)独立的M文件脚本文件(Script File) (2)可调用的M文件函数文件(Function Fil

3、e),6.1.1 脚本文件 脚本M文件:将原本要在MATLAB环境下直接输入的多条语句,存放在.m后缀的文件,这一文件称为脚本文件。 在命令行键入文件名,Matlab会打开这一脚本文件,并执行文件内容。 脚本文件不包含输入参数和输出参数,通常由M文件正文和注释部分构成,文件正文主要实现特定功能,而注释是给出代码说明,便于阅读。,【例6-1】脚本文件。 g=0:0.5:20; %创建一维向量 x=sin(g); y=cos(g); z=x;y; plot(g,z); %以g为横坐标,绘制x,y的图形 xlabel(g); ylabel(x function y1,yn=fun(x1,x2,x3)

4、 当不含输出变量时,可以直接省略输出部分或用空方括号表示: function printresults(x) function =printresults(x) (2)H1行 以%开头,在Matlab中不执行,通常是帮助文本的第一行,他提供M文件的最重要信息。H1行可由help function-name命令显示,也可以用lookfor命令显示。,(3)函数帮助文本 以% 开头,用来比较详细的说明这一函数。也可以由help function-name命令显示内容,可以显示从H1行到第一个不是以%开头的行为止。 (4)函数体 是Matlab中要执行的主程序。通常是用户自己设计的M函数。 (5)注

5、释 以%开头,可出现在函数的任意位置,也可以加在语句行之后,以便对文本进行解释。,【例6-2】 函数M文件,编写函数,计算向量元素均值。 function y=average(x) % Function 第一个字母不可以大写 %AVERAGE 求向量元素的均值 %语法: %y=average(x) %其中,x为向量,y为计算得到向量元素的均值 %若输入参数为非向量则出错 %代码行 m,n=size(x),%判断输入参数是否为向量 if(m=1)|(n=1)|(m=1,保存该文件(保存时函数名和文件名必须一致,否则,调用函数时需要使用文件名称而非函数名称),调用此函数时在命令窗口输入如下命令:

6、x=1 2 3; y=average(x) y= 2 上述函数第一行为函数定义行, 定义了函数名称average、输入变量x和输出变量y,其中 function为关键词;其后黄色标注行为在线帮助;紫色标注为注释行;白色字体是函数主题,规范函数的运算过程,并指出输出自变量的值。,由于H1帮助行的特殊作用,所以用户自定义M函数文件时,一定要编写相应的h1帮助行,对函数进行简明、扼要的说明或解释。 若在命令窗口键入指令help average,则 help average AVERAGE 求向量元素的均值 语法: y=average(x) 其中,x为向量,y为计算得到向量元素的均值 若输入参数为非向

7、量则出错,【例】length函数的调用。 x=1 2 3; y=1 2 3;4 5 6; length(x) %向量的元素个数即为其长度 ans = 3 length(y) %列数即为矩阵的长度 ans = 3,脚本文件与函数M文件区别: (1)脚本文件没有输入输出参数,函数M文件有; (2)脚本文件运行中可以调用工作空间的数据,运行中产生的所有变量为全局变量。函数文件不能调用工作空间的数据,运行中产生的所有变量为局部变量。 (3)脚本文件可直接运行,函数文件不能,只能调用。,6.1.3 函数变量,函数中的变量包括局部变量、全局变量和永久变量。 函数中的所有变量除非特殊声明外都是局部变量,这些

8、变量存储在该函数独立的工作区中,与其他函数的变量及主工作区中的变量分开存储。当函数调用结束时,这些变量随之删除,不保存在内存中。并且,除了函数返回值,该函数不改变工作区中其他变量的值。 全局变量是在不同的函数工作空间以及基本工作空间中可以被共享的变量。任何函数如果需要使用全局变量,则必须首先声明,语法为: global 变量名1 变量名2,除局部变量和全局变量外,MATLAB中还有一种变量类型为永久变量。永久变量有如下特点: 1.只能在M函数文件内部定义。 2.只有该变量从属的函数能够访问该变量。 3.当函数运行结束时,该变量的值保留在内存中,因此当该函数再次被调用时可以再次利用这些变量。 永

9、久变量的定义方法为: persistent 变量名1 变量名2,6.1.4 函数参数,1. 确定函数参数数目 当调用一个函数时,所用的输入变量和输出变量的数目,在函数内是确定的。函数nargin确定输入变量个数;函数nargout确定输出变量个数。,【例6-3】 nargin函数和nargout函数的使用,根据函数输入输出参数数量执行对应的功能。 function x0, y0 = myplot(x, y, npts, angle, sub) % MYPLOT Plot a function. % MYPLOT(x, y, npts, angle, sub) book.iLoveM % The

10、 first two input arguments are % required; the other three have default values. . if nargin 5, sub = 20; end if nargin 4, angle = 10; end if nargin 3, npts = 25; end .,if nargout = 0 plot(x, y) else x0 = x; y0 = y; end 在上述函数中,函数可以接受2-5个参数,通过nargin确定函数输入参数个数,并对缺少的参数赋予默认值;利用nargout确定输出参数的个数,如果输出参数为0,则

11、绘制图形,不输出任何值,否则输出x0和y0的值。 若输出参数的个数与函数定义的输出参数个数不一致时,将计算得到的前几个输出参数作为返回值。,2. 传递可变数目的参数 函数varargin和varargout允许编程者输入可变数目的变量给函数或者让函数返回可变数目的变量。 MATLAB封装所有的输入参数为单元格数组,封装所有的输出参数为单元格数组返回给调用者。,【例6-4】 varargin函数的使用。 function xmin, ymin=testvar(varargin) for k = 1:length(varargin) x(k) = varargink(1); %函数中使用varar

12、gink(i)访问输入参数数据,花括号表明该数组为单元格,因此k用于访问第k个单元格,而(i)访问该单元格中的第i个元素。 y(k) = varargink(2); end xmin =min(x); ymin = min(y);,函数testvar可以调用具有不同数目的输入参数,如下所示: a,b=testvar(2 3,1 5,4 8,6 5,4 2,2 3) a = 1 b = 2 上例函数testvar可以接受任意个数的输入参数,并将所有输入参数作为一个元胞数组,利用花括号和圆括号对数组元素进行访问,实现了输入参数的调用。,【例6-5】 varargout函数的使用。 function

13、 varargout = testvar2(arrayin) for k = 1:nargout varargoutk = arrayin(k,:); % Cell array assignment,单元数组赋值 end,函数testvar2返回数组arrayin的每一行,如下所示: a = 1 2; 3 4; 5 6; 7 8; 9 0; p1, p2, p3, p4, p5 = testvar2(a) p1 = 1 2 p2 = 3 4 p3 = 5 6 p4 = 7 8 p5 = 9 0,函数varargin和varargout可以出现在输入输出变量列表的末尾,函数调用时必须指定需要的输

14、入和输出变量,如下所示。 function out1,out2 = example1(a,b,varargin) function i,j,varargout = example2(x1,y1,x2,y2,flag),6.1.5 函数句柄,利用函数句柄可以实现对函数的间接调用,可以通过将函数句柄传递给其他函数实现对函数的操作,也可以将函数句柄保存在变量中。 函数句柄通过符号创建,语法为: fhandle = functionname 其中fhandle为函数句柄, functionname为函数名。,函数句柄也可以通过创建匿名函数的方式创建,语法为: fhandle = (arglist) e

15、xpr 其中expr为函数体,arglist为逗号分隔开的输入变量列表。例如:sqr = (x) x.2创建了用于计算输入变量平方的匿名函数。 如果输入变量为空,则arglist为空。t = () datestr(now)匿名函数的输入变量为空。,通过函数句柄实现对函数的间接调用,其调用语法为: fhandle(arg1, arg2, ., argN),其中fhandle为函数句柄。 保存函数句柄,可使用单元数组,如下所示。 trigFun = sin, cos, tan; plot(trigFun2(-pi:0.01:pi),6.1.6 函数类型:,1. 主函数 通常M文件中的第一个函数为主

16、函数,主函数后可以是任意数目的子函数。主函数可以被该文件之外的其他函数调用,主函数的调用通过存储该函数的M文件的文件名调用。M文件的名称一般与主函数的名称保持一致。,2. 子函数 M文件中可以包括多个函数,除主函数之外的其他函数称为子函数。 每个子函数以函数定义语句开始,直至下一个函数的定义或文件的结尾。各个子函数以任意顺序出现,但主函数必须最先出现。 子函数没有在线帮助,且只能被主函数或该文件内的其他子函数调用。,【例6-8】 主函数和子函数。 function avg, med = newstats(u) % 主函数 % NEWSTATS Find mean and median with

17、 internal functions. n = length(u); avg = mean(u, n); med = median(u, n); function a = mean(v, n) % 子函数 % Calculate average(计算平均). a = sum(v)/n;,function m = median(v, n) % 子函数 % Calculate median(计算中位数). w = sort(v); %沿着输入参量v的不同维的方向、从小到大重新排列 v中的元素。 if rem(n, 2) = 1 m = w(n+1) / 2); else m = (w(n/2)

18、+ w(n/2+1) / 2; end 当在M文件中调用函数时,系统首先判断是否为子函数,然后判断是否为私有函数,最后判断其是否为当前目录下的标准M文件函数或者系统内置函数。,3. 嵌套函数 函数体可以定义其他的函数,这种内部函数称为嵌套函数。当M文件存在一个或多个嵌套函数时,M文件中的所有函数必须以end结束。 嵌套函数的语法如下所示: function x = A(p1, p2) . function y = B(p3) . end . end 每个函数可以嵌套多个函数,通常为平级嵌套结构和多层嵌套结构。,【例6-9】 平级嵌套结构。 function x = A(p1, p2) . fu

19、nction y = B(p3) . end function z = C(p4) . end . end 例中函数A嵌套了函数B和函数C。,【例6-10】 多层嵌套结构。 function x = A(p1, p2) . function y = B(p3) . function z = C(p4) .,end . end . end 例中函数A嵌套了函数B,函数B嵌套了函数C。一个嵌套函数可以被下列函数调用: 1) 该嵌套函数的上一层函数。 2) 同一母函数下的同级嵌套函数。 3) 被任一低级别的函数调用。,4. 私有函数 私有函数是指位于private目录下的M文件函数。私有函数的构造与

20、普通M函数完全相同,私有函数只能被private目录的上一级目录下的M函数文件调用,而不能被其他目录下的任何M函数、M脚本文件调用,也不能被上一级目录下的M脚本文件调用。 5. 重载函数 函数重载允许多个函数使用相同的函数名,不同的输入变量数据类型。函数调用时,系统根据函数输入变量的数据类型选择对应的函数。,6.2 MATLAB的程序控制结构,MATLAB的程序控制结构和经典的程序设计语言的控制结构是一致的,结构化的程序主要有以下几种结构: 顺序结构 选择结构 循环结构 程序终止 上述程序控制结构语句使得MATLAB编程功能更加强大。,6.2.1 顺序结构,最简单的程序结构。系统在编译程序时,

21、按照程序代码的前后位置顺序执行。 程序容易编制,但结构单一,能够实现的功能有限。,图1 顺序流程图,【例6-11】顺序结构语句。 r=2 h=4 s=2*r*pi*h+2*pi*r2 v=pi*r2*h disp(the surface area of the colume is :),disp(s) disp(the volume of the colume is :),disp(v) 运行结果: r=2 h=4 s=75.3982 v=50.2655 the surface area of the colume is :75.3982 the volume of the colume is

22、 :50.2655,6.2.2 选择结构-分支结构,选择结构:根据不同的条件选择运行的命令。 包括if分支、switch分支。 1. if分支 条件判断语句,包含单分支、双分支和多分支三种形式。 (1)if单分支结构 if 逻辑表达式 代码块 end,图2 if单分支流程图,【例6-12】 if单分支语句的使用。 a=input(请输入a的值:) if rem(a, 2) = 0 %rem为求余数的命令 disp(a is even) %显示a是偶数 b = a/2 end 当逻辑表达式为一个空数组时,MATLAB认为条件为假;当逻辑表达式为变量时,逻辑真的条件为变量非零。,(2)if双分支结

23、构 【例6-13 】计算分段函数 的值。 案例程序: x=input(请输入X的值:); if x=0 f=x3+5 else f=-x3+5 end 运行结果: 请输入X的值:2 f=13,案例程序: if x=0 f=x3+5 else f=-x3+5 end,if双分支结构 if 逻辑表达式 代码块1 else 代码块2 end,if,图3 if双分支流程图,(3)if多分支结构 当程序包含多个选择时,可以使用elseif多分支语句,结构为: if 表达式1 代码块1 elseif 表达式2 代码块2 . . . else 执行代码块 end 其中可以包含任意多个elseif语句。,【例

24、6-14】 ifelseifelseend语句的使用。 function ifboth(a,b) if a0,调用上述函数: a=44;b=58; ifboth(a,b) a and b are both larger than 0 done,2. switch-case分支语句 是一种多选择语句,其结构为: switch 表达式 (标量或字符串或单元数组) case 值1 语句体1 case 值2 语句体2 . . . otherwise 语句体 end,【例6-15】 switch-case语句的使用 某商场对顾客所购买的商品实行打折销售,标准如下: price200 没有折扣 200pr

25、ice500 3%折扣 500price1000 5%折扣 1000price 10%折扣 输入所售商品价格,求其实际销售价格.,案例程序: price=input(请输入商品价格:) switch fix(price/100) %取整 case 0,1 %价格小于200,不打折 rate=0; case 2,3,4 %价格在200与500之间,3%折扣 rate=3/100; case 5,6,7,8,9 %价格在500与1000之间,5%折扣; rate=5/100; otherwise rate=10/100; end price=price*(1-rate),调用上述函数: 请输入商品

26、价格:350 price = 350 rate = 0.0300 price = 339.5000 当多个条件使用一个case分支时,则需要使用单元数组与之配合,,思 考,比较if多分支语句与switch多分支语句的区别; 尝试使用if多分支语句重新编程解决【例6-15】中的问题。,6.2.3 循环控制语句,按照给定的条件重复执行某些语句。 包括:for循环和while循环。 1. for循环 允许一组命令以固定和预定的次数重复。其结构为: for 循环变量 = 开始值:增量:结束值 执行代码块 end 缺省增量为1,可以指定任意的增量。 循环次数N=1+(结束值-开始值)/增量 for循环可

27、以嵌套使用。,【例6-16】 用for循环求1+2+3+99+100 s=0 for i = 1:100 s = s+i; end 运行结果: s= 5050 【例6-17】 for循环的嵌套 for m = 1:5 for n = 1:5 A(m, n) = 1/(m + n - 1); end end,【例6-17】运行结果: A = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1

28、429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 for循环的循环变量可以是行向量,也可以是矩阵,矩阵作为循环变量时,每一次循环是将该矩阵各列元素赋值给循环变量,循环的次数为矩阵的列数。,2. while循环 以可变的次数执行程序代码。其结构为: while 表达式 执行代码块 end 【例6-18】 计算n!100的最大的n值。 n = 1; while prod(1:n) 100 %prod函数用于计算向量所有元素的积。 n = n + 1; end n=n-1,6.2.4 误差控制语句,是一种试探性的对异常语句进行处理的语句,其结构为: try

29、运行代码块1, catch 运行代码块2, end 上述语句如果在catch和end之间的程序运行出错,则程序运行终止,或者运行下一个try-catch-end结构. 可以利用lasterr命令查看发生错误的原因。,【例6-19】 误差控制语句的使用。 n=4; A=pascal(3); try A_n=A(n,:), catch A_end=A(end,:), end 程序运行结果如下: A_end = 1 3 6 lasterr ans = Index exceeds matrix dimensions,6.2.5 其他流程控制语句,在程序设计中通常需要提前终止循环、结束程序的运行、显示错

30、误信息等情况,MATLAB提供了continue、break、return、echo、error等语句。 1. continue语句 通常用在循环控制中,用于结束当次循环,继续执行下一次循环,但是不结束当前循环。 一般continue语句与if语句相结合,当满足一定的条件时,执行continue语句。 2.break语句 也用于循环控制,中断当前循环,执行该循环体之后的语句。,3. return语句 用于结束正在运行的函数,返回到调用函数。经常用于函数的末尾,正常结束函数的运行,也可以在某条件满足时强行结束函数的运行。 4. error语句 显示出错信息并终止当前函数的运行,其语法为:erro

31、r(message) 类似的语句还有warning函数,二者区别在于warning函数显示警告信息后程序仍继续执行。 5. input语句 用来提示用户从键盘输入数值、字符串或数组等数据,并接收输入值,其语法为: user_entry=input(prompt) user_entry=input(prompt,s),6. keyboard语句 用于停止文件的执行并将控制权交给键盘。通过在提示符前显示K来表示一种特殊状态。使用该函数,对程序的调试及程序运行中修改变量都很方便。 7. pause语句 用于暂时中止程序的运行,等待用户按任意键继续运行。该函数在程序的调试过程和用户需要查询中间结果时使

32、用,其语法为: pause pause(n) pause on pause off,6.3 MATLAB程序优化,MATLAB提供了两种方法进行程序的优化,一种通过Profiler工具,另一种通过tic和toc函数进行。本节将介绍这两种程序运行分析的方法,并介绍程序优化的常用方法。,6.3.1 通过Profiler进行程序运行分析,Profiler工具为MATLAB中的图形用户接口,用于分析程序运行时各个部分所消耗的时间,辅助用户进行程序优化。Profiler可以从以下几个方面提供程序运行信息。 1. 避免由于疏忽造成的非必要操作。 2. 替换运行较慢的算法,选择快速算法。 3. 通过存储变量

33、的方式避免重复计算。,通过Profiler工具进行程序运行分析通常按以下步骤进行: 1. 查看Profiler生成的通体报告,查找运行时间最多的函数或调用最频繁的函数。 2. 查看这些函数的详细报告,查找其中运行时间最多的语句或调用最频繁的语句。 3. 确定在运行时间最多的函数或代码是否存在改进的可能。 4. 单击界面链接,打开相应文件进行修改。 5.重复进行上述的分析、修改,直到得到满意结果。,下面介绍Profiler工具的具体使用。 1. 打开Profiler MATLAB中可以通过以下方式打开Profiler: 1) 单击MATLAB工具栏中的Profiler图标,激活Prolifer工

34、具。 2) 对于在编辑器中打开的M文件,选择Tools-Open Profiler。 3) 在命令行窗口中输入:profiler viewer。,2. 运行Profiler Profiler工具界面如图6.1所示。在Run this code中输入需要分析的命令或表达式,单击start profiling按钮,开始分析。,3. 查看分析结果 分析完成后,Profiler会生成分析报告,包括总体报告和针对每个函数的详细报告。总体报告中包括函数名、被调用次数、总运行时间、函数单独运行时间(即不包含其子函数的运行时间)及函数运行时间的图形显示,如图6.2所示。用户可以单击每列的标题改变结果的排序方式

35、,也可以单击函数标题查看该函数的详细报告。,函数详细报告中包括该函数中每行代码的被调用次数和运行时间,并且可以显示其中的子函数、函数列表等,如图6.3所示。另外用户可以单击“Copy to new window for comparing multiple runs”将该结果保存至新的窗口中,用于修改代码后进行再次分析、比较。,6.3.2 通过tic和toc函数进行程序运行分析,如果只需要了解程序的运行时间,或者比较一段程序在不同应用条件下的运行速度,可以通过计时器来进行。计时器包含两个函数:tic和toc函数。tic函数用于开始计时器,toc用于关闭计时器,并计算程序运行的总时间。计时器函数

36、的语法为: tic any statements %所需计时的程序代码 toc t = toc %保存计时时间,6.3.3 程序优化的常用方法,同样的功能可以采用不同的编程方法实现,不同的编程方法运行速度不同。本节将介绍一些提高M文件执行速度、优化内存管理的常用方法,包括循环向量化和数组内存的预分配等。,1. 循环向量化 MATLAB的一个缺点是当对矩阵的单个元素作循环时运算速度很慢。编程时,把循环向量化,不但能缩短程序的长度,更能提高程序的执行效率。由于MATLAB的基本数据类型为矩阵和向量,所以编程时,应尽量对向量和矩阵编程,而不是对矩阵元素进行编程。,【例6-20】 向量化for循环 %

37、 loop.m tic x=1; for k=1:1001 y(k)=log10(x); x=x+0.01; end toc loop Elapsed time is 0.006188 seconds.,% vetcor_loop.m tic x=1:0.01:10; y=log10(x); toc vector_loop Elapsed time is 0.003630 seconds. 对比可得,编程时尽量不用循环语句。,2. 数组内存预分配 在for循环或while循环中,如果数组大小随着循环而增加则会严重影响内存的使用效率。如下面的代码: tic a=1 2 3;4 5 6;7 8 9

38、; for i=1:100 y(i)=det(ai); end toc 运行得: Elapsed time is 0.100146 seconds.,以下代码首先创建变量y ,其值为0,在for循环中,将其扩展为长度为100的一维数组。在每一次扩展中,系统需要寻找更大的连续内存区域,用于存放该数组,并将数组从原地址移动到新地址中。该代码可以通过下面的代码实现:,tic a=1 2 3;4 5 6;7 8 9; y=zeros(1,100) for i=1:100 y(i)=det(ai); end toc 运行: Elapsed time is 0.002580 seconds. 在该代码中,

39、首先为数组y分配内存区域,将y的所有元素赋值为0。这样可以节约重新分配内存的时间,提高程序的效率。,MATLAB中,可以用于分配内存的函数有zeros和cell,分别用于数值数组和单元数组分配内存。用zeros为数组分配内存时,如果数组的类型是double以外的类型,则应利用下面的语句进行: A=zeros(100,int8); 该语句为A分配100*100的int8类型的内存。 A=int8(zeros(100); 该语句为A分配100*100的double类型的内存,再将其转换为int8类型。,3. 其他方法 1) 对数组赋值时避免改变数组的类型或者数组大小。 2) 对实数进行操作,尽量避

40、免复数的操作。 3) 合理使用逻辑运算符。 4) 避免重载MATLAB中的内置函数和操作符。 5) 通常情况下函数的运行效率高于脚本文件。 6) load和save函数效率高于文件输入输出函数。,6.4 程序调试,MATLAB程序中的错误包括语法错误和逻辑错误。 语法错误可以由编译器检测,在编写时,如果语法出现错误,则编辑器会在错误处标志红色弯曲下划线,同时如果将鼠标放置此处会显示错误内容提示。或者当下划线为橙色时,表示此处语法正确,但是可能会导致错误,即系统发出警告。如:单引号要在英文状态下输入;函数名写错;矩阵相乘,要同维等。,逻辑错误是算法本身的问题,或者指令使用不当造成的运行结果错误。这些错误发生在运行过程中,影响因素很多,计算机一般不显示,调试较为困难。 通常程序调试有两种方法:直接调试法和利用MATLAB调试工具进行调试的方法。,6.4.1 直接调试法,MATLAB语言具有强大的运算能力,指令系统简单,因此程序通常非常简捷。对于简单的程序可以采用直接调试的方法。 在程序调试时,程序运行中变量的值是一个重要的线索。因此,查看变量

温馨提示

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

评论

0/150

提交评论