Matlab的基本操作
1 界面与帮助
1.1 界面
命令窗;工作空间和工作目录;矩阵编辑器;m文件编辑器。 语句后加分号表示计算结果不显示在命令窗中。%表示注释。
1.2 帮助
可使用Matlab的帮助菜单,或在命令窗口中使用help命令。假如准确知道所要求助的主题词或指令名称,那么用help 是获得在线帮助的最简单有效的途径。例如在命令窗口中键入:
help length
2 数据输入、保存和导入
使用命令窗或矩阵编辑器。
Matlab中的数据一般以向量或矩阵的形式存储。 例:矩阵A??123??456?????789??
的输入步骤。
(1)在键盘上输入下列内容(一行中的数据用逗号或空格隔开;行与行用分号隔开)
A = [1,2,3; 4,5,6; 7,8,9]
(2)按【Enter】键,指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果: A =
1 2 3 4 5 6 7 8 9
例:矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9]
(以下是显示结果) A =
1 2 3 4 5 6 7 8 9
练习(将以下语句依次拷到Maltab的命令窗口并回车运行): x=[1 2 3] x=[1;2;3] x=1:5 x=1:2:9 x=-3:0.2:3 x=5:-0.3:3 A=eye(3) %生成单位阵 B=zeros(3,4) C=ones(3,7)
D=[A B;C] %将几组数据并为一组数据
使用workspace窗口中的工具按钮将所有变量数据保存为文件或从文件中打开。也可选中一个变量后点右键用Save as命令将这个变量单独保存。
3 算术运算符和关系运算符
1) 2) 3) 4) 5)
+ - *(乘) / ^(幂) .* (元素乘) ./ (元素除) .^ (元素幂) A.^2 A中每个元素均平方; A*B 矩阵A与B相乘;
A.*B 矩阵A与B的对应元素相乘; A' 矩阵A的转置
4 对数据的检索
已知2001–2010年我国的国内生产总值数据如下表:
年 份 2001 2002 2003 2004 2005 2006 2007 2008 2009 国内生产总值(亿元) 109655.2 120332.7 135822.8 159878.3 184937.4 216314.4 265810.3 314045.4 340902.8 2010 401202.0 用矩阵A表示以上数据: A=[2001 109655.2 2002 120332.7 2003 135822.8 2004 159878.3 2005 184937.4 2006 216314.4 2007 265810.3 2008 314045.4 2009 340902.8 2010 401202.0] 用x表示GDP数据:
x=[109655.2 120332.7 135822.8 159878.3 184937.4 216314.4 265810.3 314045.4 340902.8 401202.0]'
练习以下语句: x(3) %x中第3个元素; A(3,2) %A中第3行第2列的元素; x([1 2 5]) %x中第1、2、5个元素;
A([1 2 5],2) %A中位于第1行第2行第5行及第2列的元素; x(3:6) %x中第3个到第6个元素; A(3:6,1:2) %A中第3行到第6行、第1列到第2列的元素; x(3:end) %x中第3个到最后一个元素;
A(3:end,2) %A中第3行到最后一行、第2列的元素; A(3:6,:) %A中第3行到第6行、所有列的元素; A(:,2) %A中所有行、第2列的元素; x(1:2:9) %x中第1、3、5、7、9个元素;
A(3:2:9,2) %A中第3、5、7、9行第2列的元素; x(9:-2:1) %x中第9、7、5、3、1个元素; flipud(A) %将A中数据上下倒排显示或取出; fliplr(A) %将A中数据左右倒排显示或取出;
[i,j] = find(A>150000) %找出A中大于150000的元素,其行号放入i,列号放入j; [i,j] = find(A==159878.3) %找出A中等于159878.3的元素的行号和列号(即元素的下标);
i= find(A==159878.3) %找出A中等于159878.3的元素的编号(Matlab中矩阵元素除了行号和列号外,还有一个编号,也称为线性索引);
find(A) %显示A中不为0的元素的编号
x(find(x>=150000&x<200000)) %显示出x中大于或等于150000并且小于200000的元素;
x(find(x>200000|x<150000)) %显示出x中大于200000或者小于150000的元素; max(x) %返回x中最大的元素值; max (A) %返回A中各列的最大的元素; min(x) %返回向量x中最小的元素; min(A) %返回A中各列的最小的元素; length(x) %返回向量x的长度,即x中元素的个数; numel(A) %返回矩阵A中元素的个数; sort(x) %将向量x的元素按递增排序;若x是矩阵,对其每列进行递增排序。 sort(x, 'descend') %将向量x的元素按递减排序;若x是矩阵,对其每列进行递减排序。
x(3) = 0 %把x中的第3个元素重新赋值为0; x([1 4])=[1 1] %把x的第1、4个元素都赋值为1。
5 常用基本命令和函数
5.1 基本命令
clc 清空命令窗口 clear x 清除变量x clear 清除所有变量
format long 计算结果显示15位数字
format long g计算结果显示15位数字且不使用科学计数法 format long e计算结果显示15位数字且使用科学计数法 format short 计算结果显示5位数字
format short g计算结果显示5位数字且不使用科学计数法 format short e计算结果显示5位数字且使用科学计数法
5.2 基本函数
令矩阵A和向量x为: A=[2001 109655.2 2002 120332.7 2003 135822.8 2004 159878.3 2005 184937.4 2006 216314.4 2007 265810.3 2008 314045.4 2009 340902.8 2010 401202.0]
x=[109655.2 120332.7 135822.8 159878.3 184937.4 216314.4 265810.3 314045.4 340902.8
401202.0]'
练习以下语句:
sum(x) %求x中所有元素的和 prod(x) %求x中所有元素的积 sqrt(x) %求x中各元素的平方根,亦即x.^0.5 diff(x) %求x中相邻元素之差(可理解为逐期增长量),此处即各年GDP增长数量 cumsum(x) %对x中所有元素累积求和 cumprod(x) %对x中所有元素累积求积 [m,n] = size(A) %返回矩阵的行数和列数
round(x) %对x中所有元素取整(方法为四舍五入) fix(x) %对x中所有元素取整(方法为去掉小数部分) ceil(x) %对x中所有元素取整(方法为向上取整) floor(x) %对x中所有元素取整(方法为向下取整)
r=x(2:end)./x(1:end-1)-1 %计算各年GDP增长率(记为r) find(r<0.1) %找出增长率小于10%的增长率的序号 r(find(r<0.1)) %找出增长率小于10%的值 sort(r) %将增长率按递增排序 sort(r, 'descend') %将增长率按递减排序
R=[[2002:2010]' r] %将增长率和相应年份放在一起 R(R(:,2)>0.1,1) %找出增长率大于10%的年份 RA=sortrows(R, 2) %按矩阵R的第2列(即增长率)递增排序 RD=sortrows(R, -2) %按矩阵R的第2列(即增长率)递减排序 RD(1:3,1) %找出增长最快的3个年份 RA(1:3,1) %找出增长最慢的3个年份
6 命令的编写(本小节选学)
打开一个空白m文件,键入若干语句;将m文件保存。其文件名即成为一条新的命令,可以在命令窗口中运行。
练习:编写一个名为mycomd的命令,该命令生成100个均匀分布的随机数,并求出其中的最小值和最大值。编写后运行它。
步骤:在一空白m文件中键入: x=rand(100,1); a=min(x) b=max(x)
将文件保存,命名为mycomd。 在命令窗口中键入mycomd,回车。
7 随机数的生成
A=rand(10,10) B=randn(10,10)
%生成10行10列的[0,1]上均匀分布的随机数,放入A中; %生成10行10列的标准正态分布的随机数,放入B中;
8 画图
8.1 用ezplot、ezmesh、ezsurf画函数图的例子:
ezplot('x^2 - 2*x + 1',[0 5]) ezplot('normpdf(x,1,2)',[-6,8]) 曲线
ezsurf('sqrt(x^2 + y^2)',[-6,6])
%x取值范围为从0到5。
%画期望值为1,标准差为2的标准正态分布概率密度%画二元函数图形
相关推荐: