第五章Matlab 练习

合集下载

MATLAB语言基础与应用(第二版)第5章 习题答案

MATLAB语言基础与应用(第二版)第5章 习题答案

第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。

MATLAB第五章作业

MATLAB第五章作业

第五章作业1.选择题(1)if结构的开始是“if”命令,结束是C命令。

A. End ifB. endC. EndD. else(2)下面的switch结构,正确的是C。

A. >>switch a case a>1B. >>switch acase a=1C. >>switch acase 1D. >>switch acase =1(3)运行以下命令:>>a=eye(5);>>for n=a(2:end,:)则for循环的循环次数是B。

A. 5B. 4C. 3D. 1(4)运行以下命令,则for循环的循环次数是C。

>>x=0:10;>>for n=xif n==5continueendendA. 10B. 5C. 11D. 10(5)运行以下命令则B。

>>a=[1 2 3]>>keyboardK>>a=[1 2 4];K>>returnA. a=[1 2 3]B. a=[1 2 4]C. 命令窗口的提示符为“K>>”D. 出错(6)关于主函数,以下说法正确的是D。

A. 主函数名必须与文件名相同B. 主函数的工作空间与子函数的工作空间是嵌套的C. 主函数中不能定义其他函数D. 每个函数文件中都必须有主函数(7)当在命令窗口中输入“sin(a)”时,则对“a”的搜索顺序是D。

A. 是否内部函数→是否变量→是否私有函数B. 是否内部函数→是否搜索路径中函数→是否私有函数C. 是否内部函数→是否搜索路径中函数→是否当前路径中函数D. 是否变量→是否私有函数→是否当前路径中函数2.求分段函数2226,0356,0<5231x x x xy x x x x xx x⎧+-<≠-⎪=-+≠≠⎨⎪--⎩且≤且及,其他的值。

用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

第5章MATLAB绘图_习题答案

第5章MATLAB绘图_习题答案

第5章MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。

DA.12B.7C.4D.32.下列程序的运行结果是()。

Ax=0:pi/100:2*pi;forn=1:2:10plot(n*sin(x),n*cos(x))holdonendaxissquareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。

C A.{\alpha}+{\beta}B.αβ}C.α+βD.αβ4.subplot(2,2,3)是指()的子图。

AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图x的曲线绘制成直线,应采用的绘图函数是()。

C5.要使函数y=2eA.polarB.semilogxC.semilogyD.loglog6.下列程序的运行结果是()。

B[x,y]=meshgrid(1:5);surf(x,y,5*ones(size(x)));A.z=x+y平面B.与xy平面平行的平面C.与xy平面垂直的平面D.z=5x平面7.下列函数中不能用于隐函数绘图的是()。

DA.ezmeshB.ezsurfC.ezplotD.plot38.下列程序运行后,看到的图形()。

Ct=0:pi/20:2*pi;[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);surf(x,y,z)view(0,90);axisequalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。

A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1&abs(y)<1);z(i)=NaN;surf(x,y,z);shadinginterpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要()。

MATLAB教程2012a第5章习题解答-张志涌..

MATLAB教程2012a第5章习题解答-张志涌..

d=0.05;
%控制运动速度(0.01——0.5)
n=200;
x=[0:pi/30:4*pi]; %供画曲线用的横坐标
axis([-0.2,4*pi,-1,1]),axis off,
10
pause(0.1)
%足够迟延似乎不可缺。否则可能图形有误。
for tt=0:n
%决定画曲线的时刻
a=tt*pi/24-x;
3
y=(exp(-(zk-beta)*t)-exp(-(zk+beta)*t))/(2*beta); plot(t,y,'r') if zk>1.2
text(0.3,0.14,'\zeta = 1.4') end end end text(10,0.7,'\Delta\zeta=0.2') axis([0,18,-0.4,0.8]) hold off box on grid on
9
图 p5-9
10 在[0,4 ] 区间内,根据 y(t, x) e0.2x sin( t x) ,通过图形曲线表 24 现“行波”。做题前,请先运行 prob510.p 文件,观察演示。
图 p5-10
〖解答〗
function prob510
% prob510.m
clear all clf,shg
-0.9801 -0.9801 -0.9801 -0.9801 y0 =
0.2005 0.2005 0.2005 0.2005
CRROS-POINTS OF ' y/(1+x2+y2)-0.1 ' AND ' sin(x+cos(y)) '
0.8

MATLAb与数学实验 第五章习题解答

MATLAb与数学实验 第五章习题解答
i=
1 3 2 4 1 3 5 2 4 3 5
j=
1 1 2 2 3 3
3 4 4 5 5
s=
1 3 1 3 2 1 3 2 1 2 1 A1 =
10200 01020 30102 03010 00301 (2) n=nnz(A)
n=
13 ans =
1 2 -1 3 -2 4 1 -3 5 2
-4 3 -5
>> nx=nzmax(A)
nx =
35
>> [i,j,s]=find(A)
i=
1 2 1 3 2 4 1 3 5 2 4 3 5
j=
1 2 3 3 4 4 5 5 5 6 6 7 7
s=
1 2 -1 3 -2 4 1 -3 5 2 -4 3 -5
A1 =
1 0 -1 0 1 0 0
0 2 0 -2 0 2 0
C=
11 11 11
>> B=[3 5 7;0 1 0]
B=
357 010
>> D=[0 0 0;0 0 0]
D=
000 000
2.随机生成:(1)一个含有五个元素的列向量. (2)一个数值在 0~100 之间的三行四列的矩阵.
答 (1) rand(5,1)
ans =
0.9501
0.2311 0.6068 0.4860 0.8913
0 0 3 0 -3 0 3
0 3 0 1 0
0 0 0
4
0
4
0

0 0 3 0 1
0 0 0 0 5 0 5
答(1) n=nnz(A)
n=
11
>> nonzeros(A)

MATLAB第五章(刘卫国编)

MATLAB第五章(刘卫国编)

4/72
说明: (1)当x,y是同维矩阵时,则以x,y对应列元素为 横、纵坐标分别绘制曲线,曲线条数等于矩阵 的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横 坐标。 (3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
16/72
5.1.3 绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有 条形图、阶梯图、杆图和填充图等,所 采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)
18/72
2.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选 项的内容与plot函数相似。 例5.9 绘制ρ=sin(2θ)cos(2θ)的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'k');
8/72
例5.4 用不同标度在同一坐标内绘制曲线y1=e0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);
10/72
2. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带 参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带 参数的box命令在两种状态之间进行切换。 11/72

5章习题答案matlab


张卫华 MATLAB课堂
例13:
分析以下程序, 并运行观察。
clf;x=3*pi*(-1:0.05:1);y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet); axis off n=12;mmm=moviein(n); for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10)
张卫华 MATLAB课堂
例5程序:
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
张卫华 MATLAB课堂
例6:
绘制r=sin(t)cos(t)的极坐标图,并标记 数据点。
张卫华 MATLAB课堂例6 Nhomakorabea序:t=0:pi/50:2*pi; r=sin(t).*cos(t); polar(t,r,'-*');
title('y1=0.2e^{-0.5x}cos(4\pix) 和y2=2e^{0.5x}cos(4\pix)比较') text(2,2*exp(-1),'\fontsize{20}\bf \leftarrow x_{1}=2,y_{1}=2e^{-1}')
张卫华 MATLAB课堂
例5:
绘制f(x)=cos(tan(πx))的曲线
张卫华 MATLAB课堂
例11:
绘制柱形,剪切掉x、y小于零 的部分
张卫华 MATLAB课堂
例11程序:
t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); [X,Y,Z]=cylinder(r,60); ii=find(X<0&Y<0); Z(ii)=NaN; surf(X,Y,Z);colormap(spring), shading interp light('position',[-3,-1,3],'style','local')

MATLAB基础习题第五章习题答案


(1)如果当前时间为 7-8 点则提醒用户,该吃早饭了; (2)如果当前时间为 9-11 点则提醒用户,该学习了; (3)如果当前时间为 12-14 点则提醒用户,该午休了; (4)如果当前时间为 14-17 点则提醒用户,该锻炼了; 答: %%程序为:remind.fig、remind.m

6.求解六元线性方程组: (1)方程组的系数矩阵由用户通过键盘输入; (2)得到系数矩阵后给出方程的解; (3)程序要具有友好性 答:
%% %该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给 出方程的解; clc; clear all; close all; %% %方程输入模块 x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'}); A=cell2mat(x); %% y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
you=input('请做出你的选择,石头(1) ,剪刀(2) ,布(3) : '); end disp('您的选择是: '); disp(b(2*you-1:2*you)); compute=ceil(3*rand(1,1)); disp('电脑的选择是:'); disp(b(2*compute-1:2*compute)); %% %%输赢判断模块 %如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢 if you==compute disp('平手'); end switch(you-compute) case{1,-2} disp('您输了'); case{-1,2} disp('您赢了'); end %% %是否继续判别模块 n=input('是否继续玩该游戏?否(0) ,是(1)'); while n~=0&n~=1 disp('您输入的不是正确数字,请正确输入'); n=input('是否继续玩该游戏?否(0) ,是(1)'); end end >> 请选择,石头(1) ,剪刀(2) ,布(3) : 1 您的选择是: 石头 电脑的选择是: 、剪 您赢了 是否继续玩该游戏?否(0) ,是(1)1 请选择,石头(1) ,剪刀(2) ,布(3) : 2 您的选择是: 、剪 电脑的选择是: 石头 您输了 是否继续玩该游戏?否(0) ,是(1)0 >> 5.编写一个日程提醒程序实现如下功能:

(完整版)matlab经典习题及解答

第1章 MATLAB 概论1.1 与其他计算机语言相比拟,MATLAB 语言突出的特点是什么?MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。

1.2 MATLAB 系统由那些局部组成?MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个局部组成。

1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。

1.5 如何启动M 文件编辑/调试器?在操作桌面上选择“建立新文件〞或“翻开文件〞操作时,M 文件编辑/调试器将被启动。

在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。

1.6 存储在工作空间中的数组能编辑吗?如何操作?存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名翻开数组编辑器,再选中要修改的数据单元,输入修改内容即可。

1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。

1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。

在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时那么优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。

matlab仿真课后习题

第一章习题3.请指出以下的变量名(函数名、M文件名)中,哪些是合法的Abc 2004x lil-1 wu_2004 a&b _xyz 解:合法的变量名有:Abc wu_20044.指令窗操作(1)求[12+2×(7-4)]÷32的运算结果解:>> [12+2*(7-4)]/3^2ans =2(2)输入矩阵A=[1,2,3;4,5,6;7,8,9],观察输出。

解:>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9(3)输入以下指令,观察运算结果;clear;x=-8::8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);colormap(hot)xlabel('x'),ylabel('y'),zlabel('z')解:7.指令行编辑(1)依次键入以下字符并运行:y1=2*sin*pi)/(1+sqrt(5))解:>>y1=2*sin*pi)/(1+sqrt(5))y1 =(2)通过反复按键盘的箭头键,实现指令回调和编辑,进行新的计算;y2=2*cos*pi)/(1+sqrt(5))解:>>y2=2*cos*pi)/(1+sqrt(5))y2 =11.编写题4中(3)的M脚本文件,并运行之。

解:第二章习题1.在指令窗中键入x=1::2和y=2::1,观察所生成的数组。

解:>> x=1::2 x =>> y=2::1 y =Empty matrix: 1-by-02.要求在[0,2π]上产生50个等距采样数据的一维数组,试用两种不同的指令实现。

解: y1=0:2*pi/49:2*pi y2=linspace(0,2*pi,50)3.计算e -2t sint ,其中t 为[0,2π]上生成的10个等距采样的数组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【练习6】:输入某年某月某日,判断这一天是这一年的第几天? 练习6 输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再 1.程序分析: 日为例,应该先把前两个月的加起来, 程序分析 加上5天即本年的第几天,特殊情况,闰年且输入月份大于3 加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考 虑多加一天。 虑多加一天。
case 7 sum=181; case 8 sum=212; case 9 sum=243; case 10 sum=273; case 11 sum=304; case 12 sum=334; otherwise disp('erro data'); end sum=sum+day; % 再加上数值 year=input('please input year:'); month=input('please input month:'); day=input('please input day:'); switch month % 先计算某月以前月份的总天数 case 1 sum=0; case 2 sum=31; case 3 sum=59; case 4 sum=90; case 5 sum=120; case 6 sum=151;
if mod(year,4)~=0 % 如果年份不能被 整除,则不是闰年 如果年份不能被4整除 整除, leap=0; % 如果年份可以被 整除,而且不能被 如果年份可以被4整除 而且不能被100整除,则是闰年 整除, 整除, 整除 elseif mod(year,100)~=0 leap=1; % 如果年份可以被 整除,并能被 如果年份可以被4整除 并能被100整除,而且能被 整除, 整除, 整除, 整除 而且能被400整除,则是 整除 闰年 elseif mod(year,400)==0 leap=1; % 如果年份可以被 整除,并能被 如果年份可以被4整除 并能被100整除,且不能被 整除, 整除, 整除, 整除 且不能被400整除,则不 整除 是闰年 else leap=0; end if leap==1&&month>2 % 如果是闰年且月份大于2,总天数应该加 如果是闰年且月份大于 总天数应该加 一天 sum=sum+1; end fprintf('这是今年的第 %i 天.',sum); 这是今年的第
相关文档
最新文档