MATLAB 基础自测,实战演练

MATLAB 基础自测,实战演练


一、填空题

1、在MATLAB中,函数文件中的变量是 ____ 变量。定义全局变量是函数间传递信息的一种手段,可以用global命令定义。

答案:局部

2、设A=[1,2;3,4],B=[5,6;7,8],则A*B= ___, A.*B=____ 。

答案:A*B= [19,22;43,50](矩阵运算乘法)------ A.*B=[5,12;21,32](矩阵对应元素相乘)

3、100X100的矩阵a,它的第30行30列个元素对应的序号是 ___ ,它的序号是60的元素对应的下标是 ______。

答案:2930(第30行30列==第30行30个,matlab开始下标从1开始,So29*100+30)[1,60]([row,col],第一行第60个))

4、向量[2,0,0,3,-1]所代表的多项式是 ______ 。

答案:2X4+3X-1(【2*X4+0*X3+0*X2+3X1-1】从前往后依次降幂,最后一个为常量)

5、产生一个全0的100阶矩阵a,置a的50行60列元素为5,命令窗口的语句是 ______ 。

答案:a=zeros(100); a(50,60)=5

6、产生一个-1~1之间均匀分布的3阶随机矩阵a,并求它的逆矩阵b。命令窗口的语句是 _____ 。

答案:a=-1+2*rand(3)(公式:a+(b-a)rand(n)--产生a到b直接的n阶矩阵);b=inv(a)

7、产生一个均值为-0.5,方差为1的正态分布的3X10随机矩阵a,并求它的转置矩阵b和共轭转置矩阵c。命令窗口的语句是 ____ 。

答案:a=-0.5+sqrt(1)*randn(3,10); a.';a'

8、函数文件由 ___ 语句引导。在函数定义时,函数的输入输出参数称为形式参数。在调用函数时,输入输出参数称为实际参数。

答案:function;



二、选择题

1、在MATLAB命令窗口运行以下语句,回车后结果等于0的是( )。
A.>>uint8(60.76) B.>>uint8(-60.76)
C.>>uint8(1234.567) D.>>uint8(0.76)

答案:B;

题解:A=61,B=0,C=255,D=1(int8的范围为(0~255)超过255的截取为255,小于0的截取为0,0~255的小数部分四舍五入进入整数位);

2、下列不可作为MATLAB合法变量名的是( )。
A._Bas B.a123 C.H_h D.xyz_2a

答案:A;

题解:变量名必须以英文字母开头。且不能使用关键字如for,end,if...

3、建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数,相应的命令是( )。
A. A=round(100+200rand(5,6)) B.A=ceil(200+100rand(5,6))
C.A= floor(100+300rand(5,6)) D.A=fix(100+100rand(5,6))

答案:D;

题解:根据公式-->(公式:a+(b-a)rand(n)--产生a到b直接的n阶矩阵)---- A的范围(100~300);B的范围(200~300);C的范围(100~400);D的范围(100~200)

round() 函数将结果四舍五入到最近的整数。;ceil() 函数将小数部分向上取整;floor() 函数将小数部分向下取整;fix() 函数将结果向零取整(截断小数部分)到最近的整数。

4、在命令行窗口中分别输入下列命令,对应输出结果正确的是( )。
A.命令x=[-2:2],结果x=[-2 -1 0 1 2]
B.命令x=zeros(1,2);x>=0,结果ans=1
C.命令y=diag(eye(3),1),结果y=[0 0]
D.命令[-2:2]+30*eye(size([-2:2])),结果ans=[-2 -1 0 1 2]

答案:A;

题解:A=[-2 -1 0 1 2];B=[0,0];C=[0;0];D=[28, -1,0,1,2];

30*eye(size([-2:2])=30*eye(1,5)=[30,0,0,0,0]

5、subplot(2,2,2)是指( )的子图。
A.两行两列的左下图 B.两行两列的右下图
C.两行两列的左上图 D.两行两列的右上图

答案:D;

题解:subplot(m,n,p)顺序为从左到右从上到下


三、应用题

1、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。编写脚本文件实现。(10分)

答案:

for ii = 100:999
    a=rem(ii,10);           %个位
    b=rem(fix(ii/10),10);   %十位
    c=fix(ii/100);          %百位
    if ii==power(a,3)+power(b,3)+power(c,3)
        disp(ii);
    end   
end

运行截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/49aef3c919b1423ea278f5a3152da911.png#pic_center)

2、以下程序拟实现在同一图形窗口中绘制y1和y2两条曲线,并对图形坐标轴进行控制,请把程序补充完整。(10分)
x=-3:0.1:3;
y1=2x+5;
y2=x.^2-3
x;
plot(x,y1) %绘制曲线y1
_____________ ;①
plot(x,y2) %绘制曲线y2
m1=max([y1,y2]);
m2=min([y1,y2]);
_________ ;②
%用axis调制坐标轴,横坐标在[-3,3]之间,纵坐标在m1和m2之间

答案:

1.hold on;    %添加新绘图时保留原绘图
2.axis([-3,3,m2,m1]) ;    %限制x轴-3到3,限制y轴m2到m1

答案:

x=-3:0.1:3;
y1=2*x+5;
y2=x.^2-3*x;
plot(x,y1) %绘制曲线y1
hold on;    %添加新绘图时保留原绘图
plot(x,y2) %绘制曲线y2
m1=max([y1,y2]);
m2=min([y1,y2]);
axis([-3,3,m2,m1]) ;    %限制x轴-3到3,限制y轴m2到m1

运行截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/adc6913fe0b847ddb8e07ebd825612cb.png#pic_center)

3、分别用直接解法、LU分解矩阵法、QR分解矩阵法求解法求解下列线性方程组。分析它们的实现条件。(10分)

在这里插入图片描述

答案:

直接解法:

A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]
b=[13,-9,6,0]
x=A\b'

运行截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/8cebf767488947b9a5ecb40c55d638cf.png#pic_center)

LU分解矩阵法:

A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]
b=[13,-9,6,0]
[L,U]=lu(A)
x=U\(L\b')

运行截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/2577cbf8a9524ae998446b90decec079.png#pic_center)

QR分解矩阵法求解法:

A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];
b=[13,-9,6,0];
[Q,R]=qr(A);
x=R\(Q\b')

运行截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/0ffb3087536b470386875003c70bc3a3.png#pic_center)

4、编程实现:
(1)某检测参数f随时间t的采样结果如表1所示,分别用线性插值方法和最近点插值方法计算t=2,12,22,32,42,52时的f值;绘图:原始数据点用+标注,线性插值计算得到的点用*标注,最近点插值计算得到的点用d(菱形)标注。(5分)
(2)绘出的图形如图1所示。请问:由图1判断,对f和t的关系而言用哪种插值方法更合适?(5分)
表1

待做

如有错误,请多指教

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值