- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章_Matlab程序设计_part4精要
isa函数举例 [例] 输入以下命令,观察执行结果 a=eye(3); isa(a,logical),isa(a,integer), isa(a, single),isa(a,double),isa(a, float) b=int8(a); isa(b,integer), isa(b,int8) c=logical(a); isa(c,logical) S.name=Zhang San;S.age=38; isa(S, struct), isa(S,char), isa(S.name,char) C={Zhang, Wang, Li, Zhao}; isa(C, cell),iscellstr(C),isa(C, char),isa(C{1}, char) isfield函数 格式:isfield(x, name) 功能:判断由字符串name指定的标记符是否为架构数组x的域名。如果是,返回1,否则返回0。 例如: clear; S=struct(name,Zhang San,scores,[70 80 90]) isfield(S, name) isfield(S, scores) isfield(S, age) 这些函数在什么函数库中? elmat(基本矩阵和矩阵操作),elfun(基本数学函数) strfun(字符串函数) datatypes(数据类型函数) sparfun(稀疏矩阵) 3.8.2 容错函数 1)error函数 格式:error(‘错误信息’) 程序执行到error语句时,将显示错误信息并终止程序的运行。 2)warning函数 warning的用法类似于函数error, 不同的是:warning并不终止程序的执行,而仅给出警告信息。 其它有关的函数:lasterr(给出上一个错误信息), lastwarn(给出上一个警告信息)。 3) try-catch结构: 格式: try 语句组1 catch 语句组2 end 在执行以上程序时,将先执行语句组1,如果执行语句组1时出错,则将执行语句组2(如果执行语句组2时也出错,将终止程序的执行)。 3.8.3 串演算函数 1. eval函数 格式: eval(s) s是字符串,其内容可以是任何合法的指令、表达式、语句或M文件名。功能: 将字符串s的内容作为命令或者表达式进行执行或运算。 y=eval(s) 将字符串s的内容作为表达式进行计算,将结果赋值给y。 [y1,y2,…]=eval(s) 若字符串s的内容是“某函数名(输入实参表)”,则将“[y1,y2,…]”作为输出实参执行该函数调用。 eval函数用法示例 [例1]计算表达式 clear; t=pi; expr=‘[t/2, t*2, sin(t)]’ ; y=eval(expr) [例2] 执行语句串 clear; t=pi; eval(‘theta=t/2, y=sin(theta)’); who [例3] 生成1到12阶魔方矩阵,分别存入矩阵M1,…,M12 for n = 1:12 eval([M num2str(n) = magic(n)]); end [例4] 编写命令文件MyCal.m,计算由用户输入的表达式。程序如下: clear; X=1:100; while 1 ExpStr=input(expression=,s); if strcmpi(ExpStr, end) break; end eval(ExpStr) end [例5] 编写程序,由用户输入任意级数的项数和通项(第n项)表达式字符串,求前K项的和。 程序如下: clear InitVarStr=input(输入变量初始化命令=,s); eval(InitVarStr) while 1 N=input(输入项数); if isempty(N) || N=0 , break, end nthTermStr=input(输入第n项的表达式=, s); if isempty(nthTermStr) , break, end S=0; for n=1:N S=S+eval(nthTermStr); end display([The sum is , num2str(S)]); end 将以上程序保存到命令文件中, 然后运行。 例如:要计算 的和,(要求输入初始化命令时回车即可)项数N和通项表达式分别输入10和n,则得到和为55; 要计算x=2,N
文档评论(0)