MATLAB程式设计入门篇M档案.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB程式设计入门篇M档案

15-4 區域變數與全域變數 區域變數(Local Variables) 每一個函數在運算時,均佔用個別的記憶體 此工作空間和 MATLAB 的基本工作空間或是其他函數的工作空間是互相獨立的 不同空間的變數是完全獨立,不會相互影響 不同工作空間的變數,稱為「區域變數」 全域變數的使用 (I) 若要減少變數的傳遞,可用「全域變數」(Global Variables) 使用全域變數前,需先進行變數宣告 type func6.m function func6 global X % 全域變數宣告 X = X + 2; fprintf(The value of X in func6 is %g.\n, X); 全域變數的使用 (II) Func6.m沒有輸出和輸入,只宣告全域變數 X,將 X 的值加 2,並印出其值 測試 global X % 在基本工作空間進行全域變數 x 的宣告 X = 2; fprintf(The value of X in the base workspace is %g.\n, X); The value of X in the base workspace is 2. ? func6; The value of X in func6 is 4. fprintf(The value of X in the base workspace is %g.\n, X); The value of X in the base workspace is 4. 全域變數的使用原則 盡量少用全域變數 全域變數使程式的流程不透明,造成程式除錯或維護的困難 使用全域變數,請遵循下列兩原則 在各個工作空間使用前,一定要個別宣告 使用全部大寫或較長的變數名稱,以資區別 檢視工作空間的變數,輸入whos global 清除所有工作空間的全域變數 X,需使用 clear global X 15-5 程式碼保護:p-code p-code 一般的 M 檔案都是文字檔 所有的 MATLAB 原始程式碼都看得到 讓別人使用您的程式碼,又不想被看到程式碼的內容,使用 pcode 指令將底稿或函數轉成 p-code(即Pseudo-Code) pcode filename.m p-code的使用 將函數 func5.m 轉成 p-code pcode func5.m dir *.p func5.p 檢視func5,以p-code的程式碼為優先 which func5 D:\matlabBook\MATLAB程式設計:入門篇\15-M檔案\func5.p 呼叫 p-code 的函數和一般函數並無不同 func5([2 4 8]) ans = 0.8750 p-code提高效率 一函數被呼叫時,MATLAB 會載入並剖析(Parse)此函數 剖析結果存放置在記憶體內 下次再呼叫此函數,可以省下剖析所花的時間 pcode 的作用是將程式碼剖析後的結果儲存 程式碼牽涉到很多 M 檔案時 將程式碼轉成 p-code,可節省剖析的時間 但由於目前電腦速度太快,節省的時間並不顯著 Matlab * Matlab * Matlab * MATLAB 程式設計入門篇:M檔案 MATLAB 程式設計入門篇 M檔案 張智星 (Roger Jang) jang@ /jang 清大資工系 多媒體檢索實驗室 15-0 簡介 M檔案(附檔名為m的檔案)可分兩類: 底稿(Scripts) 函數(Functions) 15-1 底稿 底稿(Script) 副檔名為m的檔案,包含 MATLAB各種指令 在MATLAB指令視窗直接輸入檔名,即逐一執行檔案內的指令,如同在MATLAB命令列逐一執行各列指令一般。 M檔案的顯示 在目前目錄下有一個M檔案“script01.m”,可用 type 指令顯示其內容: cd ’d:\ matlabBook\MATLAB程式設計:入門篇\15-M檔案’ type script01.m ? clear all % 清除所有變數 x = [1 4 -2 3 -1 -5]; for i = 1:length(x), if x(i)0, fprintf(x(%g) = %g is positive\n, i, x(i)); else fprintf(x(%g) = %g is negative or zero\n, i, x(i)); end end M檔案的執行 欲執行 script01.m, 在指令視窗下輸入 script01 即可 script01 x(1) = 1 is positive x(2) = 4 is pos

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档