MATLAB考试知识点.docx
- 文档编号:4751913
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:35
- 大小:349.89KB
MATLAB考试知识点.docx
《MATLAB考试知识点.docx》由会员分享,可在线阅读,更多相关《MATLAB考试知识点.docx(35页珍藏版)》请在冰豆网上搜索。
MATLAB考试知识点
第2章MATLAB概论
1、与其他计算机语言相比较,MATLAB语言突出的特点是什么
MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。
2、MATLAB系统由那些部分组成
MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装
-
在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
4、MATLAB操作桌面有几个窗口如何使某个窗口脱离桌面成为独立窗口又如何将脱离出去的窗口重新放置到桌面上
在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock……菜单项就可以将独立的窗口重新防止的桌面
5、如何启动M文件编辑/调试器
在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
6、存储在工作空间中的数组能编辑吗如何操作
:
存储在工作空间的数组可以通过数组编辑器进行编辑:
在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途
命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别
当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的SetPath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
\
9、在MATLAB中有几种获得帮助的途径
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;
(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数
(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
注意:
lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。
|
第3章MATLAB数值运算
在MATLAB中如何建立矩阵
,并将其赋予变量a
>>a=[573;491]
有几种建立矩阵的方法各有什么优点
可以用四种方法建立矩阵:
①直接输入法,如a=[2573],优点是输入方法方便简捷;
②通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;
(
③由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵;
④通过数据文件建立,该方法可以调用由其他软件产生数据。
在进行算术运算时,数组运算和矩阵运算各有什么要求
进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
数组运算和矩阵运算的运算符有什么区别
在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
>
计算矩阵
与
之和。
>>a=[535;374;798];
>>b=[242;679;836];
>>a+b
ans=
777
91413
*
151214
求
的共轭转置。
>>x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];
>>x’
ans=
--
-+
$
+-
-+
+-
计算
与
的数组乘积。
>>a=[693;275];
>>b=[241;468];
>>a.*b
》
ans=
12363
84240
“左除”与“右除”有什么区别
在通常情况下,左除x=a\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情况下,a\bb/a。
¥
对于
,如果
,
,求解X。
>>A=[492;764;357];
>>B=[372628]’;
>>X=A\B
X=
{
已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
>>a=[123;456;789];
>>a.^2
ans=
149
162536
496481
。
>>a^2
ans=
303642
668196
102126150
,
,观察a与b之间的六种关系运算的结果。
|
>>a=[123;456];
>>b=[8–74;362];
>>a>b
ans=
010
101
>>a>=b
ans=
&
010
101
>>a
ans=
101
010
>>a<=b
ans=
}
101
010
>>a==b
ans=
000
000
>>a~=b
ans=
$
111
111
,在进行逻辑运算时,a相当于什么样的逻辑量。
相当于a=[11011]。
在sin(x)运算中,x是角度还是弧度
、
在sin(x)运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算
角度
,求x的正弦、余弦、正切和余切。
>>x=[304560];
>>x1=x/180*pi;
>>sin(x1)
ans=
>>cos(x1)
~
ans=
>>tan(x1)
ans=
>>cot(x1)
ans=
-
用四舍五入的方法将数组[]取整。
>>b=[];
>>round(b)
ans=
2649
矩阵
,分别对a进行特征值分解、奇异值分解、LU分解、QR分解
$
>>[v,d]=eig(a,b)
v=
d=
00
00
?
00
>>a=[912;563;827];
>>[u,s,v]=svd(a)
u=
s=
$
00
00
00
v=
>>[l,u]=lu(a)
—
l=
00
0
u=
0
00
]
>>[q,r]=qr(a)
q=
r=
0
、
00
将矩阵
、
和
组合成两个新矩阵:
(1)组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即
(2)按照a、b、c的列顺序组合成一个行矢量,即
<
>>a=[42;57];
>>b=[71;83];
>>c=[59;62];
%
(1)
>>d=[a(:
)b(:
)c(:
)]
d=
475
586
.
219
732
%
(2)
>>e=[a(:
);b(:
);c(:
)]'
e=
452778135692
或利用
(1)中产生的d
>>e=reshape(d,1,12)
~
ans=
452778135692
将(x-6)(x-3)(x-8)展开为系数多项式的形式。
>>a=[638];
>>pa=poly(a);
>>ppa=poly2sym(pa)
ppa=
!
x^3-17*x^2+90*x-144
求解多项式x3-7x2+2x+40的根。
>>r=[1-7240];
>>p=roots(r);
#
求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
>>p=poly([1234]);
>>polyvalm(p,8)
】
ans=
840
计算多项式乘法(x2+2x+2)(x2+5x+4)。
>>c=conv([122],[154])
c=
1716188
…
计算多项式除法(3x3+13x2+6x+8)/(x+4)。
>>d=deconv([31368],[14])
d=
312
对下式进行部分分式展开:
《
>>a=[134272];
>>b=[32546];
>>[r,s,k]=residue(b,a)
r=
+
-
-
+
…
s=
+
-
+
-
k=
;
[]
计算多项式
的微分和积分。
>>p=[4–12–145];
>>pder=polyder(p);
>>pders=poly2sym(pder)
>>pint=polyint(p);
\
>>pints=poly2sym(pint)
pders=
12*x^2-24*x-14
pints=
x^4-4*x^3-7*x^2+5*x
解方程组
。
>>a=[290;3411;226];
·
>>b=[1366]';
>>x=a\b
x=
矩阵
,计算a的行列式和逆矩阵。
。
>>a=[42-6;754;349];
>>ad=det(a)
>>ai=inv(a)
ad=
-64
ai=
<
第4章MATLAB符号运算
创建符号变量有几种方法
MATLAB提供了两种创建符号变量和表达式的函数:
sym和syms。
sym用于创建一个符号变量或表达式,用法如x=sym(‘x’)及f=sym(‘x+y+z’),syms用于创建多个符号变量,用法如symsxyz。
f=sym(‘x+y+z’)
·
相当于
symsxyz
f=x+y+z
下面三种表示方法有什么不同的含义
(1)f=3*x^2+5*x+2
(2)f='3*x^2+5*x+2'
(3)x=sym('x')
:
f=3*x^2+5*x+2
(1)f=3*x^2+5*x+2
表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。
(2)f='3*x^2+5*x+2'
表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。
(3)x=sym('x')
f=3*x^2+5*x+2
表示x是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。
—
用符号函数法求解方程at2+b*t+c=0。
>>r=solve('a*t^2+b*t+c=0','t')
r=
[1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[1/2/a*(-b-(b^2-4*a*c)^(1/2))]
%
用符号计算验证三角等式:
sin
(1)cos
(2)-cos
(1)sin
(2)=sin(1-2)
>>symsphi1phi2;
>>y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2))
y=
sin(phi1-phi2)
/
求矩阵
的行列式值、逆和特征根。
>>symsa11a12a21a22;
>>A=[a11,a12;a21,a22]
>>AD=det(A)%行列式
>>AI=inv(A)%逆
>>AE=eig(A)%特征值
A=
}
[a11,a12]
[a21,a22]
AD=
a11*a22-a12*a21
AI=
[-a22/(-a11*a22+a12*a21),a12/(-a11*a22+a12*a21)]
[a21/(-a11*a22+a12*a21),-a11/(-a11*a22+a12*a21)]
AE=
#
[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]
[1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]
因式分解:
>>symsx;
>>f=x^4-5*x^3+5*x^2+5*x-6;
《
>>factor(f)
ans=
(x-1)*(x-2)*(x-3)*(x+1)
,用符号微分求df/dx。
>>symsax;
》
>>f=[a,x^2,1/x;exp(a*x),log(x),sin(x)];
>>df=diff(f)
df=
[0,2*x,-1/x^2]
[a*exp(a*x),1/x,cos(x)]
求代数方程组
关于x,y的解。
》
>>S=solve('a*x^2+b*y+c=0','b*x+c=0','x','y');
>>disp('='),disp
>>disp('='),disp
=
-c/b
=
-c*(a*c+b^2)/b^3
~
符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2]。
>>symst
>>ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])%画二维曲线的简捷指令
#
绘制极坐标下sin(3*t)*cos(t)的图形。
>>symst
>>ezpolar(sin(3*t)*cos(t)%画极坐标图的简捷指令
第5章MATLAB程序设计
1命令文件与函数文件的主要区别是什么
|
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;
(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
2如何定义全局变量
用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。
<
3如果x是一个结构型数组,如何观察其中的内容
结果数组用于存储一组相关的数据元素(域),这些元素可以是不同类型、不同尺寸的,结构数组不能用数组编辑器观察和修改其中的元素。
对于明为x的结构型数组,可以直接键入x以观察其中所包含的域名及内容,也可以键入x.域名观察指定域名的内容,例如
>>x
x=
name:
'line'
color:
'red'
data:
[13]
>>
~
ans=
red
4if语句有几种表现形式
(1)if表达式
语句体
end
(2)if表达式
)
语句体1
else
语句体2
end
(3)if表达式1
语句体1
elseif表达式2
语句体2
(
end
(4)if表达式1
语句体1
elseif表达式2
语句体2
else
语句体3
end
*
5说明break语句和return语句的用法。
break语句用于终止for循环和while循环的执行。
如果遇到break语句,则退出循环体,继续执行循环体外的下一行语句。
在嵌套循环中,break只存在于最内层的循环中。
return语句用于终止当前的命令序列,并返回到调用的函数或键盘,也用于终止keyboad方式,在MATLAB中,被调用的函数运行结束后会自动返回调用函数,使用return语句时将return插入被调用函数的某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数。
6有一周期为4的正弦波上叠加了方差为的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。
(提示:
①用*randn(1,n)产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1
(2)=(x
(1)+x
(2)+x(3))/3,x1(3)=(x
(2)+x(3)+x(4))/3……)
:
t=0:
pi/50:
4*pi;
n=length(t);
y=sin(t)+*randn(1,n);
ya
(1)=y
(1);
fori=2:
n-1
ya(i)=sum(y(i-1:
i+1))/3;
end
ya(n)=y(n);
·
plot(t,y,'c',t,ya,'r','linewidth',2)
7编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
functionc=collatz(n)
%collatz
%Classic“3n+1”Ploblemfromnumbertheory
^
c=n;
whilen>1
ifrem(n,2)==0
n=n/2;
else
n=3*n+1;
end
c=[cn];
·
end
8有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时为良好,成绩在60~79分之间为及格,成绩在60分以下时为不及格,编制一个根据成绩划分等级的程序。
学生姓名
王
张
、
刘
李
陈
杨
于
黄
郭
赵
…
成绩
72
83
56
94
100
88
96
~
68
54
65
Name=['王','张','刘','李','陈','杨','于','黄','郭','赵'];
Marks=[72,83,56,94,100,88,96,68,54,65];
%划分区域:
满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(<60)。
n=length(Marks);
#
fori=1:
n
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end;
c=[d,c];
%根据学生的分数,求出相应的等级。
*
fori=1:
n
switchMarks(i)
case100%得分为100时
Rank(i,:
)='满分';
casea%得分在90~99之间
Rank(i,:
)='优秀';
caseb%得分在80~89之间
Rank(i,:
)='良好';
》
casec%得分在60~79之间
Rank(i,:
)='及格';
otherwise%得分低于60。
Rank(i,:
)='不及格';
end
end
%将学生姓名,得分,级等信息打印出来。
disp('')
》
disp(['学生姓名','得分','等级']);
disp('--------------------------')
fori=1:
10;
disp(['',Name(i),'',num2str(Marks(i)),'',Rank(i,:
)]);
end
学生姓名得分等级
-----------------------------------------
、
王72及格
张83良好
刘56不及格
李94优秀
陈100满分
杨88良好
于96优秀
黄68及格
…
郭54不及格
赵65及格
9编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温度。
k=input('选择转换方式(1--摄氏转换为华氏,2--华氏转换为摄氏):
');
ifk~=1&k~=2
disp('请指定转换方式')
(
break
end
tin=input('输入待转变的温度(允许输入数组):
');
ifk==1
tout=tin*9/5+32;%摄氏转换为华氏
k1=2;
elseifk==2
tout=(tin-32)*5/9;%华氏转换为摄氏
—
k1=1;
end
str=['C';'F'];
disp(['转换前的温度','','转换后的温度'])
disp(['',num2str(tin),str(k,:
),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 考试 知识点