Matlab基本操作>矩阵,向量,常用函数,流程控制,二维/三维绘图函数及其它函数

matlab基本操作指令

1>矩阵

创建矩阵
	a=[1 2;3 4]  %创建一个2x2的矩阵
矩阵的赋值

方括号表示矩阵开头和结尾,圆括号表示从矩阵中选取部分,把握这个原则,有利于读懂程序

	a([1 2],[1 2])=[1 2;3 4]  %对矩阵a的第12行,第12列,总共4个元素赋值
	a(1,2)=1	%修改矩阵中部分元素的值
	a(1:end,1)  %这里的end表示终点,即a的行数2
	a(:,1)     %这里的冒号表示从头至尾
用矩阵赋值
	a=[1 2;3 4]  %使用分块矩阵
	b=a(1,2)  %就可以把a的第一行第二列元素赋值给b
逆矩阵
	pinv(A)  %得到A的逆矩阵

2>向量

	a=[1:1:3]	%等差数列行向量,
	a=1:3   %当步长为1时,可以省略步长和一个冒号,可以简写
	a=[1:3]	%也可以这样写

3>运算

点乘.*、点除./和点方.^
点乘和点除需要注意,只有同样维度的矩阵才能进行这种特殊运算

4>数值变量的常用函数

doc+函数名查到更详细的帮助

	a=ones(3)
	a=ones(1,5)			%生成指定大小的全1矩阵
	a=zeros(3)
	a=zeros(1,5)		%生成指定大小的全0矩阵
	a=zeros(3)
	a=zeros(1,5)		%生成指定大小的全0矩阵
	pinv(A)				 %得到A的逆矩阵,只能对方阵操作
	size([1 2;3 4])		%获得矩阵的行数和列数	
	size([1 2;3 4],1)	%单独获得行数或者列数
	length([1 2 3])		%获得向量的长度,这个命令也可以对矩阵操作,当然一般只对向量操作
	max([1 2 3])
	min([1 2 3])		%获得向量的最大和最小值,也可以对矩阵操作
	sort([2 1 3]) 		%按大小对向量进行排序,也可以对矩阵操作	
	sum([1 2 3])		%求和,也可以对矩阵操作
	a=sum(x);			%列求和;
	a=sum(x,2);			%行求和;
	a=sum(x(:));		%矩阵求和
	cumsum([1 2 3])		%累积求和,类似求定积分,一般只对向量操作,
						%需要注意的是,累积求和后,结果和原向量长度一样
	diff([1 2 5 6])		%差分运算,类似于求导,一般只对向量操作,需要注意的是,
						%差分操作后,结果的长度比原向量少一
	plot([1 2.5 3],[5 6 4])	%画图,需要注意的是,两个向量的长度要相等才能画图 
	exp([1 2])			%指数函数,类似的数学函数还有三角函数(sin,cos,tan,asin,acos,atan),
						%对数函数(log),这些函数在对矩阵操作时,相当于对矩阵中的每个元素进行操作,
						%类似点乘这样的运算符。exp(a),返回自然常数e的a次方
	sqrt				%是计算平方根的函数	

5>流程控制

if判断
	if 逻辑变量1
		执行语句1
	elseif 逻辑变量2
		执行语句2
	else
		执行语句3
	end
switch判断
	switch 数值变量1
		case 数值1
			执行语句1
		case 数值2
			执行语句2
		otherwise
			执行语句3
	end
for循环

最简单的语句:

	for i=初值:增量:终值
		循环体
	end
while循环
	while 逻辑变量
			执行语句
	end

6>二维绘图函数

绘图

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线

	plot(A)		此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中
	plot(x1,y1,x2,y2,…,xn,yn)	含多个输入参数的plot函数
图形标注

线型: 1> - 实线 2> : 虚线 3> -. 点划线 4> – 双划线
颜色: b蓝色 g绿色 r红色 c青色 m品红 y黄色 k黑色 w白色
标记符号: .点 o圆圈 ×叉号 +加号 *星号 s方块 d菱形 p五角星 h六角星

	plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp')	 %确定所绘曲线的线型、颜色和数据点标记符号

其它图形标注
直接放在所绘图形后就可以了,即作用于前一个绘图函数,除legend函数外, 其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。

	axis([0, 7, 0 ,2]);		%x/y轴取值范围x(0~7),y(0~2)
	title(’图形名称’)	    %(都放在单引号内)
	xlabel(’x轴说明’)
	ylabel(’y轴说明’)
	text(x,y,’图形说明’)		%text函数是在坐标点(x,y)处添加图形说明
	legend(’图例1’,’图例2’,…) 	%legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,
							%用户还可以通过鼠标移动图例,将其放到所希望的位置
其它二维绘图函数

plotyy 双纵坐标函数
绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数,它能把具有不同量纲,
不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。

	plotyy(x1,y1,x2,y2)

subplot 图形窗口分割
subplot是MATLAB中的函数,是将多个图画到一个平面上的工具

	subplot(m,n,p)	%m表示是图排成m行,n表示图排成n列,p表示图所在的位置,
	subplot(m n p)	%p=1表示从左到右从上到下的第一个位置

hold on/off 图形保持
一般情况下,每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,如果希望在已经存在的图形上再继续添加新的图形,可以使用图形保持命令hold。

hold on/off  %命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换。

条形图 bar(x,y,‘选项’)
阶梯图 stairs(x,y,‘选项’)
杆图 stem(x,y,‘选项’)
这三个函数和plot的用法相似,只是没有多输入变量形式

	x=0:0.35:7;y=2*exp(-0.5*x);
	subplot(2,2,1);bar(x,y,'g');		%条形图
	title('bar(x,y),''g'')');axis([0, 7, 0 ,2]);
	subplot(2,2,2);stairs(x,y,'r');		%阶梯图
	title('fill(x,y,''r'')');axis([0, 7, 0 ,2]);
	subplot(2,2,4);stem(x,y,'k');		%杆图
	title('stem(x,y,''k'')');axis([0, 7, 0 ,2]);

填充图 fill(x1,y1,选项1,x2,y2,选项2,…)

	x=0:0.35:7;y=2*exp(-0.5*x);
	subplot(2,2,3);fill(x,y,'r');		%填充图	
	title('stairs(x,y,''b'')');axis([0, 7, 0 ,2]);

极坐标图 polar(theta,rho,选项)
theta为极坐标极角,rho为极径,选项的内容和plot函数相似

		theta=0:0.01:2*pi;
		ho=sin(3*theta).*cos(5*theta);
		polar(theta,rho,'r');

对数坐标图
semilogx(x1,y1,选项1,x2,y2,选项2,…)
semilogy(x1,y1,选项1,x2,y2,选项2,…)
loglog(x1,y1,选项1,x2,y2,选项2,…)
这些函数中选项的定义和plot函数完全一样,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy恰好和semilogx相反。loglog函数使用全对数坐标,x、y轴均采用对数刻度。

7>三维绘图函数

plot3函数
	plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)

其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数

	t=0:pi/50:2*pi;
	x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);
	plot3(x,y,z,'p');
	title('Line in 3-D Space');text(0,0,0,'origin');
	xlabel('X');ylabel('Y');zlabel('Z');grid;	%grid函数:显示或隐藏轴网格线
三维曲面

Matlab提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用来绘制三维网格图,而surf用来绘制三维曲面图,各线条之间的补面用颜色填充

	mesh(x,y,z,c);
	surf(x,y,z,c);

一般情况下,x,y,z是维数相同的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,Matlab认为c=z,也即颜色的设定是正比于图形的高度。这样就可以得到层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线

条形图、杆图、饼图和填充图等特殊图形

其函数分别为bar3,stem3,pie3和fill3。

7>其他函数

矩阵函数:

randn

Y = randn(n);	%返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息
Y = randn(m,n) ;	%或 Y = randn([m n]),返回一个m*n的随机项矩阵。
Y = randn(size(A)); %返回一个和A有同样维数大小的随机数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值