matlab第一章习题集合及答案

matlab第一章习题集合及答案
matlab第一章习题集合及答案

MATLAB 多多练 赋值语句 例1-3:

在命令窗口键入:

1+2*3+6/2

键入

a=2;b=3;c=4;

totle=a*b+c 例:当π+=1x 时,计算表达式 的值,并将结果赋给变量y ,然后显示出结果。

在MATLAB 命令窗口分别输入命令:

x=sqrt(1+pi); y=(exp(x)+log(abs(sin(x)^2-sin(x*x))))/(x-5*i) %计算表达式的值

变量的管理 例1-4:

who;%显示目前工作空间的变量名

whos %显示变量名,变量大小,数据类型等

save myfilename %MATLAB 将产生一个名为myfilename.mat 的文件,文件中保存了当前工作空间的所有变量

save mydata a b %MATLAB 将产生一个名为mydata.mat 的文件,文件中保存了当前工作空间的变量 a 和 b.

clear %把当前工作空间清空

22

e ln sin sin 5x x x x i

+--

who %结果没有任何变量显示

load myfilename %把文件myfilename.mat中的变量装入当前工作空间

load mydata % 把mydata.mat中的内容装入MATLAB工作空间:

数据的输出格式例1-5:

x=215/6;

format long; %16位十进制

x

format short e; %五位十进制数加指数

x

format long e; %16位十进制数加指数

x

format hex %16位十六进制数

x

format bank %两位小数

x

format + %正、负或零

x

format rat %分数近似

x

format short %4位小数,默认格式

x

format compact %紧凑格式

x

format loose %默认格式

x

矩阵的生成例1-6:

直接输入法:

[1 2 3]

[1;2;3]

x=[-1.3 sqrt(3) (1+2+3)/5*4]

在命令窗口键入:

A=[1 0 3 -1;2 1 0 2]

键入:B=[4 1 0;-1 1 3;2 0 1;1 3 4]

C=3+4i %输入复数

D=[1+2i 3+4i;5+6i 7+8i]%输入复数

[1 3;5 7]+[2 4;6 8]*i%输入复数*号不可少

利用M文件建立矩阵例1-7

(1)启动MATLAB的M-file编辑器,并输入待建矩阵

mydata=[1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9;

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9;

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9];

(2)把输入的内容保存(设文件名为matfund.m)。

(3)在MATLAB命令窗口中输入matfund,即运行该M文件,就会自动建立一个名为mydata的矩阵,可供以后使用。

利用数据文件建立指定矩阵

利用文本编辑器建立矩阵:创建一个数据文件test.dat(或.txt),保存在D:\ test.txt.包含下列数据:

2 4 6 8 6

3 5 6 7 3

2 5 1 2 5

在命令窗口输入:

load D:\test.dat

test

运行结果为

test =

2 4 6 8 6

3 5 6 7 3

2 5 1 2 5

利用已建好的矩阵建立新的矩阵例1-8:

输入:

A=[1,2,3;4,5,6;7,8,9];

B=[11:13;14:16;17:19];

C=[A,B;B,A]

运行结果为:

C =

1 2 3 11 12 13

4 5 6 14 15 16

7 8 9 17 18 19

11 12 13 1 2 3

14 15 16 4 5 6

17 18 19 7 8 9

A =[12 2 1; 4 5 2; 7 8 3; 0 0 4; 0 18 5]

B=A([2,4],[1,3]) %把A矩阵中2、4行,1、3列交点的元素取出给B生成新的矩阵

用matlab的函数产生特殊的矩阵例1-9

f1=zeros(2,3)% 产生所有元素均为零的矩阵

f2=ones(3,2) %产生所有元素均为1的矩阵

f3=eye(3,4) %产生对角元素为1,其余为0的矩阵

f4=magic(3) %产生魔方矩阵

f5=linspace(0,2,5 ) %在0,2之间均匀地产生5个点值,形成n维向量

f6=[0:0.5:2] %在0与2之间每隔0.5产生一个数据

f7=rand(3,4)

f8=logspace(1,3,10)

f9=randn(3,4)产生均值为0,方差为1的标准正态分布随机矩阵

L=[1 2 3 ];K=[4 5 6 ];

cat(2,L,K) %(dim=2,表示横向连接)

ans =

1 2 3 4 5 6

cat(1,L,K) %( dim=1,表示列向连接)

ans =

1 2 3

4 5 6

A=[1 2 3 ;2 2 1 ;3 4 3] ;

P=diag(A) %提取对角元素

P =

1

2

3

Q=diag(K) %用K的值建立对角阵

Q =

4 0 0

0 5 0

0 0 6

repmat(A,2,3) %将 A重复两行三列扩展

ans =

1 2 3 1 2 3 1 2 3

2 2 1 2 2 1 2 2 1

3 4 3 3 4 3 3 4 3

1 2 3 1 2 3 1 2 3

2 2 1 2 2 1 2 2 1

3 4 3 3 4 3 3 4 3 repmat(5,2,3) %当A为标量时,以标量A生成一个m ×n 的矩阵

矩阵元素及矩阵拆分例1-10

A=[1 2 3;4 5 6;7 8 9]

size(A)

length(A)

sub2ind(size(A),2,3)

[x,y]=ind2sub(size(A),12)

A(2,3)=10;A(1,1)=12 %修改

A(5,2)=18 %扩展没赋值的地方自动赋零

a(1,1)=2;a(1,3)=4;a(3,3)=9 %产生一个矩阵

b=A(2,:) %输出矩阵A中第2行的值

A(:,3)=[1 2 3 4 5]' %给矩阵A中第3列赋值,'表示转置A([2,3],:)=[ ] %把A矩阵中2、3行,所有列的元素去掉。

A(:,3)=[ ] %把A矩阵中所有行,第3列的元素去掉。

基本算术运算例1-11

A=[1 2 3;2 2 1;3 4 3];

B=[2 1;5 3];

C=[1 3;2 0;3 1];

D=[7 8;2 4;5 0];

[nA,mA]=size(A),[nB,mB]=size(B),

[nC,mC]=size(C),[nD,mD]=size(D)

nA =

3

mA =

3

nB =

2

mB =

2

nC =

3

mC =

2

nD =

3

mD =

2

%判断只有C,D可以加减,

输入: C+D

输入: C-D

输入: A+D

%判断上面的矩阵中可以相乘的矩阵有:A与C、A与D、C与B、D与B

键入: F=A*C %A为3×3阶,C为3×2阶

键入:D*B %D为3×2阶,B为2×2阶

%一个n×s阶的矩阵与一个s×m阶矩阵相乘后为n×m阶矩阵

键入:A*2 %A为3×3阶,2为标量

V=inv(A)

A*V

V*F %相当于A\F

A\F

E=sqrtm(A)

G=E^2

expm(A)

logm(A)

G=det(A)

H=A'

方程组的求解:

求方程组

的根 解:方程组可以表示为AX=B 的形式。

A=[1 2 3;2 2 1;3 4 3];

B=[1;2;3];

X=A\B

x1=X(1)

x2=X(2)

x3=X(3)

X =

1

x1 =

1

x2 =

x3 =

?????=++=++=++33432

22132321

321321x x x x x x x x x

点运算例1-12 %适用于.*、./、.\和.^乘方等点运算符还有指数exp () ,对数log (),开方sqrt ()等P26表中函数

a1=logspace(1,3,10)

a2=log10(f8)

键入:

a3=a1.*a2 % .*读作点乘,把两矩阵对应的元素相乘得结果。

键入:

a4=[4 9 25];

a5=sqrt(a4)

键入:

a6=[pi/2 pi/3 pi/4];

cos(a6)

键入:

x=[12 11 10 9];

y=[3 4 2 4];

rem(x,y) %求x./y的余数

键入:

x=[fix(13.37),floor(13.37),ceil(13.37),round(13.37)]

x =

13 13 14 13

键入:

x=[fix(-13.67),floor(-13.67),ceil(-13.67),round(-13.67)] 得:

x =

-13 -14 -13 -14

键入:

x=5;y=3;

[rem(x,y),mod(x,y)] 得:

ans =

2 2

键入:

x=-5;

y=3;

[rem(x,y),mod(x,y)] 得:

ans =

-2 1

关系运算例1-13

键入:

x=6<=5/2 %6是否小于等于5/2

键入:

y=6~=6/5 %6是否不等于6/5

键入:

A=[2 7 6;9 0 5;3 0.5 6];

B=[8 7 0;3 2 5;4 -1 7];

A==B %A是否等于B

3==B %当一个操作数是常数时,就与矩阵中的每个元素进行比较键入:

a=[1 2 0;4 0 0;5 6 0]

all(a) %一列全部非零就取一(有零出零)

any(a) %一列有非零就取一(有一出一)isfinite(a) %对矩阵中的每个元素判断是否为有限值

isreal(a) %对整个矩阵进行判断是否为实矩阵

[i,j]=find(a>2) %得到a中大于2的元素的下标值

i=find(a>2) %若只返回一个变量值时为符合条件的元素的序号,序号是按列排序的,第一列排完再排第二列

逻辑运算见例1-14

例:建立矩阵A,然后找出在 [10,20] 区间的元素的位置。

A=[4,15,-45,10,6;56,0,17,-45,0]

A =

4 1

5 -45 10 6

56 0 17 -45 0

find(A>=10 & A<=20)

输入:[i,j]=find(A>=10 & A<=20),比较结果

把[10,20] 区间的元素用机器零代替

字符串处理:例1-15

建立一个字符串向量,然后对该向量做如下处理。

(1)取第12~18个字符组成的子字符串。

(2)将字符串中的小写字母变成相应的大写字母,其余字符不变。(3)统计字符串中小写字母的个数。

ch='Welcome to Beijing';

subch=ch(12:18) %取子字符串

k=find(ch>='a'&ch<='z'); %找小写字母的位置

ch(k)=ch(k)-('a'-'A'); %将小写字母变成相应的大写字母ch %输出字符串

length(k) %统计小写字母的个数

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装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运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

信号处理引论第五章及matlab作业答案

a=input('type in the first sequence ='); b=input('type in the second sequence ='); c=conv(a,b); M=length(c)-1; n=0:1:M; disp('output sequence =');disp(c) stem(n,c) xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11 0 0 ??? Undefined function or variable 'ylable'. Error in ==> E:\Matlab6p5FULL\bin\win32\Untitled.m On line 8 ==> xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 〖目的〗 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 〖解答〗 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a =

matlab课后答案完整版

ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)

matlab习题及答案

2. 用MATLAB 语句输入矩阵A 和B 3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来, 赋给B 矩阵,用magic(8)A =命令生成A 矩阵,用上述命令检验一下结果是不是正确。 4.用数值方法可以求出∑=++++++==63 63622284212i i S Λ,试不采用循环的 形式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图 7. 试求出如下极限。 (1)x x x x 1)93(lim +∞ →; (2)1 1lim 0-+→→xy xy y x ; (3)2 2)()cos(1lim 2 2 220 0y x y x e y x y x +→→++- 8. 已知参数方程? ??-==t t t y t x sin cos cos ln ,试求出x y d d 和3 /2 2d d π=t x y 9. 假设?-=xy t t e y x f 0 d ),(2 ,试求2222 22y f y x f x f y x ??+???-?? 10. 试求出下面的极限。 (1)??????-++-+-+-∞→1)2(1 161141121lim 2222n n Λ; (2))131211( lim 2 222π πππn n n n n n n ++++++++∞ →Λ 11. 试求出以下的曲线积分。 (1)?+l s y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=, )20(π≤≤t 。

第五章MATLAB的绘画与图形处理

第五章 MATLAB 的绘画与图形处理 MATLAB 具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的优秀可视化。 5.1二维曲线的绘制 5.1.1基本绘图命令plot plot 命令是MATLAB 中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。 1. plot(x,y) 语法: plot(x,y) %绘制以x 为横坐标y 为纵坐标的二维曲线 【例5.1】绘制正弦曲线y=sin(x)和方波曲线,如图5.1所示。 >> x1=0:0.1:2*pi; >> y1=sin(x1); %y1为x1的正弦函数 >> plot(x1,y1); >> x2=[0 1 1 2 2 3 ]; >> y2=[1 1 0 0 1 1 ]; >> plot(x2,y2); >> axis([0 4,0 2]) %将坐标轴范围设定为0-4和0-2 2. plot(x1,y1,x2,y2,…)绘制多条曲线 plot 命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB 自动以不同的颜色绘制不同曲线。 【例5.2】绘制三条曲线,如图5.2所示。 图5.1 (a) 正弦曲线 (b) 方波曲线

>> x=0:0.1:2*pi; >> plot(x,sin(x),x,cos(x),x,sin(3*x)) %画三条曲线 图5.2 三条曲线 5.1.2绘制曲线的一般步骤 表5.1为绘制二维、三维图形一般步骤的归纳。 表5.1绘制二维、三维图形的一般步骤 内容 曲线数据准备: 对于二维曲线,横坐标和纵坐标数据变量; 说明: ?步骤1和3是最基本的绘图步骤,如果利用MA TLAB的默认设置通常只需要这两个基本步骤就可以基本绘制出图形,而其他步骤并不完全必需。 ?步骤2一般在图形较多的情况下,需要指定图形窗口、子图时使用。

第12章--MATLAB-Simulink系统仿真-习题答案

, 第12章 MATLAB Simulink系统仿真 习题12 一、选择题 1.启动Simulink后,屏幕上出现的窗口是()。A A.Simulink起始页 B.Simulink Library Browser窗口 C.Simulink Block Browser窗口 D.Simulink模型编辑窗口 2.模块的操作是在()窗口中进行的。D A.Library Browser B.Model Browser ( C.Block Editer D.模型编辑 3.Integrator模块包含在()模块库中。B A.Sources B.Continuous C.Sinks D.Math Operations 4.要在模型编辑窗口中复制模块,不正确的方法是()。B A.单击要复制的模块,按住鼠标左键并同时按下Ctrl键,移动鼠标到适当位置放开鼠标 B.单击要复制的模块,按住鼠标左键并同时按下Shift键,移动鼠标到适当位置放开鼠标 C.在模型编辑窗口选择Edit→Copy命令和Edit→Paste命令 D.右键单击要复制的模块,从快捷菜单中选择Copy命令和Paste命令 | 5.已知仿真模型如图12-41(a)所示,示波器的输出结果如图12-41(b)所示。 (a)仿真模型

(b )示波器输出结果 图12-41 习题仿真模型及仿真结果 则XY Graph 图形记录仪的输出结果是( )。C A .正弦曲线 B .余弦曲线 C .单位圆 D .椭圆 】 二、填空题 1.Simulink (能/不能)脱离MATLAB 环境运行。 2.建立Simulink 仿真模型是在 窗口进行的。模型编辑窗口 3.Simulink 仿真模型通常包括 、系统模块和 三种元素。 信号源(Source ),信宿(Sink ) 4.由控制信号控制执行的子系统称为 ,它分为 、 和 。 条件执行子系统,使能子系统,触发子系统,使能加触发子系统。 5.为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的 。封装(Masking ) % 三、应用题 1.利用Simulink 仿真来实现摄氏温度到华氏温度的转换:9325f c T T = +。 2.利用Simulink 仿真)5cos 2513cos 91(cos 8)(2t ωt ωt ωπ A t x ++= ,取A=1,ω=2π。 3.设系统微分方程为 '(1)2y x y y =+??=? 试建立系统模型并仿真。 4.设计一个实现下面函数模块的子系统并对子系统进行封装。 Output = (Input1+ I nput2)×Input3-Input4

matlab习题及答案2

MATLAB 基本运算 1.在MATLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a ?>>a=[573;491] 2.在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 3.数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 4.计算矩阵??????????897473535与??????????638976242之和。>>a=[535;374;798]; >>b=[242;679;836]; >>a+b ans = 7 779 1413151214 5.计算??????=572396a 与?? ????=864142b 的数组乘积。>>a=[693;275]; >>b=[241;468]; >>a.*b ans = 12 36384240 6.“左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。

7.对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。>>A=[492;764;357]; >>B=[372628]’; >>X=A\B X = -0.5118 4.0427 1.3318 8.已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 >>a=[123;456;789]; >>a.^2 ans = 1 4916 253649 6481 >>a^2 ans = 30 364266 81961021261509.[]7.0802.05--=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。 相当于a=[11011]。 10.在sin(x )运算中,x 是角度还是弧度? 在sin(x)运算中,x 是弧度,MATLAB 规定所有的三角函数运算都是按弧度进行运算。

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab 部分实验结果 目录 实验一MATLAB基本操作..................................................................... .......................1 实验二Matlab 编程..................................................................... ...............................5 实验三Matlab 底层图形控制..................................................................... .....................6 实验四控制系统古典分析...................................................................... .......................12 实验五控制系统现代分析..................................................................... . (15) 实验六PID 控制器的设计..................................................................... ......................19 实验七系统状态空间设计...................................................................... .......................23 实验九直流双闭环调速系统仿真..................................................................... . (25) 实验一MATLAB基本操作

matlab答案第五章

第五章 1.绘制下列曲线。 (1)2 1100 x y += (2)22 21x e y -=π (3)12 2 =+y x (4)? ??==3 2 5t y t x 答: (1) x=-10::10; y=100./(1+x.^2); plot(x,y) (2) x=-10::10; y=1/(2*pi)*exp(-x.^2/2); plot(x,y)

(3) ezplot('x^2+y^2=1')

(4) t=-10::10; x=t.^2; y=5*t.^3; plot(x,y) 2. 绘制下列三维图形。 (1)?? ? ??===t z t y t x sin cos (2)?? ? ??=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1( (3)5=z (4)半径为10的球面(提示:用sphere 函数 答: (1) t=0:pi/100:2*pi; x=cos(t); y=sin(t);

z=t; plot3(x,y,z) (2) u=0:pi/100:2*pi; v=0:pi/100:2*pi; x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); plot3(x,y,z)

(3) [x,y]=meshgrid(-100:100); z=5*ones(size(x)); mesh(x,y,z) (4) [x,y,z] = sphere; %等价于sphere(20) 20是画出来的球面的经纬分面数...20的话就是20个经度, 20个纬度,或者说“就是划出20╳20面的单位球体,把球的表面分成400个小网格” surf(x,y,z); %绘制单位球面 x = 10*x; y = 10*y; z = 10*z; surf(x,y,z); %绘制半径为10的球面 axis equal

Matlab 第三章 习题 答案

第三章 3.5计算多项式乘法()()222254x x x x ++++ >> a=[1 2 2]; >> b=[1 5 4]; >> c=conv(a,b) c = 1 7 16 18 8 poly2sym(c) ans = x^4 + 7*x^3 + 16*x^2 + 18*x + 8 3.6计算多项式的除法()()3231368/4x x x x ++++ >> a=[3 13 6 8]; >> b=[1 4]; >> [q r]=deconv(a,b) q = 3 1 2 r = 0 0 0 0 >> poly2sym(q) ans = 3*x^2 + x + 2 3.8求多项式4324121459x x x x --++的微分和积分 (1)微分:>> a=[4 -12 -14 5 9]; >> b=polyder(a) b = 16 -36 -28 5 >> poly2sym(b) ans = 16*x^3 - 36*x^2 - 28*x + 5 (2)积分:polyint(a) ans = 0.8000 -3.0000 -4.6667 2.5000 9.0000 0 >> poly2sym(ans) ans = (4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x

3.9求代数方程32349x x x +-+=0的解。 >> [x]=solve('x^3+3*x^2-4*x+9') x = - 7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3) - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 - (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 + (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 – 1 3.10求线性方程组223430 x xy y x x ?++=??-+=??的解 eqn1='x^2+x*y+y=3'; >> eqn2='x^2-4*x+3=0'; [x,y]=solve(eqn1,eqn2) x = 1 3 y = 1 -3/2 3.11求微分方程64dy y x dx =+的通解。 >> y=dsolve('Dy=6*y+4*x','x') y = (C3*exp(6*x))/9 - (2*x)/3 - 1/9 3.14求微分方程组2543dy x dt dx y dt ?=+????=-??在y(0)=3,x(0)=1时的特解。 >> eqn1='Dy=2*x+5'; >> eqn2='Dx=4*y-3'; >> [x y]=dsolve(eqn1,eqn2,'y(0)=3,x(0)=1') x = (2^(1/2)*(7*2^(1/2) - 9))/(8*exp(2*2^(1/2)*t)) + (2^(1/2)*exp(2*2^(1/2)*t)*(7*2^(1/2) +

MATLAB习题与答案详解

A 类 1.矩阵20 11 2 49 40 31 22 123434132232144442332415134536342516145 37 3526178646 29 2718974738 2819101483930=m ,求矩阵的秩,特征值,特征向量,相似矩阵,对角化,二次型及其标准型。 2.画出如图所示的图形 y=sin(x) x 轴y 轴 y=cos(x) x 轴y 轴 2 46 8 0102030 40y=x 2 x 轴 y 轴 2 46 8 -30-20-100 10y=5-4*x x 轴 y 轴 3要求: 1) 对每列进行[0,1]区间化 '(min())/(max()min())x x x x x =--;

2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表; 3) 把16行3列进行转置,得到3行16列的表。然后对列进行操作,把3行 16列的表变成一列,后转置成一行,得到最终的结果。 4、下表为8 1) 2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大 5.附件1给出了100个学生的学号和五门课程成绩。 1)求五门课总分最高分和最低分及相应学生的学号。 2)设计一个成绩查询系统,要求输入某学生的学号能够返回该学生各科成 绩,总分以及在100个人中的名次。 B类(三选二) 6.假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球? 7、模拟猫跑一条轨迹,轨迹为倒“8”字,轨迹如下:(条件自行拟定) 8.当一个球从h米自由下落后,被地面弹起h1,再一次下落,直至平衡,如图所示,请模拟这个过程。 1 2 3 4 5 6 7 8 x 4.22 7.92 6.56 8.49 6.79 7.43 6.55 7.06 y 9.16 9.59 0.36 9.34 7.58 3.92 1.71 0.32

matlab第五章课后答案

第一题:某河床的横截面积,为了计算最大的排洪量,需要计算他的横断面积,用梯形法计算其断面积。 >> x=[0 4 10 12 15 22 28 34 40]; y=[0 1 3 6 8 9 5 3 0]; trapz(x,y) ans = 178.5000 答:用梯形积分法求的其面积为178.5平方米。 第五题:求下列积分的数值解。 (2). e 2x 2π 0cos ?3x dx >>fun=inline('exp(2*x).*cos(x).^3'); >>quadl(fun,0,2*pi) ans = 9.7054e+004 答:所求积分的数值解为:9.7054*10^4。 (4) sinx x 10dx .>>fun=@(x)sin(x)./x; quadl(fun,1e-10,1) ans = 0.9461 答:所求积分的数值解为:0.9461. (6) dθ 2sinθ1 02π0

.>>fun=inline('sqrt(1+r.^2.*sin(th))','r','th'); dblquad(fun,0,1,0,2*pi) ans = 6.1879 答:所求积分的数值解为:6.1879. (7)1+x+y dydx,D为x2+y2≤2x .function s=dblquad2(fun,a,b,clo,dhi,n) ifnargin<6,n=100;end x=linspace(a,b,n+1); s=0; for i=1:n s=s+dblquad(fun,x(i),x(i+1),feval(clo,(x(i)+x(i+1))/2),feval(dhi,(x(i)+x(i+1))/ 2)); end >>clear; >>fun=inline('1+x+y.^2','x','y'); >>clo=inline('-sqrt(2*x-x.^2)'); >>dhi=inline('sqrt(2*x-x.^2)'); >>dblquad2(fun,0,2,clo,dhi,100) ans = 7.0705

MATLAB习题及答案 (入门)

习题 1, 计算?? ?? ??=572396a 与??? ???=864142b 的数组乘积。 a.*b ans = 12 36 3 8 42 40 2, 对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。 inv(a)*b ans = -0.5118 4.0427 1.3318 3, 已知:??? ? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 a.*a ans = 1 4 9 16 25 36 49 64 81 >> a^2 ans = 30 36 42 66 81 96 102 126 150

4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) >> sin(x./pi) ans = -0.1242 0.9826 0.2465 >> cos(x./pi) ans = -0.9923 -0.1857 0.9692 >> tan(x./pi) ans = 0.1252 -5.2915 0.2543 >> cot(x./pi) ans = 7.9894 -0.1890 3.9321 5, 将矩阵?? ????=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵 元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 [reshape(a,4,1),reshape(b,4,1),reshape(c,4,1)] ans = 4 7 5 5 8 6 2 1 9 7 3 2 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即

matlab课后习题与答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (2)删除矩阵A的第7号元素。 答:A(7)=[] (3)将矩阵A的每个元素值加30。 答:A=A+30; (4)求矩阵A的大小和维数。 答:size(A); ndims(A); (5)将向量t的0元素用机器零来代替。 答:t(find(t==0))=eps; (6)将含有12个元素的向量x转换成34 矩阵。 答:reshape(x,3,4); (7)求一个字符串的ASCII码。 答:abs(‘123’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49);

4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5. 已知 23100.7780414565532503269.5454 3.14A -????-??=????-?? 完成下列操作: (1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32?子矩阵构 成矩阵D ,B 与C 的乘积构成矩阵E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A), any(A),isnan(A),isinf(A),isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0,0, 1, 1, 1]

第5章--MATLAB绘图-习题答案

第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 plot(n*sin(x),n*cos(x)) hold on end axis square A.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)是指()的子图。A A.两行两列的左下图 B.两行两列的右下图 C.两行两列的左上图 D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。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.下列函数中不能用于隐函数绘图的是()。D A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=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);

相关文档
最新文档