第4章程式的设计与流程控制.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章程式的设计与流程控制

第4章程式設計與流程控制 關係運算子與邏輯運算子 關係運算子 關係運算子(relational operators)可用來比較二個數字之間的大小: 表8.1.1 關係運算子 關係運算子 說 明 小於 = 小於或等於 大於 = 大於或等於 == 等於 ~= 不等於 4=12 ans = 1 test=[1 3 4][2 2 1] test = 1 0 0 a=[-1 0 2 3 1 5] a = -1 0 2 3 1 5 b=a2 b = 1 1 0 0 1 0 如果希望判斷結果為陣列的索引值時,可用find函數: 表8.1.2 find函數的使用 函 數 說 明 ind=find(array) 找出陣列array中,元素值不是0之元素的一維索引值,並把此索引值設定給變數ind存放 [r,c]=find(array) 同上,但回應陣列的二維索引值,並把列索引值設定給變數r存放,把行索引值設定給變數c存放 find([0 2 0;0 1 0;0 0 0]) ans = 4 5 8.1.2 邏輯運算子 邏輯運算子(logical operators)是用來運算2個邏輯變數之間的關係: 表8.1.3 邏輯運算子 邏輯運算子 說 明 and運算。兩個運算元必須同為true,其結果才為true | or運算。兩個運算元中,只要有一個為true,其結果便為true ~ not運算,也就是把true變為false,或把false變為true 40 ans = 0 [1 0 3] | [2 0 0] ans = 1 0 1 all與any可用來判斷陣列裡是否有非零的元素: 表8.1.4 any與all函數 函 數 說 明 all(v) 當向量v裡所有的元素皆為true(非零)時,則傳回1,否則傳回0 any(v) 只要向量v裡有一個元素為true(非零)時,則傳回1,否則傳回0 any([1 2 0 0 0]) ans = 1 all([1 2 0 0 0]) ans = 0 8.1.3 性質測試函數 Matlab所提了性質測試函數,來測試其引數是否符合某些性質: 表8.1.5 性質測試函數 函 數 說 明 ischar(a) 測試引數a是否為一個字元陣列 isempty(a) 測試引數a是否為一個空陣列 isequal(a,b) 測試引數a與b裡的元素個數與數值是否均相等 isfloat(a) 測試引數a是否為一個浮點數陣列(包含虛數) isinteger(a) 測試引數a是否為一個n-bit整數陣列 islogical(a) 測試引數a是否為一個邏輯型態的陣列 isnan(a) 測試引數a是否為一個NaN(not a number)的陣列 isnumeric(a) 測試引數a是否為數值(包含n-bit整數、實數與虛數) isprime(a) 測試引數a是否為質數 isreal(a) 測試引數a是否為實數(含邏輯型態,但不包含n-bit整數) isscalar(a) 測試引數a是否為純量(scalars) issorted(a) 測試引數a是否為已經排序好 isspace(a) 測試字元陣列a裡是否有包含空白字元 isvector(a) 測試引數a是否為一個向量 isempty([]) ans = 1 isequal([1 2 3 4],[1 2 3 0]) ans = 0 isfloat(5) ans = 1 8.2 選擇性敘述 8.2.1 使用if-elseif-else指令 當程式中有分歧的判斷敘述時,便可使用if-elseif-else指令來處理: 表8.2.1 if與if-else指令 指令 說 明 if 判斷條件 敘述主體 end 若判斷條件為true,則執行敘述主體 if 判斷條件 敘述主體1 else 敘述主體2 end 若判斷條件為true,則執行敘述主體1,否則執行敘述主體2 %script8_1.m if 53 disp(5大於3) end script8_1 5大於3 function func8_1(num) if mod(num,2)==0 fprintf(%g是偶數\n,num) else fprintf(%g是奇數\n,num) end func8_1(12) 12是偶數 表8.2.2

文档评论(0)

bokegood + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档