Matlab基礎(chǔ)與應(yīng)用教程答案(人民郵電出版社)
《Matlab基礎(chǔ)與應(yīng)用教程答案(人民郵電出版社)》由會員分享,可在線閱讀,更多相關(guān)《Matlab基礎(chǔ)與應(yīng)用教程答案(人民郵電出版社)(18頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
第1章 一 思考題 4 1 B A 2 5 1 2 5 2 A 7 3 A A 30 4 size A 5 t find t 0 eps 6 t reshape x 3 4 7 abs matlab 8 char 93 5 A 97 67 34 10 78 75 65 5 32 5 23 59 0 12 54 7 1 B A 1 3 C A 1 2 D A 2 4 3 4 E B C 2 A find A 50 elseif h 60 gz dj h 700 else gz dj h end format bank display gh gz 3 循環(huán)結(jié)構(gòu) n input input n s 0 for k 1 n s s 1 k 2 end display sqrt s 6 向量運(yùn)算 n input input n k 1 n display sqrt sum 1 k 2 6 4 y 0 k 0 while y 1e 5 x a b x0 k k 1 end display k x display b sqrt b 2 4 a 2 b sqrt b 2 4 a 2 6 y fun 40 fun 30 fun 20 1 函數(shù)文件fun m function f fun n f n log n 2 5 2 函數(shù)文件fun m function f fun n a 1 n f sum a a 1 第3章 一 思考題 4 t 0 0 01 1 5 y sqrt 3 2 exp 4 t sin 4 sqrt 3 t pi 3 5 x 10 0 01 10 y linspace 6 6 size x 2 z x 3 3 x y 2 plot3 x y z 6 x 100 100 400 y 100 100 400 z 636 697 624 478 698 712 630 478 680 674 598 412 662 626 552 334 X Y meshgrid x y mesh X Y z 二 實(shí)驗(yàn)題 1 1 x 10 0 01 10 plot x x x 3 3 2 2 plot x exp x x 2 2 pi 3 x 8 0 01 8 plot x sqrt 64 x x 2 4 t 0 pi 100 6 pi plot t sin t t cos t 2 1 x1 linspace 0 1 100 y1 2 x1 0 5 t linspace 0 pi 100 x sin 3 t cos t y sin 3 t sin t plot x1 y1 r x y b text 0 4 1 y 2x 0 5 text 0 4 0 5 x sin 3t cos t text 0 4 0 3 y sin 3t sin t 2 subplot 1 2 1 scatter x1 y1 10 title y 2x 0 5 subplot 1 2 2 scatter x y 10 3 subplot 1 2 1 x 1 1 100 y sin 1 x plot x y subplot 1 2 2 fplot sin 1 x 1 100 4 subplot 2 2 1 bar t y subplot 2 2 2 stairs t y subplot 2 2 3 stem t y subplot 2 2 4 semilogy t y 5 theta linspace pi pi 100 ro 5 cos theta 4 polar theta ro fi linspace 0 2 pi 100 a 1 r a 1 cos fi polar fi r 6 t 0 pi 20 2 pi x exp t 20 cos t y exp t 20 sin t z t plot3 x y z t 0 0 01 1 x t y t 2 z t 3 plot3 x y z 7 x 30 0 1 0 y 0 0 1 30 x y meshgrid x y z 10 sin sqrt x 2 y 2 sqrt 1 x 2 y 2 meshc x y z 8 x linspace 3 3 100 y linspace 3 3 100 x y meshgrid x y fxy 5 1 x 2 y 2 i find abs x 0 8 w 7 04 4 28 3 40 2 52 2 13 hh 500 900 1500 ww interp1 h w hh spline 3 x linspace 1 10 50 y log x f polyfit x y 5 yy polyval f x plot x y r x yy g 4 N 64 采樣點(diǎn)數(shù) T 5 采樣時(shí)間終點(diǎn) t linspace 0 T N 給出N個(gè)采樣時(shí)間 ti I 1 N x 3 exp t 求各采樣點(diǎn)樣本值x dt t 2 t 1 采樣周期 f 1 dt 采樣頻率 Hz X fft x 計(jì)算x的快速傅立葉變換X F X 1 N 2 1 F k X k k 1 N 2 1 f f 0 N 2 N 使頻率軸f從零開始 plot f abs F 繪制振幅 頻率圖 xlabel Frequency ylabel F k 5 1 p1 1 2 0 0 7 p2 1 2 p3 1 0 0 5 1 p12 conv p1 p2 p p12 zeros 1 size p12 2 size p3 2 p3 roots p 2 A 1 4 3 2 1 5 0 5 6 Px polyval p A Pxm polyvalm p A 6 1 z fzero 3 x sin x 1 0 2 建立函數(shù)文件 myfun m function F myfun X x X 1 y X 2 F 1 x x y y 9 F 2 x y 1 在命令窗口中輸入以下命令 x fsolve myfun 3 0 optimset Display off 第6章 一 思考題 2 fx inline 1 1 x 2 I n quad fx 100000 100000 1e 3 I n quadl fx 100000 100000 1e 3 x 100000 0 01 100000 y 1 1 x x trapz x y 3 1 fx inline 2 y 2 x x 2 x t y ode23 fx 0 0 5 1 2 fx inline y exp x cos x t y ode23 fx 0 3 1 二 實(shí)驗(yàn)題 1 for x 1 3 fx x x 2 x 3 1 2 x 3 x 0 2 6 x diff fx end 2 1 x 0 0 01 1 y x 10 10 x 1 log10 x dy diff y 0 01 2 x 0 0 01 1 y log 1 x dy diff y 2 0 01 plot x 1 99 dy 3 1 fx inline x 2 sqrt 2 x x 3 quad fx 1 5 2 fx inline x sin x 2 quad fx pi 4 pi 3 3 fx inline abs cos x y dblquad fx 0 pi 0 pi 4 syms x y fx x y int int fx y 2 y 2 1 2 x的積分區(qū)間為 0 2 時(shí) fx inline x y dblquad fx 0 2 1 2 4 x 0 3 0 2 1 5 y 0 3895 0 6598 0 9147 1 1611 1 3971 1 6212 1 8325 trapz x y 5 1 yp inline 1 2 sin 10 x y t y ode23 yp 0 5 1 2 令 則可寫出原方程的狀態(tài)方程形式 3 21yxyx 12332 sin 1 cos5xtxtx txttx cos0 1 2cos5sin303132 建立函數(shù)文件 ztfun m function y ztfun t x b 0 0 cos t y 0 1 0 0 0 1 1 3 sin t 1 5 cos 2 t t 1 2 x b 解微分方程組 t y ode23 ztfun 0 5 1 0 2 6 建立函數(shù)文件 ztfun m function yy ztfun t y yy y 2 y 3 y 1 y 3 0 51 y 1 y 2 解微分方程組 t y ode23 ztfun 0 5 0 1 1 第7章 一 思考題 3 1 數(shù)值積分 fx inline exp x 1 exp x 2 quad fx 0 log 2 符號積分 f sym exp x 1 exp x 2 v int f 0 log 2 eval v 2 略 二 實(shí)驗(yàn)題 1 A sym 1 2 3 x y z 3 2 1 rank A inv A det A 2 1 y sym sqrt x sqrt x sqrt x y1 diff y y2 diff y x 2 2 syms x y fxy sin x 2 y exp x 2 y diff diff fxy x y 3 1 syms x int 1 1 x 4 2 syms x t int 2 x x 1 2 x x 3 x 1 2 x cos t exp 2 t 4 syms n x symsum 1 2 n 1 2 x 1 2 n 1 n 0 inf symsum 1 2 n 1 2 x 1 2 n 1 n 0 5 5 1 syms x taylor exp x exp x 2 5 0 2 syms a x taylor exp 5 x sin 3 x pi 3 5 a 6 1 x solve sym x 3 a x 1 0 2 x y solve sym sqrt x 2 y 2 100 0 3 x 5 y 8 0 7 方程轉(zhuǎn)化為 21 ty 符號解 y1 y11 dsolve Dy y1 Dy1 y 1 t 2 pi y 2 5 y1 2 5 t 數(shù)值解 編寫函數(shù)文件ztfun m function yy ztfun t y yy y 2 1 t 2 pi y 1 在命令窗口輸入以下命令 t y ode45 ztfun 2 7 5 5 t linspace 2 7 49 y2 y 8 x y dsolve Dx 3 x 4 y Dy 4 x 3 y x 0 0 y 0 1 第9章 二 實(shí)驗(yàn)題 1 1 新建一個(gè)Blank GUI 2 在窗口上添加一個(gè)Static Text 一個(gè)Edit Text 一個(gè)Push Botton 兩個(gè)Check Box 一組Radio Button 各控件的屬性設(shè)置如表9 1所示 表 9 1 界面控件屬性 控 件 屬 性 名 屬 性 值 靜態(tài)文本框 String 實(shí)驗(yàn)一 編輯框 String 按鈕 String 設(shè)置字體大小 單選按鈕 1 String red 單選按鈕 2 String yellow 單選按鈕 3 String blue String black單選按鈕 4 Value 1 0 復(fù)選框 1 String 傾斜 復(fù)選框 2 String 加粗 3 在按鈕的 Callback 函數(shù)中添加以下代碼 s eval get handles edit1 String set handles text1 FontSize s 4 在復(fù)選框 1 的 Callback 函數(shù)中添加以下代碼 if get hObject Value get hObject Max set handles text1 FontAngle italic else set handles text1 FontAngle normal end 在復(fù)選框 2 的 Callback 函數(shù)中添加以下代碼 if get hObject Value get hObject Max set handles text1 FontWeight bold else set handles text1 FontAngle normal end 5 在單選按鈕組的SelectionChangeFcn函數(shù)中添加以下代碼 set handles text1 ForegroundColor get eventdata NewValue string 2 1 新建一個(gè)Blank GUI 2 用菜單編輯器編輯菜單 各菜單項(xiàng)屬性如表9 2 表 9 2 菜單項(xiàng)屬性 菜單項(xiàng) Label 屬 性 值 Tag 屬 性 值 Line Label m lineMenu Help Help m help Line Style Line Style m linestyle Line Width Line Width m linewidthLine Menu Item Line Color Line Color m linecolor Help Menu Item About About m about 3 繪圖 在窗口的OpeningFcn函數(shù)添加以下代碼 global h t 0 0 01 6 h plot t sin t t cos t 4 在 Line Style 菜單項(xiàng)的 Callback 函數(shù)中添加以下代碼 global h set h LineStyle 在 Line Width 菜單項(xiàng)的 Callback 函數(shù)中添加以下代碼 global h set h LineWidth 2 在 Line Color 菜單項(xiàng)的 Callback 函數(shù)中添加以下代碼 global h set h color red 在 About 菜單項(xiàng)的 Callback 函數(shù)中添加以下代碼 msgbox Help Item 3 t 0 pi 20 6 pi a 2 b 3 r a b t h draw polar t r h menu uicontextmenu uimenu h menu Label red Call set h draw Color red uimenu h menu Label yellow Call set h draw Color yellow uimenu h menu Label blue Call set h draw Color blue set h draw UIContextMenu h menu 4 1 新建一個(gè)Blank GUI 2 在窗口上添加三個(gè)Static Text 三個(gè)Edit Text 一個(gè)Push Botton 一個(gè)坐標(biāo)軸對象 Axes 各控件的屬性設(shè)置如表9 3所示 表 9 3 界面控件屬性 控 件 屬 性 名 屬 性 值 text1 String a text1 String b Static Text text1 String n edit1 String edit2 StringEdit Text edit3 String pushbotton1 String 繪圖 width 100Axes1 height 25 3 在按鈕 pushbutton1 的 Callback 函數(shù)中添加以下代碼 t 0 pi 20 6 pi a eval get handles edit1 String b eval get handles edit2 String n eval get handles edit3 String r a cos b n t polar handles axes1 t r 第10 章 二 實(shí)驗(yàn)題 1 建立模型exercise10 1 mdl 1 雙擊Gain模塊 打開Function Block Parameters進(jìn)行設(shè)置 設(shè)置完成后 單擊模型編輯 窗口的Start Simulation按鈕 觀察曲線 2 選擇Math Operation模塊庫的Slide Gain模塊替代Gain模塊 2 略 3 Scope的雙輸入實(shí)現(xiàn)方法 雙擊Scope模塊 打開Scope示波器窗口 單擊該窗口工具欄的 Parameters 按鈕 左數(shù)第二個(gè) 在打開的對話框的General選項(xiàng)卡的Numbers of axes 后的 編輯框中輸入2 然后單擊OK按鈕返回 即可看到模型中的Scope模塊增加了一個(gè)輸入口 4 1 先建立如下模型 2 建立子系統(tǒng) 選中除輸入輸出模塊外其他模塊 執(zhí)行Edit菜單的Create Subsystem命 令 3 封裝子系統(tǒng) 選中子系統(tǒng)模塊 執(zhí)行Edit菜單的Mask Subsystem命令 在Mask Editor對話框的Parameters選項(xiàng)卡中的Dialog Parameters欄內(nèi)增加三個(gè)變量 單擊 OK按鈕返回 5 1 建立S函數(shù)subsection m function sys x0 str ts subsection t x u flag switch flag case 0 sys x0 str ts mdlInitializeSizes case 3 sys mdlOutputs t x u case 1 2 4 9 sys otherwise error Unhandled Flag num2str flag end function sys x0 str ts mdlInitializeSizes sizes simsizes sizes NumContStates 0 sizes NumDiscStates 0 sizes NumOutputs 1 sizes NumInputs 1 sizes DirFeedthrough 1 sizes NumSampleTimes 1 sys simsizes sizes x0 str ts 1 0 function sys mdlOutputs t x u if u 0 end m textall n A 1 ch m ch m 1 end end 4 1 編輯c源程序exercise11 4 c 代碼如下 include include For strcmp include For EXIT FAILURE EXIT SUCCESS include include mat h define BUFSIZE 256 define k1 39 define k2 71 int main MATFile pmat mxArray pa1 pa2 pa3 double data k1 k2 const char file mat11 4 mat char str BUFSIZE int status int n1 n2 for n1 0 n1 k1 n1 for n2 0 n2 k2 n2 data n1 n2 pow n1 1 0 n2 1 1 3 0 printf Creating file s n n file pmat matOpen file w if pmat NULL printf Error creating file s n file printf Do you have write permission in this directory n return EXIT FAILURE pa1 mxCreateDoubleMatrix k1 k2 mxREAL if pa1 NULL printf s Out of memory on line d n FILE LINE printf Unable to create mxArray n return EXIT FAILURE pa2 mxCreateDoubleMatrix k1 k2 mxREAL if pa2 NULL printf s Out of memory on line d n FILE LINE printf Unable to create mxArray n return EXIT FAILURE memcpy void mxGetPr pa2 void data sizeof data pa3 mxCreateString MATLAB the language of technical computing if pa3 NULL printf s Out of memory on line d n FILE LINE printf Unable to create string mxArray n return EXIT FAILURE status matPutVariable pmat LocalDouble pa1 if status 0 printf s Error using matPutVariable on line d n FILE LINE return EXIT FAILURE status matPutVariableAsGlobal pmat GlobalDouble pa2 if status 0 printf Error using matPutVariableAsGlobal n return EXIT FAILURE status matPutVariable pmat LocalString pa3 if status 0 printf s Error using matPutVariable on line d n FILE LINE return EXIT FAILURE memcpy void mxGetPr pa1 void data sizeof data status matPutVariable pmat LocalDouble pa1 if status 0 printf s Error using matPutVariable on line d n FILE LINE return EXIT FAILURE mxDestroyArray pa1 mxDestroyArray pa2 mxDestroyArray pa3 if matClose pmat 0 printf Error closing file s n file return EXIT FAILURE pmat matOpen file r if pmat NULL printf Error reopening file s n file return EXIT FAILURE pa1 matGetVariable pmat LocalDouble if pa1 NULL printf Error reading existing matrix LocalDouble n return EXIT FAILURE if mxGetNumberOfDimensions pa1 2 printf Error saving matrix result does not have two dimensions n return EXIT FAILURE pa2 matGetVariable pmat GlobalDouble if pa2 NULL printf Error reading existing matrix GlobalDouble n return EXIT FAILURE if mxIsFromGlobalWS pa2 printf Error saving global matrix result is not global n return EXIT FAILURE pa3 matGetVariable pmat LocalString if pa3 NULL printf Error reading existing matrix LocalString n return EXIT FAILURE status mxGetString pa3 str sizeof str if status 0 printf Not enough space String is truncated return EXIT FAILURE if strcmp str MATLAB the language of technical computing printf Error saving string result has incorrect contents n return EXIT FAILURE clean up before exit mxDestroyArray pa1 mxDestroyArray pa2 mxDestroyArray pa3 if matClose pmat 0 printf Error closing file s n file return EXIT FAILURE printf Done n return EXIT SUCCESS 2 在MATLAB命令窗口輸入以下命令編譯 假定本機(jī)安裝的編譯器是Microsoft Visual Studio 2005 optsfile matlabroot bin win32 mexopts msvc80engmatopts bat mex f optsfile exercise11 4 c 3 編譯完成后 運(yùn)行exercise11 4 exe 5 1 編輯c源程序exercise11 5 c 代碼如下 include include include include engine h define BUFSIZE 256 int main Engine ep mxArray X NULL Y NULL char buffer BUFSIZE 1 double x 100 y 100 int n for n 0 n 100 n x n n 1 100 0 y n n 1 100 0 if ep engOpen 0 fprintf stderr nCan t start MATLAB engine n return EXIT FAILURE X mxCreateDoubleMatrix 1 100 mxREAL memcpy void mxGetPr X void x sizeof x Y mxCreateDoubleMatrix 1 100 mxREAL memcpy void mxGetPr Y void y sizeof y engPutVariable ep X X engPutVariable ep Y Y engEvalString ep x y meshgrid X Y engEvalString ep z x 1 x 2 y 2 engEvalString ep mesh x y z printf Hit return to continue n n fgetc stdin mxDestroyArray X mxDestroyArray Y engClose ep return EXIT SUCCESS 2 在MATLAB命令窗口輸入以下命令編譯 假定本機(jī)安裝的編譯器是Microsoft Visual Studio 2005 optsfile matlabroot bin win32 mexopts msvc80engmatopts bat mex f optsfile exercise11 5 c 3 編譯完成后 運(yùn)行exercise11 5 exe 6 1 編輯c源程序exercise11 6 c 代碼如下 include mex h double cfun double a double b double n r n a r b if r 0 return 1 else if n 1 return n else b r 1 return cfun a b n r 1 r void mexFunction int nlhs mxArray plhs int nrhs const mxArray prhs double x y z int m n i if nrhs 2 mexErrMsgTxt Two inputs required if nlhs 1 mexErrMsgTxt One output required for i 0 i 2 i m mxGetM prhs i n mxGetN prhs i if mxIsDouble prhs i mxIsComplex prhs i m 1 x mxGetPr prhs 0 y mxGetPr prhs 1 plhs 0 mxCreateDoubleMatrix m n mxREAL z mxGetPr plhs 0 z cfun x y 2 在MATLAB命令窗口輸入命令設(shè)置編譯器 假定本機(jī)安裝的編譯器是Microsoft Visual Studio 2005 mex setup 按提示選擇一種編譯器 然后輸入命令 mex exercise11 6 c 3 調(diào)用函數(shù)計(jì)算 a exercise11 6 5 0 4 0 a exercise11 6 8 0 12 0 第12 章 二 實(shí)驗(yàn)題 1 x fval fminbnd x 2 x 512 x 1 512 答案 長16m 寬32m 用材64m 2 1 設(shè)兩種產(chǎn)品的產(chǎn)量為x y 建立模型 0312546907maxyxyZ 2 求解 在MATLAB的命令窗口輸入 optimtool 命令打開優(yōu)化工具圖形用戶界面 設(shè) 置如下 單擊start按鈕開始求解 答案 x 200 y 240- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Matlab 基礎(chǔ) 應(yīng)用 教程 答案 人民郵電 出版社
鏈接地址:http://www.hcyjhs8.com/p-9677116.html