作業(yè)matlab編程國外高校電子信息類優(yōu)秀英語影印版_第1頁
作業(yè)matlab編程國外高校電子信息類優(yōu)秀英語影印版_第2頁
作業(yè)matlab編程國外高校電子信息類優(yōu)秀英語影印版_第3頁
作業(yè)matlab編程國外高校電子信息類優(yōu)秀英語影印版_第4頁
作業(yè)matlab編程國外高校電子信息類優(yōu)秀英語影印版_第5頁
已閱讀5頁,還剩336頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

把算法轉(zhuǎn)化為語言,這一步是踏踏實(shí)實(shí)做的過程,沒有這一步你什么問題。程序執(zhí)行語言,并提供了一個極其廣泛的預(yù)定義函數(shù)庫,這樣就使得技術(shù)工作變得簡單高效。在解決工程技術(shù)問題方面,比其它任何計(jì)算機(jī)語言(FORTANC)都簡單高效。本書將介紹語言,并向大家展示如何運(yùn)使用語言,以及如何使用網(wǎng)上工具去加載你所需要的函數(shù)。本書的前六章是3個小時教學(xué)為宜。其余的章節(jié)涵蓋了一些高級的,例如輸入輸出接口(input/outputGUI的工科學(xué)生和有經(jīng)驗(yàn)的工程師的參考。本書與6.06.1相匹配,但基本的語言與5.0致,而集成工具,窗口和幫助子系統(tǒng)都發(fā)生了巨大的變化.還有6.0許多新的完整的圖形用戶界面.6.0以前版本的用戶應(yīng)注意到:在第十章的對于圖形用戶界面(GUI)的發(fā)展并不適用于他們.用進(jìn)行科技編程的優(yōu)點(diǎn)語言許多的編程工具使得十分簡單易用。這些工具包括:一個集成的編譯/調(diào)試平立用戶可以根據(jù)需要把編寫的程序移植到新平臺。帶有一個極大的預(yù)定義函數(shù)庫,它提供了許多已測試和打的基本工程問II| 與其他語言不同,有許多的畫圖和圖象處理命令。當(dāng)運(yùn)行時,這 代碼編譯成設(shè)備獨(dú)立的P代碼, 序言| B140道章末課后題。一部IV|舉了一系列的錯誤和更正在http://i 支持才有本書的.對于本書第一版的反饋我深感幸慰.這是我們通力合作的結(jié)果.Shira,andDevorah.他們都是樂觀的人,在工作上給于我很大的鼓勵。J. 易用 平立 啟動平臺(thelaunch 一些重要 測試 總 練 測試 數(shù) 2.3.1數(shù)組在內(nèi)存中的................................................................................... 子數(shù) end函 特殊變 測試 disp函 數(shù)據(jù)文 測試 例 例 測試 函 簡單的xy畫 例 例 例 例 調(diào) 程 總 練 第三章分支語句和編程設(shè) 例 測試 if結(jié) if結(jié)構(gòu)舉 例 例 例 switch結(jié) try/catch結(jié)構(gòu)的應(yīng) 測試 子圖 例 例 例 測試 總 練 第四章循環(huán)結(jié) while循 例 for循 例 例 例 例 break和continue語 例 測試 附加例 例 例 總 練 第五章自定義函 例5.2數(shù)據(jù)排 例5.3選擇性參數(shù)的應(yīng) 測試 總 練 復(fù)數(shù)數(shù) 數(shù)學(xué)函 例 總 例 數(shù) 柱狀 三維作 總 練 第七章稀疏矩陣單元陣列結(jié) 稀疏矩 sparse數(shù)據(jù)類 例 單元陣列(cell 結(jié)構(gòu)數(shù) 對結(jié)構(gòu)數(shù)組應(yīng)用size函 struct函數(shù)總 測試 總 練 第八章輸入/輸出函 函數(shù) 關(guān)于load和save命令的進(jìn)一步說 fopen函 fclose函 二進(jìn)制I/O函 fwrite函 fread函 例8.1讀寫二進(jìn)制數(shù) 測試 格式化I/O函 fprint函 例8.2產(chǎn)生一個信息 fscanf函 fgetl函 fgets函 例8.3格式化和二進(jìn)制I/O文件的比 測試 exist函 例8.4打開一個輸出文 函數(shù) 函數(shù) 函數(shù)f 函數(shù) 函數(shù) 例 函數(shù) 總 結(jié) 練 第九章句柄圖 對象句 例 對象查 例 例 打印位 總 練 第十章用戶圖形界 編輯框(Edit 框架 按鈕 復(fù)選和單選按鈕(CheckboxesandRadio 下拉菜單(Popup 列表框(List 例 菜 例10.2繪制數(shù)據(jù) 測試 創(chuàng)建高效GUIs的技 偽代碼(p碼 例 總 練 附錄AASCII字符 附錄B測試答 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 測試 第一章介(矩陣的簡稱)是一種專業(yè)的計(jì)算機(jī)程序,用于工程科學(xué)的矩陣數(shù)問題。程序執(zhí)行語言,并提供了一個極其廣泛的預(yù)定義函數(shù)庫,這樣是一個龐大的程序,擁有難以置信的各種豐富的函數(shù);即使基本版本的經(jīng)擁有了超過1000多個函數(shù),而它的工具包帶有的函數(shù),由此擴(kuò)展了它在許多專業(yè)領(lǐng)

用戶可以根據(jù)需要把編寫的程序移植到新平臺。帶有一個極大的預(yù)定義函數(shù)庫,它提供了許多已測試和打的基本工程問 與其他語言不同,有許多的畫圖和圖象處理命令。當(dāng)運(yùn)行時,這 代碼編譯成設(shè)備獨(dú)立的P代碼,的結(jié)構(gòu)得到緩解,也可以在廣泛使用前編譯出程序。運(yùn)的是,它有一個價格便宜的學(xué)生版本,對學(xué)生來說它是學(xué)習(xí)語言的一個重要工具。學(xué)生版的和完全版的是基本一致的。不過只有一行和一列。在第二章學(xué)習(xí)如何創(chuàng)建和操作數(shù)組。當(dāng)運(yùn)行時,有多種類型的窗口,有的用于接收命令,有的用于顯示信息。三個 當(dāng)程序啟動時,一個叫做桌面的窗口出現(xiàn)了。默認(rèn)的在桌面上可以得到和的窗口主要有 命令窗口(TheCommand 命令歷史窗口(TheCommandHistory 啟動平臺(Launch 編輯調(diào)試窗口(TheEdit/Debug 工作臺窗口和數(shù)組編輯器(WorkspaceBrowserandArray 幫助空間窗口(Help 當(dāng)前路徑窗口(CurrentDirectoryBrowser) >>>>area1×1。這個變量的數(shù)值將顯示在命令窗口(mandWindows)1.2pi不需要預(yù)先。)(...然后就開始執(zhí)行這個文件,而不是用直接在命令窗口(TheCommandWindows)鍵入的方法,這樣的文件叫做文件(Scriptfiles),由于文件(Scriptfiles)的擴(kuò)展名為“.m”,所以這它也叫做M文件。歷史命令窗口(TheHistoryCommandWindow)用于記錄用戶在命令窗口(TheCommand窗口(TheCommandWindows)刪除一個或多個命令,可以先選擇,然后單擊右鍵,這時就有一個彈出菜單出現(xiàn),選擇DeleteSection。任務(wù)就完成了。啟動平臺(thelaunch啟動平臺是一個特殊的工具,為和其工具箱提供幫助、demos、其他相關(guān)文條目,你將會得到的幫助,運(yùn)行的示例,這個程序所支持的標(biāo)準(zhǔn)工具,或在互聯(lián)網(wǎng)上的。圖編程調(diào)試器是個重要的程序的文檔編輯器,語言的一些特性會被不同的顔色%%thism-filecalculatestheareaofa%anddis string=['theareaofthecircleis',num2str(area)];TheareaofthecircleisTheareaofthecircleis %thism-filecalculatesandplots%thism-filecalculatesandplots%functionsin(x)for0<=x<=6.輸入此文件名就可以執(zhí)行文件了。當(dāng)文件(Scriptfiles)被編譯后,將會找開一個圖象窗口,并在窗口打印出函數(shù)sinx的圖象。中,就是我們所常說的工作區(qū)。當(dāng)一個專門令,M文件或函數(shù)運(yùn)行時,工作區(qū)是所需要的所有變量和數(shù)組的集合。所有在命令窗口(TheCommandWindows)中執(zhí)行令,和所有在命令窗口(TheCommandWindows)執(zhí)行的文件(Scriptfiles)都會被分配一個普通的分配空間,所以它們能共享變量。函數(shù)的擁有獨(dú)立的工作區(qū),這是函數(shù)區(qū)別于文件(Scriptfiles)的一個重要特征。在后面的介紹會看到的。>>>> double double charx doubley doubleGrandtotalis156elementsusing1056>>stringtheareaofthecircleis文件(Scriptfiles)calc_areaarea,radius和string,sin_x變量x和y。請注意所有的變量在同一工作區(qū),所以兩個>>stringtheareaofthecircleisclearvar1,var2whos1.7(Theworkspace(hlbrwer (helpbrowser(ArayEditor Figure1.9幫助窗口 (TheCommandWindows)中輸入help或help和所需要的函數(shù)的名字。如果你在命令窗口 的函數(shù)名或工具箱的名字包含在內(nèi),那么help將會提供這個函數(shù)或工具箱。helphelplookfor命令,得到以下結(jié)果:>>lookforINVHILBInverseHilbertIPERMUTEInversepermutearraydimensions. Inversecosine. Inversecosine,resultindegrees. Inversehyperboliccosine. Inverse Inversecotangent,resultindegrees. Inversehyperboliccotangent. Inverse Inversecosecant,resultindegrees. Inversehyperboliccosecant. Inverse Inversesecant,resultindegrees. Inversehyperbolicsecant. Inverse Inversesine,resultindegrees. Inversehyperbolicsine. InverseATAN2Fourquadrantinversetangent.ATANDInversetangent,resultindegrees.ATANHInversehyperbolictangent.ERFCINVInversecomplementaryerrorfunction.ERFINVInverseerrorfunction. Matrixinverse. IFFTInversediscreteFourierIFFT2Two-dimensionalinversediscreteFouriertransform.IFFTNN-dimensionalinversediscreteFouriertransform.IFFTSHIFTInverseFFTshift.inverter.m:%%InversesofDRAMADAHMatrixofzerosandoneswithlargedeterminantorinverse.INVHESSInverseofanupperHessenbergmatrix.如果你是個新手,一些示例可能有助你理解它的功能。在命令窗口(The命令清除。正如我們看到的,工作空間窗口(Theworkspacebrowser)中的變量在獨(dú)立的解決。為了避免這種情況的發(fā)生,在新的計(jì)算開始之前,應(yīng)當(dāng)有clear命令清空工作區(qū)。環(huán),而沒有結(jié)束。在這種情況下,可在命令窗口內(nèi)輸入control-c(簡寫為^c)。輸入這個命diary當(dāng)這個命令被執(zhí)行后,所有在命令窗口(TheCommandWindows)中的輸入和輸出將會被 檢查是不是在搜索路徑的所有 M內(nèi)建函數(shù)或命令重名,從而導(dǎo)致函數(shù)或命令的不能。 還包括一個特殊 which>>which1.41.4|我們可以運(yùn)用啟動平臺中的路徑工具(thepathtool)隨時檢查和修改這個路徑,或1.10(thepath如圖1.10所示。它允許使用者添加,刪除路徑和改變在 可用作便箋薄以最簡單的形式進(jìn)行數(shù)學(xué)計(jì)算。所要進(jìn)行的計(jì)算可直接輸入命令窗口(TheCommandWindows),+,-,*,/和^分別代表加號,減號,乘號,除號和乘方。高度為l的圓柱體的體積。圓柱體的底面面積的計(jì)算式為

語言進(jìn)行計(jì)算得到:>>>>A>>VV xxvt1at x2(x解決這些問題將比較麻煩,因?yàn)榕f版本的的許多工具與新版本的不同)在命令窗口(TheCommandWindows)Mcalc_area.msin_x.m(M在本章中,我們學(xué)到了基本類型的窗口,工作區(qū)和如何得到。當(dāng)工具。這些工具包括命令窗口(TheCommandWindows),命令歷史窗口,啟動平臺,數(shù)組編輯器,和當(dāng)前查看器。命令窗口是最重要的窗口,因?yàn)樗辛疃嫉迷诖随I入,所有當(dāng)用戶在命令窗口中鍵入一個命令,按照路徑特殊編排而成的目1.61.6練習(xí)| 假設(shè)u=1和v=3,

2v(u

vvv3u

3 字為mynewdir.把這個 %createaninput%createaninputarrayfrom-2*pito2*pit=-2*pi:pi/10:2*pi; 第二章基程序的基本數(shù)據(jù)單元是數(shù)組。一個數(shù)組是以行和列組織起來的數(shù)據(jù)集合,并 col3 數(shù) 大A

44

BB1 22C 上面的數(shù)組A(21)為3,C(2)為2。一個 個字符是有效的;如果超過了31個字符,基余的字符將被忽略。如果兩個變量,兩變量名只有第32個字符不同,那么將它們當(dāng)作同一變量對待。確保你所的變量名前31個字符是獨(dú)一無二的。否則, 意義的變量名。比如,changerate可以寫成change_rate.在你所寫的程序的開頭列出一數(shù)據(jù)字典(datadictionary)十分的重要.數(shù)據(jù)字典列舉了NAME,Name,name在中是不同的。所以已用過的小寫變量名與一個新建大寫的變量名重名,這時使用時要特別地。在一般情況下,我們一律用小寫圍為正負(fù)10-308~10308,擁有1516位有效數(shù)字。這是基本的數(shù)字?jǐn)?shù)據(jù)類型。vardoubledouble型comment='thisisacharactercomment='thisisacharacter像C語言這樣的語言中,變量類型和變量在使用之前必須強(qiáng)制 varvar=然后將產(chǎn)生的結(jié)果到變量var中。下面是一些用賦值語句初始化的變量: 1×1數(shù)組(一個標(biāo)量),3.4.這時括號可以省[1.02.0 46 46

4646 [123;4 的,因?yàn)榈谝恍杏?[123;4a=[0b=[a(2)a=[0b=[a(2)7a=[08]和數(shù)組b=[870 0c事先沒有定義,語句c(2,3)=5將會創(chuàng)建一矩陣c0

5050CommandWindows)中。>>>>e=[123;45e 會出現(xiàn)在命令窗口(TheCommandWindows)。提供一種專門的捷徑標(biāo)記法,這種方法用克隆運(yùn)算符(colonoperator)適用first代表數(shù)組的每一個值,incr代表步增量,last代表這個數(shù)組的最后一個值。如果步1,那么步增量可省略,而變成了first:last格式。Angles= Angles= >>x 579 ,L,f=f=224元素行向量[1234]4f;44g=g=h=[g' 將會創(chuàng)建一個矩陣h 數(shù)組也可以用zeros可以初始化任何大小的全它可以聯(lián)合zeros函數(shù)來創(chuàng)建一個相同大小零矩陣。下面是一些用到zeros函數(shù)的例子。a=a=b=c=[12;3d=a

b

0000 0000 c

d 3400 3400 角線的元素為1.其他元素為0.函 作 創(chuàng)建一個n×m零矩陣 創(chuàng)建一個與數(shù)組arr的零矩陣 創(chuàng)建一個n×n元素全為1矩 my_val=input('Enteraninput關(guān)鍵字input用來提示使用者和直接從鍵盤輸入初始化變量.當(dāng)文件(Scriptfiles)時,它可以用來提示使用者輸入.input函數(shù)在命令窗口(TheCommandWindows)my_val=input('Enteraninput 打印出字符串enteraninputvalue:,然后等待用戶回復(fù).>>in2=input('enterEnter>>in1>>in2=input('enterEnter>>in1=input('enterEnter|C

u=[1020*iw=[10-9;2-20;12x=[u'z=[zeros(4,1)ones(4,1)正如我們所看到的,的數(shù)組可能是一維或的。一維的數(shù)組可以形象地看a

col3col4 204個測量結(jié)中元素的個數(shù)。例如,下面兩個語句創(chuàng)建了一個2×3×2數(shù)組c>>>>>>>>>>whos c double>>>>c(:,:,1)1234562)7892.3.1數(shù)組在內(nèi)存中m×n個連續(xù)的內(nèi)存空間。這些數(shù)組的元素在內(nèi)存中是如何排列的呢?以列主導(dǎo)2.34×3數(shù)組a的內(nèi)存分配情況。正如我們所141237456257898

69

圖2.3(a)數(shù)組a(b)數(shù)據(jù)a(111(211(121(221(112(212(122,(2,,2 子數(shù)組|子數(shù)組| >>a=[123;456;789;1011a123456789 arr1=[1.1-2.23.3arr1=[1.1-2.23.3-4.4-arr2arr2=[123;-2-3-4;34arr2=

3 5

3 5end到一個函數(shù)的下標(biāo)時,end函數(shù)將會返回下標(biāo)的最大值.arr3=[12345arr3=[1234567一個表達(dá)式內(nèi)返回不同的值.例如,假設(shè)一個3×4數(shù)組arr4的定義如下:arr4=[123arr4=[1234;5678;91011 1112注意第一個end返回值為3,第二 3×4數(shù)組定義>>arr4=[1234;5678;91011arr4123456789>>>>arr4(1:2,[14])=[2021;22arr492637>>arr5(1:2,[14])=[20???Subscriptedassignmentdimension(1,1(1,4>>arr5(1:2,[14])=[20???Subscriptedassignmentdimension部刪除并被新的值替代。例如,假設(shè)用一個數(shù)組arr4定義如下:>>arr4=[1234;5678;91011arr4123456789>>>>arr4(1:2,[14])=[2021;22arr4926372.52.5|>>>>arr4=[2021;22arr4語句中所對應(yīng)的元素。例如,假設(shè)用一個數(shù)組arr4定義如下:arr4arr4=[1234;5678;91011>>arr4>>arr411134.5使用,不用初始化。一些常見的預(yù)定義值列在表2.2。2.2函 用 15個有效值的 1 算得到的。例如,0除以0。 當(dāng)前的日期,使用的的字符形式,如30-Dec-2007 常用 這個些預(yù)定義值在一般的變量中,所以他們能被覆蓋或改寫。如果一個新值賦值于以半徑為10的圓的周長的語句;c--0(a)(b)(c)(d)(e)(f)(g)c([1(h)c([22],[3a=[123;456;78a([31],:)=a([1a=[123;456;78a([13],:)=a([2a=[123;456;78a=a([2b=[456];b=[78a(3,:)=b([31b=[78a(3,:)=b([31末的分號,它將顯示在命令窗口(TheCommandWindows)中。在這里向大家介紹一些其他的2.62.6|x=y=zx=y=z=xxyzformat命 結(jié) 例format formatlong 保留小數(shù)點(diǎn)后14位 formatshorte 帶有5位有效數(shù)字科學(xué)記數(shù)法1.2346e+00formatshort formatlong 法formatlong

format 格 format 用16進(jìn)制表 formatrat formatcompact format format disp(char符串將會打印在命令窗口(TheCommandWindows)中。此函數(shù)可聯(lián)合num2str(將一個數(shù)轉(zhuǎn)化為字符串)和int2str(將一個整數(shù)轉(zhuǎn)化為字符串)來產(chǎn)str=['thevalueofpi=' str=['thevalueofpi=' fprintf('Thevalueofpiis%6.2ffprintf('Thevalueofpiis%6.2f將會打印出'Thevalueofpiis 3.14',后面帶有一個換行符。轉(zhuǎn)義序列%6.2代表在本函數(shù)中的第一個數(shù)據(jù)項(xiàng)將占有6個字符寬度,小數(shù)點(diǎn)后有2位小數(shù)。這個局限性將會產(chǎn)生錯誤。在這種情況下,最好用disp顯示數(shù)據(jù)。表 fprintf函數(shù)format字符中的特殊字format str=['disp:x='num2str(x)];str=['disp:x='num2str(x)];fprintf('fprintf:x=disp:x=-22+4ifprintf:disp:x=-22+4ifprintf:x=-22.0000在這里我們只向大家介紹最簡章的save和load命令。savesavefilenamevar1var22.72.7|如果一個數(shù)據(jù)必須由其他程序所,那么必須轉(zhuǎn)化為ASCII碼,并將這些數(shù)值寫到一個以ASCII碼為編碼的文件中。但是,當(dāng)以ASCII的形式,像變量名和變量類型這樣的x=[8;x=[8;-5.17.00 - 中使用那么,應(yīng)以mat文件的形式數(shù)據(jù)。loadLoad命令與save命令相反。它從硬盤文件加載數(shù)據(jù)到 load1.233.14-5.17.00matasciiload語句中加入-ascii中,則強(qiáng)制把這個文ASCII文件。這個文件的內(nèi)容將會被轉(zhuǎn)化為一個的數(shù)組,這個數(shù)組名就所要加載的文件名。例如,假設(shè)一個名為1.233.14-5.17.00radius=input('Entercircleradius:\n');area=pi*radius^2;str=['Theareais'value=disp(['Thevalueis'valuevalue=123.4567e2;fprintf('value=%e\n',value);fprintf('value=%f\n',value);fprintf('value=%g\n',value);fprintf('value=%12.4f\n',value);variable_namevariable_name=ii=ii+ii=ii+ 它的意義是:把變量ii加上1之后,再把值 到變量ii中。算。兩標(biāo)量間的標(biāo)準(zhǔn)運(yùn)算符號如表2.5所示。的表達(dá)式來計(jì)算。例如表達(dá)式2^((8+2)/5)的計(jì)算順序如下2^2^((8+2)/5)=2^(10/5=2^= 兩數(shù)組相對應(yīng)的運(yùn)算使用的.例如,a 4b ,那么ab a 2,則a4 2.82.8|義如下2.5形式A-A B nc(i,j)a(i,k)b(k, 例如a3 4,a2 1,那么ab A-AB的元素逐個對應(yīng)相除是標(biāo)量AB的元素逐個對應(yīng)相除是標(biāo)量AB中的元素逐個進(jìn)行如下運(yùn)算是標(biāo)量初往運(yùn)矩算一況,者替導(dǎo)致 ,時 進(jìn)行的,生的。們方運(yùn),產(chǎn)樣誤個方情,萬的 。例a a

b b

c

d (a)a+ (b)a.* (c)a* (d)a*a+

a+ (g)a.* (h)a* 這是一個數(shù)組或矩陣加法:ab 2 0這是一個數(shù)組乘法:a.*b 0 這是一個矩陣乘法:a*b 數(shù)組與標(biāo)量的加法:ad 數(shù)組乘法:a.*d 矩陣乘法:a*d a11x1a12x2a13x3

a21x1a22x2a23x3b2a31x1a32x2a33x3Ax

a13 b1 A aAbxx 23 2 2a31 a33 x 2.92.9|distance=0.5*acceldistance=0.5*accel*time^distancedistance=0.5*accel*(time^distancedistance=(0.5*accel*time)^則一般情況下遵循代數(shù)的運(yùn)算法則。數(shù)算的順序如表2.7。優(yōu)先 運(yùn)a=3;b=2;c=5;d=output=output=output=output=output=編譯器在執(zhí)行這個命令時被發(fā)現(xiàn)。例如((2+4)/a

b33

1

c

d result=a.*result=a*[c(b)result=a.*[cresult=a+b*result=a+b.* B1 B122

0maxval=max([1-5maxval=max([1-56-[maxvalindex]=max[maxvalindex]=max([1-56- x=[0pi/23*pi/2許多函數(shù)定義了一個或多個標(biāo)量輸入,產(chǎn)生一個輸出。例如,語句y=sin(x)x=[0pi/23*pi/2 函數(shù)列入了表2.8中.這些函數(shù)將會用在以后的例子的作業(yè)中. 自動計(jì)算出正確的結(jié)果,盡管其結(jié)果可能是虛數(shù)和復(fù)數(shù).例如,在C和Fortan語言中運(yùn)行函數(shù)sqrt(-2)時將會出現(xiàn)運(yùn)行時錯誤.相反地, >>>>sqrt(-ans0+圖變得十分簡單.畫一個數(shù)據(jù)圖,首先要創(chuàng)建兩個向量,由x,y構(gòu)成,然后使用plot函數(shù).以畫出此圖.y值(注意我們用的是數(shù)組運(yùn)算符,x的元素一一運(yùn)xx= 圖函 描函 描 title('Plotofy=x.^2-10*x+15');xlabel('x');ylabel('y');gridon;個字符串,這個字符串包含了圖象標(biāo)題和坐標(biāo)軸的信息。用grid命令可使網(wǎng)格線出現(xiàn)或在圖象中,gridon代表在圖象中出現(xiàn)網(wǎng)格線,title('Plotofy=x.^2-10*x+15');xlabel('x');ylabel('y');gridon;2.52.5print選項(xiàng)print選項(xiàng)文件名(TIFFPCMacprint–dtiff一個叫my_image.tifprint–dtiff 出f(x)=sin2x和他的微分函數(shù)的圖象。它的微分式為dsin2x2cos2x

y1=sin(2*x);y1=sin(2*x);plot2.6y1=sin(2*x)y2=2cos(2*x有這些屬性的字符串的plot函數(shù),可以選擇這些細(xì)節(jié).y m c × -r 正方 -g 菱 無b w k 2.9圖象的顏色,標(biāo)記(符號)顏 標(biāo)記類 線 串x=y=x.^2-10.*x+15;x=y=x.^2-10.*x+15;其中string1,string2等等是與軌跡 名,而pos是一個整數(shù),用來指定圖例的位置。整的圖象例子將會顯示圖2.7中,產(chǎn)生這個圖象的語句如下所示。圖2.7在同一坐標(biāo)系內(nèi), title('Plotoff(x)=sin(2x)anditsderivative');gridon;圖2.7f(x)=sin2x可以組合形成4種不同的坐標(biāo)系。每一種組合者有一個特定的函數(shù)。plot函數(shù)的x,y 意

2.10legend命令中pos- T(開爾文

T(攝氏度)32.0 華氏度開爾文-%%%%%%%%%%%%%%%%%%%ScriptToconvertaninputtemperaturefromdegreesFahrenheittoanoutputtemperatureinkelvins.Recordof12/01/97DescriptionofOriginal%Define --Temperatureindegrees %Prompttheuserfortheinputfprintf('%6.2fdegreesFahrenheit=%6.2fkelvins.\n',...>>>>Enterthetemperatureindegrees212.00degreesFahrenheit=373.15>>EnterthetemperatureindegreesFahrenheit:--110.00degreesFahrenheit=194.26率最大?在這種情況下,功率為多少?畫以RL為自變量的RL功率圖。PLI

I

Rs

V%%%%V%%%%%%%%%%%ScriptTocalculateandplotthepowerafunctionoftheloaddtoaload.RecordofDate 12/01/98S.J.ChapmanOriginal%Define2.10%%%%%%--Currentflowto-----oftheofthepowervolts--Voltageofthepower%Setthevaluesofsourcevoltageandinternal%Createanarrayofload %Calculatethecurrentflowfor%Calculatethepower dtotheload%Plotthepowerversusloadtitle('Plotofpowerversusload grid功率最大。最大功率為72W。為另一種元素.衰變一種呈指數(shù)下降的過程.Q0t=0時的初始量,那么它的質(zhì)量與變量t的關(guān)系式為

Q(t) 0 -loge 02.9在科學(xué)的許多領(lǐng)域有著廣泛的應(yīng)用.例如,考古學(xué)家可以根據(jù)C14的衰變周期,來的現(xiàn)存量來確定古生物的生存年代.已知C14的衰變率λ為0. 余量可以通過測量得到,那么我們就可以根據(jù)2.9算出這個生物活在多少年之前.圖2.1向大家展示了以時間為自變量的C14的剩余量函數(shù).Q%%%%%%%%%%%%ScriptTocalculatetheageofanorganicsamplefromthepercentageoftheoriginalcarbon14remaininginthesample.Recordof Descriptionof==========12/02/97S.J.ChapmanOriginal%Define --Theageofthesamplein --theradioactivedecayconstantforcarbon-14,inunitsof --Theageofcarbon14remainingatthetimeofthe --Theratioofthecarbon14remainingatthetimeofthemeasurementtotheoriginalamountofcarbon14.%Setdecayconstantforcarbon-14 %PrompttheuserforthepercentageofC-14percent=input('Enterthepercentageofcarbon14%Perform %Converttofractionalratioage=(-1.0/lamda)*log(ratio);%Getageinyears ltheuserabouttheageofthestring=['Theageofthesampleis'num2str(age)'years.'];>>Enterthepercentage>>Enterthepercentageofcarbon14Theageofthesampleis2.9碳14 無論你編定多大的程序,你第一次運(yùn)行時,肯定通不過!BUGS,找出在中有三種類型的錯誤.第一種錯誤是語法錯誤.語法錯誤是自身的錯誤,例如拼寫錯誤和標(biāo)點(diǎn)錯誤.當(dāng)編譯M文件時,maltab編譯器將會找出這些錯誤.例如,語x=(x=(y+3)/2>>???Error:File:>>???Error:File:Unbalancedormisusedparenthesesor 除以0),將會出現(xiàn)運(yùn)行時錯誤。這些錯誤將會使程序返回Inf或NaN,用來參與下一步的運(yùn)語句。這些錯誤產(chǎn)生的語法錯誤可能會被編譯器發(fā)現(xiàn)。另一個書寫錯誤發(fā)生在變面我們已經(jīng)提到,能夠很容易地創(chuàng)造一個新的變量,它不會發(fā)現(xiàn)這個錯誤。vel1vel2都在程序中代表速度,如果一時在symbolicdebuggersymbolicdebugger允許用加入輸出語句。會在第三章中介紹symbolicdebugger。算的優(yōu)先級總結(jié)在表2.11中.1234函數(shù)將會在以后的章節(jié)中介紹.所有的函數(shù)列表可在瀏覽窗口中得到.編寫清晰,易理解,可強(qiáng)的程序要比編寫簡單的程序要難得多.一個程序員必須發(fā)展 中那么,應(yīng)以mat-file格式數(shù)據(jù).符 說 formatformatformatshortformatshortformatlongformatlongformatformatformatformatformatformati(1

a. b. c.d. e.b=[a'a'w=[zeros(1,3)ones(3,1)'b([13],2)=b([3array1(1:2:3,[33array1([1

已知value10π,寫出下列語句的輸出disp(['value='num2str(value)]);disp(['value='int2str(value)]);fprintf('value=%e\n',value);fprintf('value=%f\n',value);fprintf('value=%g\n',value);fprintf('value=%12.4f\n',value);a

22

b00

221a

d

result=a.^a. b. c.d. e. f.round(-11/5)+6h.ceil(- 2.152.15練習(xí)| b.cos-2.0x15.0x21.0x33.0x44.0x51.0x62.0x11.0x25.0x32.0x46.0x54.0x61.0x16.0x24.0x35.0x43.0x51.0x64.0x13.0x26.0x35.0x42.0x52.0x63.0x16.0x24.0x32.0x46.0x54.0x62.0x14.0x24.0x34.0x45.0x54.0x6為h(t)1gt2vt v(t)gt 速度.編寫一個程序,計(jì)算出每一秒鐘的速度和高度,并打印出h,v關(guān)于時間t的函數(shù).(x1(x1x2)2(y1dB10

寫一個程序,創(chuàng)建一個以W為單位的功率的相對功率(單位為dBm)的圖象.第一個圖象的XY軸都要用線性軸.而第二圖象要用對數(shù)-線性xy軸.coshxexe2

編寫一個程序,x的值對應(yīng)的雙曲余弦值.3.0的雙曲余弦值.和cosh(x)得到的值是否完全相同.用打印出這個函數(shù)的圖象.當(dāng)x為何值時,這個函數(shù)有最小值?最小值為多少?F E12

力一個最簡單的調(diào)幅收音如圖2.13所示.這個由一個RLC振蕩電路組成,這個RLC電路連接到天線和大地.12有在頻率下,接收的信號最強(qiáng).LC電路的頻率為12fo 頻率.用L=0.1mH,C=0.5nF來檢測這個程序,計(jì)算 R2(LR2(L1R

么頻率下,電阻上的電壓最大?這時的電壓為多少? 的1V,950kHz.R的功率是多少?

地圖2.13簡易原理第二個信號給負(fù)載R的功率是多少?計(jì)算第二個信號相對第二個信號的增益或衰減.與第一個varvaravra代表向心加速度,單位為m/s2.v代表物體運(yùn)動的速率,m/s,r代表半徑,m.假設(shè)這個物體

2.4運(yùn)轉(zhuǎn)半徑是飛機(jī)飛行速度的一個函數(shù),自變量的定義域?yàn)?.5馬赫到2.0馬赫,向心加速度仍為2g,畫出這個函數(shù)的圖象.為0.85馬赫. 個過程叫做分解(position)。如果一些子工作還是比較大,設(shè)計(jì)者還可以把他它分解成會將偽代碼一句一句地轉(zhuǎn)化為合適地語句。 |前,必須經(jīng)過一系列地檢測(3.2)。檢測的第一步有時被稱為單元檢測(unittesting)。在單

betaalphabetaalpha3.2 在大的編程項(xiàng)目中,花在編程序的時間是出奇的少。FrederickPBrooks在他的the我們可以用偽代碼的形式建立算法的結(jié)構(gòu)。偽代碼是和英語的混合體。和一樣,它是結(jié)構(gòu)化的,一行表達(dá)一個明確的意思或代碼的片段,但每一行的描述 PromptusertoentertemperatureindegreesFahrenheitReadtemperatureindegreesFahrenheit(temp_f)temp_kinkelvins←(5/9)*(temp_f-32)+273.15Writetemperatureinkelvins 中關(guān)系得到true/false:關(guān)系運(yùn)算符和邏輯運(yùn)算符。把所有的非0值作為結(jié)果ture。結(jié)果true或false。關(guān)系運(yùn)算的基本形式如下a1op如果兩者的關(guān)系為真(true)時,那么這個運(yùn)算將會返回1值;否則將會返回0值。3.1運(yùn)算 運(yùn) 3<13<=13==03>04<=1'A'<1

11 2 1

1,b

1 謹(jǐn)慎不要了等于關(guān)系運(yùn)算符(==)和賦值運(yùn)算符(=生結(jié)果1。7+3<2+(7+3)<(2+不等運(yùn)算符(~=)如果兩變量值不同則返回1,相則返回0。a=b=a=b=>>a=>>a=>>b=>>a==ans0產(chǎn)生roundoff錯誤。例如測試>>abs(a-b)<1.0E-ans1相等的值不相等了。這時你可以在roundoff錯誤的范圍內(nèi)它是不是近似相等。AND,ORNOT。二元邏輯運(yùn)算的基ll1opopoptrue,那么運(yùn)算將會返回值1,否則將會產(chǎn)生0。3.2 數(shù)的值不為0,那么將把看作true,如與或非l1&l1|0000010101111001101111000標(biāo)量和數(shù)組之間也可進(jìn)行邏輯運(yùn)算。例如,a0

11 生結(jié)果 a 0b 1a|b產(chǎn)生的結(jié)果

value1=value2=value3=-邏輯表達(dá) 結(jié) value1| value1& value1&value2| value1&(value2| ~(value1& 函 用

表 a不是一個數(shù)則返1,否則返回0 a是一個數(shù)值數(shù)組返回1,否則返回0a= b=-c= d=1.a> 2.b>3.a>b&c> 4.a==5.a&b> 6.a= b 1--0c=027.~(a>8.a>c&b>c<=

d=-2101a= b=c= d=a*b^2>d|bb>(d|b)>a= b=-c= d=a>b& 中有三種具體的形式:if結(jié)構(gòu),switch結(jié)構(gòu)和try/catch結(jié)構(gòu)。ifif結(jié)構(gòu)的基本形式如下ififStatementStatement2BlockelseifStatementStatementStatement2BlockStatementStatement2Blockend后面的第一個可執(zhí)行語句繼續(xù)執(zhí)行。如果所有的控制表達(dá)式(controlexpression)均為0,那么程序?qū)?zhí)行與else相關(guān)的語句塊。將會執(zhí)行end后面的語句,而不執(zhí)行if結(jié)構(gòu)中的部分。 在if結(jié)構(gòu)中的關(guān)鍵字end與第二章中提到的返回已知下標(biāo)最大值函數(shù)end完全不同。 通過end在M文件中的上下文來區(qū)分開它的兩個用途。在大多數(shù)應(yīng)的條件為真時,關(guān)系運(yùn)算和邏輯運(yùn)算將會產(chǎn)生1,否則產(chǎn)生0。所以當(dāng)一個運(yùn)算條件為真時,運(yùn)算結(jié)果為非0,則對應(yīng)的語句塊,就會被執(zhí)行。ax2+bx+c=

-b±b2-x ifif(b^2-4*a*c)<Writemsgthatequationhastwocomplexroots.elseif(b^2-4*a*c)==0WritemsgthatequationhastwoidenticalrealWritemsgthatequationhastwodistinctrealif(b^2-4*a*c)if(b^2-4*a*c)<disp('Thisequationhastwocomplexroots.');elseif(b^2-4*a*c)==0disp('Thisequationhastwoidenticalrealdisp('Thisequationhastwodistinctreal回憶一下,判斷為真時,關(guān)系運(yùn)算符將會返回一個非0值,從而導(dǎo)致對應(yīng)語句的執(zhí)行。ifx<yifx<y=和ififx<0;y=abs(x);

ax2+bx+c= PromptPrompttheuserforthecoefficientsa,b,andReada,b,andcdiscriminant←b^2-4*a*cifdiscriminat>0x1←(-b+sqrt(discriminant))/(2*a)x1←(-b-sqrt(discriminant))/Writemsgthatequationhastwodistinctrealroots.Writeoutthetworoots.x1←-b/(2*a)Writemsgthatequationhast

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論