




已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Matlab輸入輸出格式及多項(xiàng)式函數(shù),在運(yùn)算式中常需要做數(shù)據(jù)的輸入及輸出,采用的方式可以是交談式的或是指定格式。,輸入及輸出 交談式的輸入 輸出格式,Matlab輸入及輸出格式,我們來看一個(gè)例子,計(jì)算面積 Area= 可利用指令input在熒幕印出提示文字做為交談式的輸入。 r = input(Type radius:) % 在兩個(gè)單引號 之間鍵入提示文字 Type radius: % 現(xiàn)在鍵入 2 做為半徑值 r = 2 area=pi*r2; % 鍵入面積算式,交談式的輸入, name = input(Your name please: ,s) % 要鍵入文字則須在加上s,s 是代表字串(string) Your name please: % 鍵入名字 J.C. Wu name = J.C. Wu,輸出格式,至于輸出有二種格式:自由格式 (disp) 和格式化輸出 (fprintf)。要直接輸出文字或是一數(shù)值,可使用disp,例如 temp=20; disp(temp); disp(degrees C); disp(度 C) %中文也接受呢! 20 degrees C 度 C,而指令fprintf則是用來控制輸出數(shù)據(jù)及文字的格式,它的基本格式如 fprintf(The area is %8.5fn, area) 在二個(gè)單引號間包括輸出的字串The area is,接著是輸出數(shù)據(jù)的格式%8.5f,再來是跳行符號以避免下一個(gè)輸出 數(shù)據(jù)或是提示符號也擠在同一行,最后鍵入要輸出的數(shù)據(jù)名area。 The area is 12.56637 % 輸出值為8位數(shù)含5位小數(shù) 注意輸出格式前須有%符號,跳行符號須有符號,在此要稍加說明的是輸出數(shù)據(jù)的格式,以下的例子各說明了不同型態(tài)的輸出格式 fprintf(f_form: %12.5fn,12345.2) % 輸出值為12位數(shù),含5位小數(shù) f_form: 12345.20000 fprintf(f_form: %12.3fn,1.23452) % 輸出值為12位數(shù),含3位小數(shù) f_form: 1.235, fprintf(e_form: %12.5en,12345.2) % 輸出值為指數(shù)格式的12位數(shù),含5位小數(shù) e_form: 1.23452e+004 fprintf(f_form: %12.0fn,12345.2) % 輸出值為整數(shù)格式的12位數(shù) f_form: 12345,MATLAB常用的三角函數(shù) sin(x):正弦函數(shù) asin(x):反正弦函數(shù) cos(x):余弦函數(shù) acos(x):反余弦函數(shù) tan(x):正切函數(shù) atan(x):反正切函數(shù) sinh(x):超越正弦函數(shù) asinh(x):反超越正弦 cosh(x):超越余弦函數(shù) acosh(x):反超越馀弦函數(shù) tanh(x):超越正切函數(shù) 函數(shù) atanh(x):反超越正切函數(shù),Matlab多項(xiàng)式函數(shù),多項(xiàng)式常被用來模擬一個(gè)物理現(xiàn)象的解析函數(shù),之所以采用多項(xiàng)式,是因?yàn)樗苋菀子?jì)算。在這里我們將說明如何做多項(xiàng)式的計(jì)算及解多項(xiàng)式的根。,令p(x) 代表一個(gè)多項(xiàng)式如下 MATLAB 以一最簡便方式代表上述的多項(xiàng)式 p=1 4 -7 -10,其中的數(shù)值是多項(xiàng)式的各階項(xiàng)(從高到低)的 各個(gè)系數(shù),其實(shí)p 也是一個(gè)陣列不過是用以代表這個(gè)多項(xiàng)式。 有了多項(xiàng)式的表示式后,我們即可來計(jì)算其函數(shù)值。假設(shè)要計(jì)算一組數(shù)據(jù)x對應(yīng)的多項(xiàng)式值,依照一般的函數(shù) 計(jì)算須以下列式子計(jì)算:, p=x.3+4*x.2-7*x-10 為了能直接運(yùn)用多項(xiàng)式,可以用函數(shù) polyval直接做運(yùn)算,語法為 polyval(p,x),其中p 即是代表多項(xiàng)式各階系數(shù) 的陣列。因此 x=linspace(-1,3,N); p=1 4 7 -10; v=polyval(p,x);,y = polyval(p,x) 返回n次多項(xiàng)式p在x處的值。輸入變量p=p0 p1 p2pn是一個(gè)長度為n+1的向量,其元素為按降排列的多項(xiàng)式系數(shù)。 y=pn+pn-1*x+p0*xn x可以是一個(gè)矩陣或者一個(gè)向量,在這兩種情況下,polyval計(jì)算在X中任意元素處的多項(xiàng)式p的估值。,用法:linspace(x1,x2,N) 功能:linspace是Matlab中的一個(gè)指令,用于產(chǎn)生x1,x2之間的N點(diǎn)行矢量。其中x1、x2、N分別為起始值、終止值、元素個(gè)數(shù)。若缺省N,默認(rèn)點(diǎn)數(shù)為100。在matlab的命令窗口下輸入help linspace或者doc linspace可以獲得該函數(shù)的幫助信息。,我們接著說明如何對二個(gè)多項(xiàng)式做加減乘除運(yùn)算。當(dāng)二個(gè)多項(xiàng)式間要做加減乘除時(shí),加 減運(yùn)算可以直接進(jìn)行。假設(shè)有二個(gè)多項(xiàng)式 a(x) 和 b(x) 定義如下:,如果多項(xiàng)式 c(x) 為上述二多項(xiàng)式相加,即 c(x) = a(x) + b(x), 因此,如果是二多項(xiàng)式相減得到的多項(xiàng)式為 d(x) = a(x) - b(x), 則,以下就介紹相關(guān)范例,來說明二個(gè)多項(xiàng)式的加減運(yùn)算:, a=1 2 3 4; b=1 4 9 16; c=a+b c = 2 6 12 20 d=a-b d = 0 -2 -6 -12,而將兩個(gè)多項(xiàng)式相乘可以得到一新的多項(xiàng)式 e(x) = a(x) b(x),如果是兩個(gè)多項(xiàng)式相除,即 :,上述二個(gè)運(yùn)算式不能直接運(yùn)算,須要另外定義函數(shù)conv做乘法運(yùn)算以及函數(shù)deconv做除法運(yùn)算。當(dāng)二多項(xiàng)式相乘,在數(shù)學(xué)上等于二個(gè)陣列做卷積(convolution)運(yùn)算(因?yàn)槲覀兪且躁嚵衼泶硪粋€(gè)多項(xiàng)式的各階系數(shù)), 因此可利用conv函數(shù)做乘法運(yùn)算,其語法為conv(a,b),其中a, b代表二個(gè)多項(xiàng)式的陣列。而二多項(xiàng)式相除就相 當(dāng)于反卷積(de-convolution) 運(yùn)算,因此有 deconv 函數(shù),其語法稍有不同 q,r=deconv(a,b),其中q,r分別代表整 除多項(xiàng)式及余數(shù)多項(xiàng)式。,以下就介紹相關(guān)范例,來說明二個(gè)多項(xiàng)式的乘除運(yùn)算: a=1 2 3 4; b=1 4 9 16;, e=conv(a,b) e = 1 6 20 50 75 84 64 g=e+0 0 0 c g = 1 6 20 52 81 96 84,(c = 2 6 12 20), f,r=deconv(e,b) f = 1 2 3 4 r = 0 0 0 0 0 0 0 % 因?yàn)槭钦杂鄶?shù)多項(xiàng)式的各系數(shù)皆為零, h,r=deconv(g,a) h = 1 4 9 18 r = 0 0 0 0 2 6 12 % 余數(shù)多項(xiàng)式為 2*x2 + 6*x + 12,多項(xiàng)式的根,一個(gè)多項(xiàng)式視其階數(shù)而定,它的根可以有一個(gè)到數(shù)個(gè),可能為實(shí)數(shù)也可能是復(fù)數(shù)。要求一高階多項(xiàng)式的根往 往須借助數(shù)值方法,所幸MATLAB已將這些數(shù)值方法寫成一函數(shù)roots(p),我們只要輸入多項(xiàng)式的各階系數(shù)( 以 p 代表)即可求解到對應(yīng)的根, p=1 3 2; r=roots(p) r = -2 -1 p=1 -12 0 25 116; % 注意二階項(xiàng)系數(shù)為零須要輸入,否則多項(xiàng)式的階數(shù)就不對 r=roots(p) % 有實(shí)數(shù)根及復(fù)數(shù)根 r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i,與 roots 相關(guān)的函數(shù)尚有 poly,real,這二個(gè)函數(shù)的用途是要驗(yàn)算求解的根展開能求得原多項(xiàng)式。 例如有一個(gè)二次方程式的根為-2, -1,則以下式計(jì)算原多項(xiàng)式 p(x)=(x+2)(x+1)=x2+3x+2 poly 函數(shù)就是在求出多項(xiàng)式的各階系數(shù),其語法為 poly(r),其中 r 是代表根的陣列。而 real 則是用來去除因計(jì)算時(shí)產(chǎn)生的假虛部系數(shù),為何會有此種情形請參考以下的例子。, r=-2 -1; pp=poly(r) % pp=(x+2)(x+1)=x2+3x+2 pp = 1 3 2 p=1 -4 6 -4; r=roots(p) r = 2.0000 1.0000 + 1.0000i 1.0000 - 1.0000i pp=poly(r) % 這個(gè)多項(xiàng)式的系數(shù)與原多項(xiàng)式 p 相同 pp = 1 -4 6 -4, pp=1 7 12 9; % 再看另一個(gè)多項(xiàng)式 r=roots(pp) r = -4.9395 -1.0303 + 0.8721i -1.0303 - 0.8721i pp=poly(r) % 注意因計(jì)算的誤差會有假虛部產(chǎn)生 pp = 1.0000 7.0000 12.0000 9.0000 + 0.0000i pp=real(pp) % 可以real將假虛部去除,將原多項(xiàng)式還原 pp = 1.0000 7.0000 12.0000 9.0000,非線性方程的實(shí)根,如果求根的方程不為多項(xiàng)式的形式, 就不能用 roots 函數(shù)。而這類的方程多半是非線性方程, 其函數(shù)形式變化很大。對于解這類方程的根,可以用 fzero函數(shù),它其實(shí)是用來找一函數(shù) f(x) 的 x 值代入時(shí),會使該函數(shù)值為零 (f(x)=0);而這也就是根的特性,因此我們可以用 fzero求根。,要求任一方程的根有三步驟: (1)先定義方程。要注意必須將方程安排成 f(x)=0 的形式,例如一方程為sin(x)=3, 則該方程式應(yīng)表示為 f(x)=sin(x)-3??梢?用m-file 定義方程。 (2)代入適當(dāng)范圍的 x, y(x) 值,將該函數(shù)的分布圖畫出,藉以了解該方程的長相。,(3)由圖中決定y(x)在何處附近(x0)與 x 軸相交,以fzero的語法fzero(function,x0) 即可求出在 x0附近的根,其中 function 是先前已定義的函數(shù)名稱。如果從函數(shù)分布圖看出根不只一 個(gè),則須再代入另一個(gè)在根附近的 x0,再求出下一個(gè)根。 以下分別介紹幾個(gè)方程式,來說明如何求解它們的根。,例一、方程為 sin(x)=0 我們知道上式的根有 ,求根方式如下: r=fzero(sin,3) % 因?yàn)閟in(x)是內(nèi)建函數(shù),其名稱為sin, %因此無須定義它選擇 x=3 附近求根 r = 3.1416 r=fzero(sin,6) % 選擇 x=6 附近求根 r = 6.2832,例二、方程為MATLAB 內(nèi)建函數(shù) humps,我們不須要知道這個(gè)方程的形態(tài)為何,不過我們可以將它畫出來,再找出根的位置。求根方式如下: x=linspace(-2,3); y=humps(x); plot(x,y), grid % 由圖中可看出在0和1附近有二個(gè)根 r=fzero(humps,1.2) r = 1.2995,例三、方程式為 這個(gè)方程式其實(shí)是個(gè)多項(xiàng)式,我們說明除了用 roots 函數(shù)找出它的根外,也可以用這節(jié)介紹的方法求根,注意二者的解法及結(jié)果有所不同。求根方式如下:,% m-function, f_1.m function y=f_1(x) % 定義 f_1.m 函數(shù) y=x.3-2*x-5; x=linspace(-2,3); y=f_1(x); plot(x,y), grid % 由圖中可看出在2和-1附近有二個(gè)根, r=fzero(f_1,2); % 決定在2附近的根 r = 2.0946 p=1 0 -2 -5 r=roots(p) % 以求解多項(xiàng)式根方式驗(yàn)證 r = 2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i,例四、方程式為 求根方式如下: % m-function, f_2.m function y=f_2(x) % 定義 f_2.m 函數(shù) y=x.2.*sin(x)+cos(x); x=linspace(-3,3); y=f_2(x); plot(x,y), grid % 由圖中可看出在-1和3附近有二個(gè)根 r=fzero(f_2,-1); % 決定在-1附近的根,r = -0.8952 r=fzero(f_2,3); % 決定在3附近的根 r = 3.0333,例五、方程式為 求根方式如下: % m-function, f_3.
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離職管理制度
- 醫(yī)學(xué)逸事小趣聞
- 石膏板吊頂構(gòu)造工藝流程
- 《人際交往與性格塑造》課件
- 輔助生殖婦女妊娠管理
- 餐飲促銷活動策劃方案
- 東風(fēng)日產(chǎn)銷售培訓(xùn)體系
- 自動化管理介紹
- 《聾人與癱瘓者》課件
- 醫(yī)學(xué)機(jī)制核心解析與分類框架
- 家長對于兒童使用抗生素認(rèn)知行為的調(diào)查分析
- 燃?xì)庠O(shè)備安全操作規(guī)程
- 學(xué)院ma600飛機(jī)飛行訓(xùn)練大綱
- GB/T 24186-2022工程機(jī)械用高強(qiáng)度耐磨鋼板和鋼帶
- GB/T 19106-2013次氯酸鈉
- 《膜分離技術(shù)》教學(xué)課件
- 第十七章-東歐封建社會的發(fā)展-(《世界古代史下冊》課件)
- 高級會計(jì)師評審個(gè)人業(yè)績報(bào)告(精選9篇)
- 一級病原微生物實(shí)驗(yàn)室危害評估報(bào)告
- 茶葉加工機(jī)械與設(shè)備(全套524張課件)
- 五年級下冊數(shù)學(xué)課件-4.分?jǐn)?shù)連加、連減和加減混合運(yùn)算及應(yīng)用練習(xí) 蘇教版 (共11張PPT)
評論
0/150
提交評論