和运算符(+、-等)构成。 创建二维数组变量
第一种方法:使用方括号“[ ]”操作符 “[ ]”操作符创建二维数组的使用规则 数组元素必须在“[ ]”内键入;
行与行之间须用分号“;” 间隔,也可以在分行处用回车键间隔;
行内元素用空格或逗号“,”间隔。 函数方法
函数ones(生成全1矩阵)、zeros (生成全0矩阵) 、reshape
元素的寻访
a(3:-1:1) %由前3个元素倒序构成的子数组 修改a([2 5])=[1 1]
A(end,:) 表示最后一行;a(:,end)表示最后一列 例子:a=[1 2 3 4 ;5 6 7 8] A(:,end) %最后一列元素 4 8
a(end,:) %最后一行元素 5 6 7 8
a(:,end:-1:3)%从最后一列取整列到第三列
a([1 2])%按列开始从第一个元素取值,取两个元素 1 5
a(end,[2:end-1])%最后一行从第2个元素开始取值至该行倒数第2个 5
3 运算:算数 关系 逻辑
二 matlab二维绘图 多次叠绘
多次调用plot来在一幅图上绘制多条曲线,需要hold指令的配合。
hold on 保持当前坐标轴和图形,并可以接受下一次曲线绘制。
hold off 取消当前坐标轴和图形保持,这种状态下,调用plot绘制完全新的图形,不保留以前的坐标格式、曲线。
subplot(m, n, k) 使(mxn)幅子图中第k个子图成为当前图
A、 分格线与grid指令 grid on 画出分格线 grid off 不画分格线
MATLAB的缺省设置是不画分格线;分格线的疏密取
16
决于坐标刻度(改变坐标刻度,可改变分格线的疏密)。 B、 坐标框 box on 使当前坐标呈封闭形式(MATLAB的缺省设置) box off 使当前坐标呈开启形式 C、刻度设置 指令及格式:
set(gca,
‘xtick’, xs, ‘ytick’, ys) xs、ys可以使任何合法的实数向量,用于分别设置x、y轴的刻度。图形标识包括: 图名(title)
坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend) 六 绘图
>> t=0:0.5:10;
>> y1=exp(-0.1*t); >> y2=exp(-0.2*t); >> y3=exp(-0.5*t);
>> plot(t,y1,'-ob',t,y2,':*r',t,y3,'-.^g') >> title('\\ity\\rm=e^{-\\itat}')
>> title('\\ity\\rm=e^{-\\itat}','FontSize',12) >> text(t(6),y1(6),'\\leftarrow\\ita\\rm=0.1','FontSize',11)
>> text(t(6),y2(6),'\\leftarrow\\ita\\rm=0.2','FontSize',11)
>>
text(t(6),y3(6),'\\leftarrow\\ita\\rm=0.5','FontSize',11)
>> title('\\ity\\rm=e^{-\\itat}','FontSize',12) >> legend('a=0.1','a=0.2','a=0.5') 3 简述题
1 matlab 是一种什么样的软件,其主要特点有哪些?
答:MATLAB已经发展成为一个世界顶级的、功能强大的、易学易用的、综合数学工具软件。 它以高效的数组运算为特征;
它集符号运算与数值运算于一体,以数值计算见长; 以函数形式内迁了许多优化的数学算法; 具有众多不同领域的专用工具箱;
不领域的系统建模、仿真、分析以及嵌入式系统的快速开发。
应用广泛(工程、科研、大学教学) 包括多个软件产品: Matlab
Matlab专用工具箱(Toolbox) Matlab编译器 Simulink
Simulink专用模块库(BlockSet) 语言特点:功能强大 数值运算优势
符号运算优势(Maple)
强大的2D、3D数据可视化功能
许多具有算法自适应能力的功能函数 语言简单、内涵丰富
语言其书写形式非常接近于常规数学书写形式;
其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的,如:help、clear等; 完备的帮助系统,易学易用。 扩充能力、可开发能力较强
MATLAB完全成了一个开放的系统 用户可以开发自己的工具箱
可以方便地与Fortran、C等语言接口 编程易、效率高
Matlab以数组为基本计算单元 具有大量的算法优化的功能函数
2 Matlab脚本程序文件的特点?函数程序文件的特点?
M文件有两种形式 :脚本文件(Script File)函数文件(Function File )
这两种文件的扩展名,均为“ . m” 。M脚本文件(Script File)
—— 实际上是一串MATLAB指令集合。 M脚本文件的特点:
脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集。脚本文件运行后 ,所产生的变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。 M函数文件的特点:
从形式上看 ,与脚本文件不同 ,函数文件的笫一行总是以 “function”引导的“函数申明行”。从运行上看 ,与脚本文件运行不同 ,M函数中使用的变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。
3 试举例查看matlab工作空间内变量的命名 6 数组运算与矩阵运算的运算符有什么区别?
在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘
一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集
数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。
17
矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。但有两点要注意: (1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;
(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算
数组运算:
转置 A.' 非共轭转置,相当于(conj(A')) 数组加与减 A+B与A-B 对应元素之间加减 数乘数组 k.*A或A.*k k乘A的每个元素
数与数组加减 k+A与k-A k加(减)A的每个元素 数组乘数组 A.*B
数组乘方 A.^k A的每个元素进行k次方运算 k.^A 以k底的,分别以A的元素为指数求幂值 数除以数组 k./A和A.\\k k分别被B的元素除 数组除法 左除A.\\B右除B./A
矩阵运算:
矩阵转置 A' 共轭转置 加减 A+B A-B
数乘矩阵 k*A或A*k 上三项同数组运算 矩阵乘法 A*B 按数学定义的矩阵乘法规则 矩阵乘方 A^k k个矩阵A相乘
数与矩阵加减 k+A与k-A 等价于k*ones(size(A))+-A 矩阵除法 左除A\\B,右除B/A 分别为AX=B和XA=B的解
plot(x,y,string)
其中 string 是用 单引号 括起来的字符串,用来指定
图形的属性(点、线的形状和颜色) mesh(X,Y,Z,C)
绘制由矩阵 X,Y,Z 所确定的曲面网格图,矩阵 C 用于确定网格颜色,省略时 C=Z。 mesh(Z)
绘出矩阵 Z 的三维消隐图。 mesh(x,y,Z) x, y 是向量时,length(x)=n,length(y)=m,[m,n]=size(Z) [X,Y]= meshgrid(x,y)
x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵
绘制等高线 meshc 绘制边界面屏蔽 meshz
surf(X,Y,Z) 绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh
sphere(n) 专用于绘制单位球面 colormap: 设置绘图的着色方案 二维曲线绘图: ezplot
ezplot(f,[a,b]):绘制f=f(x)在区间(a ezplot(f(x,y)): f(x,y) =0在区间(-2pi ezplot(f,g,[a,b]):x=f(t),y=g(t) 在区间(a 空间曲线绘图: ezplot3 18