Matlab程序设计

来源:互联网 发布:淘宝所有宝贝链接 编辑:程序博客网 时间:2024/06/11 03:36

1.switch-case-end结构

function grade_assess(Name,Score)%此函数用来评定学生的成绩%Name,Score为参数,需要用户输入%Name中的元素为学生姓名%Score中元素为学分数%编写日期 2014-6-21%统计学生人数n = length(Name);%将分数区间划开:优(85~100),良(70~84),及格(60~69),不及格(60以下)for i = 0:15    A_level{i+1}=85+i;    if i<=14        B_level{i+1}=70+i;        if i<=9            C_level{i+1}=60+i;        end    endend%创建存储成绩等级的数组Level=cell(1,n);%创建结构体SS = struct('Name', Name, 'Score', Score, 'Level', Level);%根据学生成绩,给出相应的等级for i = 1:n    switch S(i).Score        case A_level            S(i).Level = '优';        case B_level            S(i).Level = '良';        case C_level            S(i).Level = '及格';        otherwise            S(i).Level = '不及格'    endend%显示所有学生的成绩等级评定disp(['学生姓名',blanks(4),'得分',blanks(4),'等级']);for i=1:n    disp([S(i).Name,blanks(8),num2str(S(i).Score),blanks(6),S(i).Level]);end

>> Name = {'赵一','王二','张三','李四'};>> Score = {90,46,84,71};>> grade_assess(Name,Score);学生姓名    得分    等级赵一        90      优王二        46      不及格张三        84      良李四        71      良>> 

2.try-catch-end结构

try

    语句组1

catch

    语句组2

end

在程序不出错的情况下,这种结构只有语句组1被执行;若程序出现错误,那么错误信息将被捕获,并存放在lasterr变量中,然后执行语句组2;若在执行语句组2的时候,程序又出现错误,那么程序将自动终止,除非相应的错误被另一个try-catch-end结构所捕获.


>> errorcatch10的阶乘为:程序有错误错误为:ans =Undefined function or variable "S".>> 

从上面这个例子,我们可以清楚地看到try-catch-end结构的运行顺序,先逐行运行try和catch之间的语句,当运行到第八行时出现错误,即"S"没有定义,系统将这一错误信息捕获并将其保存到变量lasterr中,然后执行catch与end之间的程序行.

3.echo命令

该命令用来控制M文件在执行过程中显示与否,它通常用在对程序的调试与演示中.echo命令的调用格式如下:

调用格式                                    说明

echo on                                     显示M文件执行过程

echo off     不显示M文件执行过程

echo                                           在上面两个命令间切换

echo FileName on                  显示名为FileName的函数文件的执行过程

echo FileName off                   关闭名为FileName的函数文件的执行过程

echo FileName                     在上面两个命令间切换

echo on all                                显示所有函数文件的执行过程

echo off all                                显示所有函数文件的执行过程

注意:上面命令中涉及到的函数文件必须是当前内存中的函数文件,对于那些不在内存中的函数文件,上述命令将不起作用.实际操作时,可以利用inmem命令来查看当前内存中有哪些函数文件.



>> A = [];>> B = [3 4];>> C = sumAB(A,B);Warning: A为空矩阵!> In sumAB at 9>> CC =     []>> 

然后我们显示上面函数的执行过程.

>> echo on all>> C = sumAB(A,B)%此函数用来求矩阵A,B相加之和%编写日期:2014-6-22[m1,n1] = size(A);[m2,n2] = size(B);%若A,B中有一个为空矩阵或两者的维数不一致则返回空矩阵,并给出警告信息if isempty(A)    warning('A为空矩阵!');Warning: A为空矩阵!> In sumAB at 9    C=[];    return ;C =     []>> 

4.warning命令

该命令用于在程序运行时给出必要的警告信息,其调用格式如下

调用格式                                                     说明 

warning('message')                            显示警告信息"message",其中message为文本信息

warning('message',a1,a2,....)            显示警告信息"message",其中message包含转义字符,且每转义字符的值将被转化为a1,a2,...的值

warning on                                             显示其后所有warning命令的警告信息

warning off                                             不显示其后所有warning命令的 警告信息

warning debug                                      当遇到一个警告时,启动调试程序


>> y = log_3(-1)Warning: x的值不能为负数!> In log_3 at 9y =     []>> y = log_3(0)Warning: x的值不能为0!> In log_3 at 13y =     []>> y = log_3(4)y =    1.2619>> 
5.error命令
该命令用来显示错误信息,同时返回键盘控制.其调用格式如下:

调用格式                                                                  说明 

error('message')                                             终止程序并显示错误信息"message"

error("message",a1,a2,...)                            终止程序并显示错误信息"message",其中message包含转义字符,且每转义字符的值将被转化为a1,a2,....的值

这个命令的用法与warning命令的用法非常相似,只过它执行后将立即终止程序的运行.


在利用MATLAB编写程序时,我们可以通过交互的方式来协调程序的运行.常用的交互命令的有input命令,keyboard命令以及menu命令等.下面主要介绍它们的用法及作用.

6.input命令

该命令用来提示用户从键盘输入数值、字符串或表达式,并将相应的值赋给指定的变量。它的调用格式如下:

调用格式                                                    说明

s=input('message')                              在屏幕上显示提示信息“message",待用户输入信息后,将相应的值赋给变量s,若无输入则返回空矩阵

s=input('message','s')                         在屏幕上显示提示信息”message",并将用户的输入信息以字符串的形式赋给变量s,若无输入则返回空矩阵




>> sum_ab请输入a[4 5;3 4]请输入b[1 2;2 3]ans =     5     7     5     7>> 

7.keyboard命令

该命令是一个键盘调用命令,即当在一个M文件中或者命令窗口中运行该命令后,该文件将停止执行并将“控制权”交给键盘,产生一个以K开头的提示符(K>>)。用户可以通过键盘输入各种MATLAB的合法命令,只有当输入return命令时,程序才将“控制权”交给原M文件或者命令窗口。


>> sub_abK>> returnans =     1>> sub_abK>> 

8.menu命令

该命令用来产生一个菜单供用户选择,它的使用格式为:

k=menu('mtitle','opt1','opt2',...,'optn')

产生一个标题为"mtitle“的菜单,菜单选项为"opt1"到”optn",若用户选择第i个选择“opti",则k的值取i.







0 0
原创粉丝点击