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.
- MATLAB程序设计
- matlab程序设计
- Matlab程序设计
- MATLAB程序设计
- Matlab程序设计
- matlab程序设计
- PCA程序设计(Matlab)
- MATLAB的GUI 程序设计
- 《MATLAB面向对象程序设计》
- MATLAB 03-程序设计
- MATLAB 基础之程序设计
- M文件程序设计(matlab)
- Matlab编程序设计数字滤波器
- Matlab studying~程序设计1
- Advanced Programming in MATLAB 高级matlab程序设计
- MATLAB程序设计教程(3)——MATLAB程序设计
- MATLAB的GUI应用程序设计
- matlab程序设计的一些问题
- 完全用linux
- 四大组件之ContentProvider使用
- 机房收费系统重构(—)—小试牛刀
- java 关于日期的学习
- 遇到一些小问题,请试试更多方法,在下决策
- Matlab程序设计
- 单例模式
- 点击<a>关闭div
- Android官方文档---支持不同的语言
- 怎样快速学习一门新技术
- atan、atanf、atanl、atan2、atan2f、atan2l
- [我要当火影]火影之路将于2014-07-01开始
- Android官方文档---支持不同的屏幕
- 答大二学生:坚持正确方向,改变学习方式