MATLAB 习题
第1章 MATLAB R2010环境
2、在命令窗口中输入:
>>a=2.5
>>b=5*6
>>c=[a b]
写出在命令窗口中的运行结果
4、用“Format”命令设置数据输出格式,(format long 或 format long g)将pi显示为3.14159265358979,(format
short e)将pi显示为3.1416e+000
6、在工作空间查看变量的变量名、数据结构、类型、大小和字节数,打开数组编辑器窗口修改第2题的变量c元素。
修改变量c元素:
8、输入变量a=5.3,b=[1 2;3 4],在工作空间中使用who、whos、exist和clear命令,并用save命令将变量存入“F:\\exe0101.mat”文件。
A=[1,2;3,4];
inv(A)
rank(A)
det(A)
A^3
[v,d]=eig(A)
结果:
>>
ans =
-2.0000 1.0000
1.5000 -0.5000
ans =
2
ans =
-2
ans =
37 54
81 118
v =
-0.8246 -0.4160
0.5658 -0.9094
d =
-0.3723 0
0 5.3723
>>
命令窗口图片:
接上一张图片:
工作空间窗口图片:
第2章 MATLAB数值计算
1、选择和填空
(1)下列变量名中的(A)是合法变量。
A. char-1,i,j B. x*y,a.1
C. x\\y,a1234 D. end,1bcx
(2) 已知x为1个向量,计算其正弦函数的运算为(C)。
A. SIN(X) B. SIN(x)
C. sin(x) D. sinx
(3) 已知x为1个向量,计算ln(x)运算为(B)。
A. ln(x) B. log(x)
C. Ln(x) D.log10(x)
(4) 若a=2.4,使用取整函数得出3,则该取整函数名为(C)。
A. fix B. round
C. ceil D. floor
(5) 已知a=0:4, b=1:5, 下面的运算表达式出错的为(D)。
A. a+b B. a./b
C. a’*b D. a*b
(6) 已知a=4, b=‘4’,下面说法中错误的为(C)。
A. 变量a和b占用的存储空间大
B. 变量a和b可以进行加减乘除运算
C.变量a和b的数据类型相同
D.变量b可以用eval命令执行
4、输入矩阵A=[1 2 3; 4 5 6; 7 8 9], 使用全下标方式取出元素“3”,使用单下标方式取出元素“8”,取出后2行子矩阵块,使用逻辑矩阵方式取出[1 3; 7 9]。
计算结果截图如下所示:
5、输入A为3*3的魔方阵,B为3*3的单位阵,由小矩阵组成3*6的大矩阵C和6*3的大矩阵D,将D矩阵的最后一行构成小矩阵E。
计算结果截图如下图所示:
6、将矩阵A=[1 2 3; 4 5 6; 7 8 9]用flipud、fliplr、rot90、diag、triu和tril函数进行操作。
计算结果截图如下图所示:
a=[1 2 3 ;4 5 6;7 8 9]
flipud(a)
fliplr(a)
rot90(a)
diag(a)
triu(a)
tril(a)
ans =
7 8 9
4 5 6
1 2 3
ans =
3 2 1
6 5 4
9 ans =
3 2 1 ans =
1
5
9
ans =
8 7
6 9
5 8
4 7
1 2 3
0 5 6
0 0 9
ans =
1 4 7 0 0
5 0
8 9
7、输入字符串变量a为“hello”,将a的每个字符向后移4个,如将“h”变为“1”,然后再逆序排放并赋给变量b。
计算结果截图如下图所示:
8、求矩阵[1 2;3 4]的转置矩阵、逆矩阵、矩阵的秩、矩阵的行列式值、矩阵的三次幂、矩阵的特征值和特征向量。
计算结果截图如下图所示:
第四章MATLAB计算的可视化和GUI设计
1.绘制函数曲线y=2sin(3πt+π/4),t的范围为0—2。
图为绘制函数曲线y=2sin(3πt+π/4)的M文件
图为绘制函数曲线y=2sin(3πt+π/4)的结果显示
2.在同一图形窗口绘制曲线y1=sin(t),t的范围为0--4π;y2=2cos(2t);t的范围为π--3π。要求y1曲线为黑色点画线,y2曲线为红色虚线圆圈,并在图的右下角标注2条曲线的图例(用legend),横坐标以π为单位标注。
图为2题要求绘制图形的M文件
图为2题要求绘制图形的结果显示
4-4
t=0:pi/100:2;
y1=sin(pi*2*t);
y2=cos(2*pi*t);
y3=exp(-4*t);
plot(t,y1,'r-')
hold on
plot(t,y2,'b')
plot(t,y3,'g')
set(gca,'xtick',[0,0.5,1,1.5,2])
xlabel('t(0-2)'),
ylabel(' 幅值');
title('正弦、余弦和指数曲线');
text(1.1,sin(2*pi*1.1),'\\leftarrow 正弦函数')
text(0.8,cos(2*pi*0.8),' 余弦函数 \\rightarrow')
text(1.1,exp(-4*1.1)-0.05,'\ow 指数函数')
图为4题要求绘制图形的结果显示
第5章 MATLAB程序设计
1、M脚本文件和M函数文件的主要区别是什么?
答:MATLAB的脚本文件比较简单,当用户需要在命令窗口中运行大量的命令时,直接从命令窗口输入比较繁琐,可以将这一组命令存放在脚本文件中。运行时只要输入脚本文件名,MATLAB就会自动执行该文件的命令。
MATLAB中的函数文件可以接受输入变量,并将运算结果送到输出变量,从外面看函数文件的功能就是将数据送到函数文件处理后再将结果送出来,易于维护和修改。可见,函数文件适用于大型程序代码的模块化。
2、
上图为编制的M脚本文件
上图为编制的M脚本文件的结果显示
3、使用for循环:
上图为用for循环计算的M文件
上图为用for循环计算的结果显示
使用while循环:
上图为用while循环计算的M文件
上图为用while循环计算的结果显示
4、编制M脚本文件,要求从键盘逐个输入数值(input),然后判断输入的数是大于零还是小于零,并输出提示信息以提示(使用disp)是正数(positive one)还是负数(negative one),同时记录输入的正数和负数的个数。当输入0时,终止此M文件的运行;当输入第10个数字时,显示记录的正数和负数个数并终止程序。
上图为M脚本文件
上图为部分结果显示
5、编写M函数文件,将某班学生某门课的成绩设置为:60、75、85、96、52、36、86、56、94、84、77。用switch结构统计各分段的人数,并将个人的成绩变为用优、良、中、及格和不及格表示,统计人数和成绩变换都用子函数实现。
6、
function exe0506()
x1=-5:0.1:5;
x2=-5:0.1:5;
[xx1,xx2]=meshgrid(x1,x2);
[n1,m1]=size(xx1);
z=zeros(n1,m1);
for n=1:n1
for m=1:m1
if xx1(n,m)+xx2(n,m)>1
z(n,m)=calp1(xx1(n,m),xx2(n,m));
elseif(xx1(n,m)+xx2(n,m)>-1)&(xx1(n,m)+xx2(n,m)<=1)
z(n,m)=calp2(xx1(n,m),xx2(n,m));
else
z(n,m)=calp3(xx1(n,m),xx2(n,m));
end
end
end
surf(xx1,xx2,z);
function z=calp1(x,y)
z=0.5457*exp(-0.75*y^2-3.75*x^2-1.5*5);
function z=calp2(x,y)
z=0.7575*exp(-y^2-6*x^2);
function z=calp3(x,y)
z=0.5457*exp(-0.75*y^2-3.75*x^2+1.5*x);
12、
上图为求数值积分的M文件
上图为求数值积分的结果显示
因篇幅问题不能全部显示,请点此查看更多更全内容