Matlab基础与应用教程答案(人民邮电出版社)

上传人:xgs****56 文档编号:9677116 上传时间:2020-04-07 格式:DOC 页数:18 大小:386.50KB
返回 下载 相关 举报
Matlab基础与应用教程答案(人民邮电出版社)_第1页
第1页 / 共18页
Matlab基础与应用教程答案(人民邮电出版社)_第2页
第2页 / 共18页
Matlab基础与应用教程答案(人民邮电出版社)_第3页
第3页 / 共18页
点击查看更多>>
资源描述
第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 循环结构 n input input n s 0 for k 1 n s s 1 k 2 end display sqrt s 6 向量运算 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 函数文件fun m function f fun n f n log n 2 5 2 函数文件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 二 实验题 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 采样点数 T 5 采样时间终点 t linspace 0 T N 给出N个采样时间 ti I 1 N x 3 exp t 求各采样点样本值x dt t 2 t 1 采样周期 f 1 dt 采样频率 Hz X fft x 计算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 建立函数文件 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 二 实验题 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的积分区间为 0 2 时 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 令 则可写出原方程的状态方程形式 3 21yxyx 12332 sin 1 cos5xtxtx txttx cos0 1 2cos5sin303132 建立函数文件 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 建立函数文件 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 数值积分 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 略 二 实验题 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 方程转化为 21 ty 符号解 y1 y11 dsolve Dy y1 Dy1 y 1 t 2 pi y 2 5 y1 2 5 t 数值解 编写函数文件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章 二 实验题 1 1 新建一个Blank GUI 2 在窗口上添加一个Static Text 一个Edit Text 一个Push Botton 两个Check Box 一组Radio Button 各控件的属性设置如表9 1所示 表 9 1 界面控件属性 控 件 属 性 名 属 性 值 静态文本框 String 实验一 编辑框 String 按钮 String 设置字体大小 单选按钮 1 String red 单选按钮 2 String yellow 单选按钮 3 String blue String black单选按钮 4 Value 1 0 复选框 1 String 倾斜 复选框 2 String 加粗 3 在按钮的 Callback 函数中添加以下代码 s eval get handles edit1 String set handles text1 FontSize s 4 在复选框 1 的 Callback 函数中添加以下代码 if get hObject Value get hObject Max set handles text1 FontAngle italic else set handles text1 FontAngle normal end 在复选框 2 的 Callback 函数中添加以下代码 if get hObject Value get hObject Max set handles text1 FontWeight bold else set handles text1 FontAngle normal end 5 在单选按钮组的SelectionChangeFcn函数中添加以下代码 set handles text1 ForegroundColor get eventdata NewValue string 2 1 新建一个Blank GUI 2 用菜单编辑器编辑菜单 各菜单项属性如表9 2 表 9 2 菜单项属性 菜单项 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函数添加以下代码 global h t 0 0 01 6 h plot t sin t t cos t 4 在 Line Style 菜单项的 Callback 函数中添加以下代码 global h set h LineStyle 在 Line Width 菜单项的 Callback 函数中添加以下代码 global h set h LineWidth 2 在 Line Color 菜单项的 Callback 函数中添加以下代码 global h set h color red 在 About 菜单项的 Callback 函数中添加以下代码 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 新建一个Blank GUI 2 在窗口上添加三个Static Text 三个Edit Text 一个Push Botton 一个坐标轴对象 Axes 各控件的属性设置如表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 函数中添加以下代码 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 章 二 实验题 1 建立模型exercise10 1 mdl 1 双击Gain模块 打开Function Block Parameters进行设置 设置完成后 单击模型编辑 窗口的Start Simulation按钮 观察曲线 2 选择Math Operation模块库的Slide Gain模块替代Gain模块 2 略 3 Scope的双输入实现方法 双击Scope模块 打开Scope示波器窗口 单击该窗口工具栏的 Parameters 按钮 左数第二个 在打开的对话框的General选项卡的Numbers of axes 后的 编辑框中输入2 然后单击OK按钮返回 即可看到模型中的Scope模块增加了一个输入口 4 1 先建立如下模型 2 建立子系统 选中除输入输出模块外其他模块 执行Edit菜单的Create Subsystem命 令 3 封装子系统 选中子系统模块 执行Edit菜单的Mask Subsystem命令 在Mask Editor对话框的Parameters选项卡中的Dialog Parameters栏内增加三个变量 单击 OK按钮返回 5 1 建立S函数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命令窗口输入以下命令编译 假定本机安装的编译器是Microsoft Visual Studio 2005 optsfile matlabroot bin win32 mexopts msvc80engmatopts bat mex f optsfile exercise11 4 c 3 编译完成后 运行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命令窗口输入以下命令编译 假定本机安装的编译器是Microsoft Visual Studio 2005 optsfile matlabroot bin win32 mexopts msvc80engmatopts bat mex f optsfile exercise11 5 c 3 编译完成后 运行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命令窗口输入命令设置编译器 假定本机安装的编译器是Microsoft Visual Studio 2005 mex setup 按提示选择一种编译器 然后输入命令 mex exercise11 6 c 3 调用函数计算 a exercise11 6 5 0 4 0 a exercise11 6 8 0 12 0 第12 章 二 实验题 1 x fval fminbnd x 2 x 512 x 1 512 答案 长16m 宽32m 用材64m 2 1 设两种产品的产量为x y 建立模型 0312546907maxyxyZ 2 求解 在MATLAB的命令窗口输入 optimtool 命令打开优化工具图形用户界面 设 置如下 单击start按钮开始求解 答案 x 200 y 240
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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