一.MATLAB的使用及编程
1.填空知识点总结
(1)MATLAB中标点符号的含义:
- MATLAB每条命令后有逗号或无标点符号 —— 显示命令的结果
- MATLAB每条命令后为分号 —— 禁止显示命令结果
- % —— 所有文字为注释
- … —— 续行符
(2)数组的建立
- x = [ a b c d e ] —— 创建包含指定元素的行向量
- x = first:last —— 创建从first开始,加1计数,到last结束的行向量
- x = first:increment:last —— 从first开始,加increment计数,到last结束的行向量
- linspace(first,last,n) —— 从first开始,到last结束,有n个元素的行向量
(3)特殊的矩阵命令
- a = [ ] —— 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵大小为0
- b = zero(m,n) —— 产生一个m行n列的零矩阵
- c = ones(m,n) —— 产生一个m行n列的元素全为1的矩阵
- d = eye(m,n) —— 产生一个m行n列单位矩阵
(4)矩阵中元素的操作及运算
- A(i,:) —— 矩阵A的第i行
- A(:,j) —— 矩阵A 的第j列
- A( : ) —— 依次提取矩阵A的每一列,拉伸为一个列向量
- A(i1:i2,j1:j2) —— 取矩阵A的第i1-i2行、第j1-j2列构成新的矩阵
- A(i2: -1:i1,:) —— 依次提取矩阵的i1-i2行构成新矩阵
- A(:,j2: -1:j1) —— 依次提取矩阵的j1-j2列构成新矩阵
- A(i1:i2,:)=[ ] —— 删除矩阵的i1-i2行构成新矩阵
- A(:,j1:j2)=[ ] —— 删除矩阵的j1-j2列构成新矩阵
- [A B] or [A;B] —— 拼接矩阵A和B构成新矩阵
- A+B —— 矩阵的加法
- A*B ——矩阵的乘法
- det(A) —— 方阵的行列式
- inv(A) —— 方阵的逆
- [V,D] = eig(A) ——方阵的特征值与特征向量
(5)常用的画图函数
- plot(x,y) —— 绘制x关于y的曲线图
- ezplot(f) or fplot(f) —— 符号函数画图
- polar(theta,rho,S) —— 用角度theta和极半径rho作极坐标图,用S指定线型。
- plot3(x,y,z,S) —— 画三维曲线
- surf(X,Y,Z) —— 空间曲面
- mesh(X,Y,Z) —— 网格曲面
(6)处理图形
- gird on/off —— 增加/删除格栅
- xlabel() —— x轴标签
- ylabel() —— y轴标签
- title() —— 顶端标题
- gtext() —— 标注
- hold on/off 保持/关闭图像
(7)练习1:写出用linespace函数创建等间隔行向量设x=1:2:20的语句:x=linespace(1:19:10)
(8)练习2:设x=1:2:20写出以下表达式的值:
①x(1:3)的值为:[1,3,5]
②x(end-2:end)的值为:[15,17,19]
③length(x)的值为:10
④mean(x)的值为:10
(9)在matlab中输入以下语句:
>> clear;
x=1:2:20;
x(100)=100;
y=sum(x);
disp(y)
(1)执行以上程序后,x是长度为100的行向量
(2)执行以上程序后,y的值是200
注:y=((1+19)x10)/2+100=100+100=200
(10)设A=[1,2,3,4;5,6,7,8;9,10,11,12],写出以下表达式的值:
①A(end,:)的值为[9,10,11,12]
②A(:,[3,4])的值为[3,4;7,8;11,12]
③A(1,4)的值为4
④A(4)的值为2
注:对于A(i)来说,二维数组按列存取
⑤size(A)的值为[3,4]
注:size就是矩阵的行列大小
⑥sum(A)的值为[15,18,21,24]
注:sum和是将列进行加法计算存储在一个新的行向量里
⑦执行[m,n]=size(A)后,m=3,n=4
(11)设C={‘one’,‘two’,‘three’;zero(3),ones(2),eye(3)}
①size( C )的值为[2,3]
②C{1,1}的值为’one’
③length(C{1,1})的值为3
④C{2,2}的值为[1,1;1,1]
⑤C{2,3}的值为[1,0,0;0,1,0;0,0,1]
2.编程例题及练习题总结
例1.用for循环,对n=1,2,…,10,分别求xn=sin(nπ/10)
for n=1:10
x(n)=sin(n*pi