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

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

第五章习题

1.读取一副图像,如果是彩色图则转化为灰度图;对得到的灰度图做如下处理:(1)将灰度值大于200的像素值全部设置为200;

(2)将灰度值小于100的像素值全部设置为100;

(3)比较原图和经过步骤(1)和(2)处理后得到的图的差异

答:

%%原图的读入

clc;

clear all;

close all;

I=imread('tulip.jpg');

subplot(1,3,1);

imshow(I);

title('原图')

%%灰度图的保存与显示

I_gray=rgb2gray(I);

imwrite(I_gray,'1_gray.bmp', 'bmp');

subplot(1,3,2);

imshow(I_gray);

title('灰度图')

%%变换后的灰度图

I1=I_gray;

I1(I_gray>200)=200;

I1(I_gray<100)=100;

subplot(1,3,3);

imshow(I1);

title('变换后的图')

改变后,图像由彩色变成灰色,色彩较为单一,且变得不是那么清晰。

2.将如下字符串中的大写字符转换为小写,小写转换为大写。

Matlab is a useful soft. It is well used in many Areas.

答:

clc;

clear all;

close all;

a='Matlab is a useful soft. It is well used in many Areas.';

b=double(a);

c=find(a>='a'&a<='z');

d=find(a>='A'&a<='Z');

b(c)=b(c)-32;

b(d)=b(d)+32;

char(b)

ans =

mATLAB IS A USEFUL SOFT. iT IS WELL USED IN MANY aREAS.

3.score.txt文件中记录了某个班级的同学的期末成绩,编写程序读取该文件的内容,实现如下功能:

(1)统计90以上学生的人数,输出90分以上学生的名单。

(2)统计不及格的学生的人数,输出其名单(及格分数为60分或以上)。

(3)画出全体同学的分数分布的统计直方图。

答:

%%数据输入模块

clc;

clear all;

close all;

ST=importdata('score.txt');

s1=ST.data;

s2=ST.textdata;

%%

%%统计90分以上的人数

x=0;

X=[];

for i=1:20

if s1(i)>90

X=[X;s2(i+1,3)];

x=x+1;

end

end

%%

%%统计60分一下的人

y=0;

Y=[];

for i=1:20

if s1(i)<60

Y=[Y;s2(i+1,3)];

y=y+1;

end

end

%%

%%显示模块

disp('90分以上的人有:') disp(x)

disp(X)

disp('60分以下的人有:') disp(y)

disp(Y)

hist(s1')

xlabel('分数');

ylabel('人数');

>>

90分以上的人有:

6

'地方'

'供货'

'打分'

'统一'

'明天'

'不同'

60分以下的人有:

5

'帮你'

'该行'

'回顾'

'如果'

'他人'

4.编程实现剪刀石头布的游戏:

(1)程序开始,屏幕自动提示用户输入剪刀、石头、布中的一种;

(2)用户输入后,电脑随机的出“剪刀、石头、布”中的一种,并显示在屏幕上;

(3)电脑给出游戏的胜负,然后提示用户是否继续玩该游戏:如果用户输入yes,则继续,若输入no则退出。

答:

%%

%该模块实现石头剪刀布的功能,石头剪刀布由用户输入,电脑实际出,然后判断输赢,然后根据

%用户判断是否继续,根据用户判断进行下一步的操作

clc;

clear all;

close all;

n=1;

while n==1

a=0;

b='石头、剪刀、布';

you=input('请选择,石头(1),剪刀(2),布(3):');

while you~=1&you~=2&you~=3

disp('输入错误,请重新输入:');

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.编写一个日程提醒程序实现如下功能:

(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({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'}); %%

%方程计算模块

B=cell2mat(y);

result=A\B;

%%

%方程显示模块

disp('六元方程组的解为:'); x1=result(1)

x2=result(2)

x3=result(3)

x4=result(4)

x5=result(5)

x6=result(6)

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = 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 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

信号处理引论第五章及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基础练习题带答案

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课后答案完整版

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经典习题及解答

第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 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 页脚内容1

命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径? 在MATLAB中有多种获得帮助的途径: (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器; (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。 第2章MATLAB矩阵运算基础 页脚内容2

第五章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一般在图形较多的情况下,需要指定图形窗口、子图时使用。

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 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按T ab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )

matlab第二章习题答案

第一大题: (1) a = 7/3 b = sym(7/3) c = sym(7/3,'d') d = sym('7/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 2.3333 b = 7/3 c = 2.3333333333333334813630699500209 d = 7/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000014802973661668756666666667788716(2) a = pi/3 b = sym(pi/3) c = sym(pi/3,'d') d = sym('pi/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 1.0472 b = pi/3 c = 1.047197551196597631317786181171 d = pi/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000011483642827992216762806615818554 (3) a = pi*3^(1/3) b = sym(pi*3^(1/3)) c = sym(pi*3^(1/3),'d') d = sym('pi*3^(1/3)') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d))

a = 4.5310 b = 1275352044764433/281474976710656 c = 4.5309606547207899041040946030989 d = pi*3^(1/3) v1 = 0.00000000000000026601114166290944374842393221638 v2 = 0.00000000000000026601114166290944374842393221638 v3 = 0.0000000000000002660111416629094726767991785515 第二大题: (1) c1=3/7+0.1 c1 = 0.5286 双精度 (2) c2=sym(3/7+0.1) c2 = 37/70 符号 (3) c3=vpa(sym(3/7+0.1)) c3 = 0.52857142857142857142857142857143 完整显示精度 第三大题: (1) findsym(sym('sin(w*t)'),1) ans = w (2) findsym(sym('a*exp(-X)' ) ,1) ans = a (3) findsym(sym('z*exp(j*theta)'),1) ans = z

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习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

MATLAB习题及参考答案经典.doc

习题: 1, 计算?? ????=572396a 与??? ???=864142b 的数组乘积。 2, 对于B AX =,如果???? ? ?????=753467294A ,??????????=282637B ,求解X 。 3, 已知:?? ?? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) 5, 将矩阵?? ?? ??=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。(应用poly,polyvalm) 7, 求解多项式x 3-7x 2+2x +40的根。(应用roots) 8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。(应用poly,polyvalm) 9, 计算多项式9514124234++--x x x x 的微分和积分。(应用polyder,polyint ,poly2sym)

10, 解方程组???? ? ?????=??????????66136221143092x 。(应用x=a\b) 11, 求欠定方程组?? ? ???=???? ??5865394742x 的最小范数解。(应用pinv) 12, 矩阵???? ? ?????-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,?x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵?? ? ? ??=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor) 19, ? ??? ?? ?? =)sin()log(12 x x e x x a f ax ,用符号微分求df/dx 。(应用syms,diff) 20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。(应用syms,ezplot) 21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。(应用plot) 22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。(应用plot,title,text,legend) 23 24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。

MATLAB运算基础(第2章)答案

实验01讲评、参考答案 讲评 未交实验报告的同学名单 批改情况: 问题1: 不仔细,式子中出错。 问题2: 提交的过程不完整。 问题3: 使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。 问题4: 截屏窗口没有调整大小。

附参考答案: 实验01 MATLAB 运算基础 (第2章 MATLAB 数据及其运算) 一、实验目的 1. 熟悉启动和退出MATLAB 的方法。 2. 熟悉MATLAB 命令窗口的组成。 3. 掌握建立矩阵的方法。 4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1. 数学表达式计算 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 1.1 计算三角函数 12 2sin 851z e =+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适 当调整窗口大小。 命令窗口中的执行过程: 《MATLAB 软件》课内实验 王平

1.2 计算自然对数 221 ln(1)2z x x =++,其中2120.45 5i x +??=??-??(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。 应用点乘方) 命令窗口中的执行过程: 1.3 求数学表达式的一组值 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+=++=--L 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 命令窗口中的执行过程:

第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);

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]

Matlab考题题整理带答案

MATLAB 考试试题(1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A)B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。 9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

matlab答案

第一章 2.在命令窗口输入‘’w=3+2‘’,然后依次使用clear和clc命令,分别观察命令窗口、工作空间窗口和历史命令窗口的变化。 使用clear命令时,命令窗口无变化,工作空间窗口中的内容被删除,历史命令窗口多出一条命令记录。 使用clc命令时,命令窗口中的内容被删除,工作空间窗口无变化,历史命令窗口中多出一条命令记录 3.将硬盘上一已有目录,加入到搜索路径,并将其设置为当前工作目录。 File-set path-add folder-save 第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.360docs.net/doc/6112144159.html,’,’Zhang@https://www.360docs.net/doc/6112144159.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Name='Zhang' Students(1).Age=18 Students(1).Email='Zhang@https://www.360docs.net/doc/6112144159.html,','Zhang@https://www.360docs.net/doc/6112144159.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.360docs.net/doc/6112144159.html, Student(1).Age=19

Student(1).Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] ; F=full(A) S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵: A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] ; B=[2 3 4;5 6 7;8 9 10] ; C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,4:6)=[11 12 13] D(2,:)=[11 12 13] 8.分别查看第5题两个结果的各方向长度

MATLAB语言与控制系统仿真-参考答案-第5章

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

相关文档
最新文档