欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Matlab程序设计入门.ppt

    • 资源ID:67249198       资源大小:159.50KB        全文页数:36页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Matlab程序设计入门.ppt

    MATLAB程式設計入門篇M檔案張智星jangcs.nthu.edu.twhttp:/www.cs.nthu.edu.tw/jang清大資工系多媒體檢索實驗室MATLAB 程式設計入門篇:M檔案15-1底稿n底稿(Script)n副檔名為m的檔案,包含MATLAB各種指令n在MATLAB指令視窗直接輸入檔名,即逐一執行檔案內的指令MATLAB 程式設計入門篇:M檔案M檔案的顯示n在目前目錄下有一個M檔案“script01.m”,可用type指令顯示其內容:cdd:matlabBookMATLAB程式設計:入門篇程式設計:入門篇15-M檔案檔案typescript01.mclearall%清除所有變數x=14-23-1-5;fori=1:length(x),ifx(i)0,fprintf(x(%g)=%gispositiven,i,x(i);elsefprintf(x(%g)=%gisnegativeorzeron,i,x(i);endendMATLAB 程式設計入門篇:M檔案M檔案的執行n欲執行script01.m,n在指令視窗下輸入script01即可script01x(1)=1ispositivex(2)=4ispositivex(3)=-2isnegativeorzerox(4)=3ispositivex(5)=-1isnegativeorzerox(6)=-5isnegativeorzeroMATLAB 程式設計入門篇:M檔案M檔案的執行效應n執行程式底稿的效應,相當直接在指令視窗下下達script01.m裡的每一列指令n所產生的變數也都存放在MATLAB的基本工作空間(BaseWorkspace),可驗證如下:whosNameSizeBytesClassi1x18doublearrayx1x648doublearrayGrandtotalis7elementsusing56bytesMATLAB 程式設計入門篇:M檔案提示n可在函數中呼叫一程式底稿n產生的變數會放在該函數的工作空間中MATLAB 程式設計入門篇:M檔案底稿的優缺點n優點n適用於簡單但重複性高的程式碼n產生的變數保留在基本工作空間中n變數檢視及除錯容易n缺點n不支援輸入及輸出引數(Input/OutputArguments)n產生的變數保留在基本工作空間中n變數互相覆蓋而造成程式錯誤MATLAB 程式設計入門篇:M檔案M檔案編輯器(I)nM檔案是文字檔n可以用各種文字編輯器修改n儲存時,需以文字模式儲存nMATLAB在Windows及Mac平台上,提供了內建的M檔案編輯器(M-FileEditor)n點選指令視窗的file/open下拉式選單,開啟M檔案編輯器n或在指令視窗直接鍵入editfilename.m或openfilename.mMATLAB 程式設計入門篇:M檔案M檔案編輯器(II)n開啟Script01.m,可輸入editscript01.mn即可開啟M檔案編輯器:MATLAB 程式設計入門篇:M檔案提示nM檔案編輯器以不同的顏色顯示註解、關鍵字、字串、及一般程式碼nM檔案編輯器也是一個除錯器(Debugger)n欲使用其除錯功能,詳見第十七章程式除錯MATLAB 程式設計入門篇:M檔案15-2函數n函數n也是M檔案的一種n可接受輸入變數,並將結果送至輸出變數n運算過程產生的變數都存放在函數本身的工作空間n不會和MATLAB基本工作空間的變數相互覆蓋n函數適用於大型程式碼n使程式碼模組化(Modularized)並易於維護與改進MATLAB 程式設計入門篇:M檔案函數顯示及內容nfunc1.m可算出一向量的平均值n用type指令顯示其內容:typefunc1.mfunctionaverage=func1(vector)average=sum(vector)/length(vector);%計算平均值n第一列為函數定義列(FunctionDefinitionLine)n定義函數名稱(func1,最好和檔案的檔名相同)n輸入引數(vector)n輸出引數(average)nfunction為關鍵字n第二列為函數主體(FunctionBody)n規範函數運算過程,並指定輸出引數的值MATLAB 程式設計入門篇:M檔案呼叫函數n呼叫此函數,可輸入:vec=153;ave=func1(vec)ave=3MATLAB 程式設計入門篇:M檔案函數線上輔助說明(I)n加上函數線上輔助說明(On-lineHelp)n在函數定義列下直接加入註解typefunc2.mfunctionaverage=func(vector)%FUNC2Asimplefunctionwithasinglehelpline.%Usageofthisfunction:%output=func2(input)%outputistheaverageoftheinputvectorinput.%RogerJang,19991123.average=sum(vector)/length(vector);%計算平均值MATLAB 程式設計入門篇:M檔案函數線上輔助說明(II)n函數定義列之後的連續註解(以%開頭),即為函數的線上輔助說明n輸入help函數主檔名,即可看到這些輔助說明helpfunc2FUNC2Asimplefunctionwithasinglehelpline.Usageofthisfunction:output=func2(input)outputistheaverageoftheinputvectorinput.MATLAB 程式設計入門篇:M檔案H1輔助說明n函數線上輔助說明,最重要的就是第一列n又稱為H1輔助說明(H1Help)n使用lookforkeyword查詢MATLAB指令n對所給的關鍵字和搜尋路徑上所有函數的H1輔助說明一一比對lookforhelplineFUNC2Asimplefunctionwithasinglehelpline.MATLAB 程式設計入門篇:M檔案提示n安裝很多工具箱,或搜尋路徑很長時,lookfor指令的執行時間可能會較長MATLAB 程式設計入門篇:M檔案函數的目錄(I)n使MATLAB在任何目錄內,均可執行某目錄內的函數n將和某應用相關的函數,存放於一子目錄內n將此目錄加入搜尋路徑n加入路徑=使用addpath指令n移除路徑=使用rmpath指令MATLAB 程式設計入門篇:M檔案函數的目錄(II)n建立目錄的線上輔助說明n在此目錄下加入特定檔案Contents.mn此檔案只能包含輔助說明文字n每列均需以%開頭n輸入help目錄名稱時,顯示在目錄名稱下Contents.m的輔助說明 MATLAB 程式設計入門篇:M檔案函數命名的限制n函數名稱和變數名稱有相同的限制n只接受前31個字母(MATLAB5.x)或前63個字母(MATLAB6.x和7.x)n以英文字母作為開頭n函數名稱和檔案名稱不同n仍可依檔案名稱呼叫檔案n函數名稱將被忽略MATLAB 程式設計入門篇:M檔案函數的輸入和輸出n一個函數可以有多輸入及輸出nfunc3.m可接受兩個輸入並產生兩個輸出typefunc3.mfunctionave1,ave2=func3(vector1,vector2);ave1=sum(vector1)/length(vector1);ave2=sum(vector2)/length(vector2);nfunc3.m的呼叫方式a,b=func3(123,45678)a=2b=6MATLAB 程式設計入門篇:M檔案輸出入變數的個數(I)n決定函數實際輸入輸出變數的個數n使用內建變數nargin及nargoutn主要功能n設定未被指定之輸入引數的預設值n避免計算未被用到的輸出引數,以節省計算時間MATLAB 程式設計入門篇:M檔案輸出入變數的個數(II)n上述函數func3.m可改寫成func4.mtypefunc4.mfunctionave1,ave2=func4(vector1,vector2)ifnargin=1,%只有一個輸入變數ave1=sum(vector1)/length(vector1);endifnargout=2,%有兩個輸出變數ave1=sum(vector1)/length(vector1);ave2=sum(vector2)/length(vector2);endMATLAB 程式設計入門篇:M檔案輸出入變數的個數(III)nfunc4.m可以接受一個或兩個輸入變數:a,b=func4(123,45678)a=2b=6c=func4(13579)c=5nMATLAB函數亦可傳送不定數目的輸入引數和輸出引數MATLAB 程式設計入門篇:M檔案提示n從外表來看,MATLAB函數的變數傳遞方法是“CallbyValue”n函數的工作空間中,所有的輸入變數均是父工作空間(ParentWorkspace)的一份拷貝n在函數中更改這些輸入變數,並不會影響原先父工作空間的變數n實際運作上n若輸入變數未被修改,MATLAB採用“CallbyReference”n否則,則採用“CallbyValue”MATLAB 程式設計入門篇:M檔案15-3次函數與私有化目錄n一個M檔案可以包含一個以上的函數n一個主函數(PrimaryFunction)n其他則為次函數(Subfunctions)n次函數只能被同檔案中的函數(主函數或次函數)呼叫,但不可被不同檔案的其他函數呼叫n主函數與次函數的位置n主函數必需出現在最上方n其後接上任意數目的次函數n次函數的次序並無任何限制MATLAB 程式設計入門篇:M檔案主函數與次函數範例nfunc5.m包含一個主函數及一個次函數n次函數的功能是計算倒數向量typefunc5.mfunctionout=func5(x)recip=reciproc(x);out=sum(recip);%Definitionforsubfunctionsfunctionoutput=reciproc(input)output=1./input;n呼叫此函數func5(123)ans=1.8333MATLAB 程式設計入門篇:M檔案私有化目錄n私有化目錄(PrivateDirectory)n在目錄中建立名稱為private的私有化目錄n存放與這目錄相關的函數n目錄private之下的函數,只能被其父目錄函數所呼叫,不能被其他目錄的函數來呼叫MATLAB 程式設計入門篇:M檔案函數搜尋次序n從M檔案呼叫一個函數時,MATLAB搜尋函數的次序:n檢查此函數是否為次函數n檢查此函數是否為私有化目錄的函數n從系統所設定的搜尋路徑找尋此函數nMATLAB找到第一個檔名相符的函數,即會立即取用MATLAB 程式設計入門篇:M檔案15-4 區域變數與全域變數n區域變數(LocalVariables)n每一個函數在運算時,均佔用個別的記憶體n此工作空間和MATLAB的基本工作空間或是其他函數的工作空間是互相獨立的n不同空間的變數是完全獨立,不會相互影響n不同工作空間的變數,稱為區域變數(LocalVariables)MATLAB 程式設計入門篇:M檔案全域變數的使用(I)n減少變數的傳遞,可用全域變數(GlobalVariables)n使用全域變數前,需先進行變數宣告typefunc6.mfunctionfunc6globalX%全域變數宣告X=X+2;fprintf(ThevalueofXinfunc6is%g.n,X);MATLAB 程式設計入門篇:M檔案全域變數的使用(II)nFunc6.m沒有輸出和輸入,只宣告全域變數X,將X的值加2,並印出其值n測試globalX%在基本工作空間進行全域變數x的宣告X=2;fprintf(ThevalueofXinthebaseworkspaceis%g.n,X);ThevalueofXinthebaseworkspaceis2.func6;ThevalueofXinfunc6is4.fprintf(ThevalueofXinthebaseworkspaceis%g.n,X);ThevalueofXinthebaseworkspaceis4.MATLAB 程式設計入門篇:M檔案全域變數的使用原則n盡量少用全域變數n全域變數使程式的流程不透明,造成程式除錯或維護的困難n使用全域變數,請遵循下列兩原則n使用前一定要宣告n使用全部大寫或較長的變數名稱,以資區別n檢視工作空間的變數,輸入whosglobaln清除所有工作空間的全域變數X,需使用clearglobalXMATLAB 程式設計入門篇:M檔案15-5程式碼保護:p-codenp-coden一般的M檔案都是文字檔n所有的MATLAB原始程式碼都看得到n讓別人使用您的程式碼,又不想被看到程式碼的內容,使用pcode指令將底稿或函數轉成p-code(即Pseudo-Code)pcodefilename.mMATLAB 程式設計入門篇:M檔案p-code的使用n將函數func5.m轉成p-codepcodefunc5.mdir*.pfunc5.pn檢視func5,以p-code的程式碼為優先whichfunc5D:matlabBookMATLAB程式設計:入門篇15-M檔案func5.pn呼叫p-code的函數和一般函數並無不同func5(248)ans=0.8750MATLAB 程式設計入門篇:M檔案p-code提高效率n一函數被呼叫時,MATLAB會載入並剖析(Parse)此函數n剖析結果存放置在記憶體內n下次再呼叫此函數,可以省下剖析所花的時間npcode的作用是將程式碼剖析後的結果儲存n程式碼牽涉到很多M檔案時n將程式碼轉成p-code,節省剖析的時間

    注意事项

    本文(Matlab程序设计入门.ppt)为本站会员(s****8)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开