【Matlab】基础教程

@


基本操作命令

1.设置计算显示结果的格式

指令 含义 举例
format、format short 通常保证小数点后四位有效,最多不超过 7 位;对于大于 1000 的实数,用 5 位有效数字的科学记数形式显示。 314.159 被显示为 314.1590;3141.59 被显示为 3.1416e+003
format long 15位数字表示 3.14159265358979
format short e 5 位科学记数表示 3.1416e+00
format long e 15位科学记数表示 3.14159265358979e+00
format short g 从 format short 和 format short e 中自动选择最佳记数方式 3.1416
format long g 从 format long 和 format long e 中自动选择最佳记数方式 3.14159265358979
format rat 近似有理数表示 355/113
format hex 十六进制表示 400921fb54442d18
format + 显示大矩阵用。正数、负数、零 分别用+ , - , 空格表示。 +
format bank (金融)元、角、分表示 3.14
format compact 显示变量之间没有空行
format loose 在显示变量之间有空行
  • format short 显示格式是默认的显示格式 。

2. 常用指令

指令名 含义
who 查询工作区变量名
whos 查询工作区某个或所有变量及其具体信息
clear 从工作区删除某个或所有变量和函数
pack 整理工作区内存碎片
save<FileName> v1 v2 把变量 v1, v2 保存为 FileName.mat 文件
save<FileName> v1 v2 -append 把变量v1, v添加到 FileName.mat 文件中
save<FileName> v1 v2 -ascii -double 把变量 v1, v2 保存为 FileName 16 位ASCII 文件
load<FileName> 把 FileName.mat 文件中的全部变量装入内存
load<FileName> v1 v2 把 FileName.mat 文件中的 v1,v2 变量装入内存
load<FileName> v1 v2 把 FileName ASCII 文件中的 v1, v2 变量装入内存

3. 数据类型

  • MATLAB的构造型数据基本上与C++的构造型数据相衔接,但它的数组却有更加广泛的含义和不同于一般语言的运算方法。符号对象是MATLAB所特有的一类为符号运算而设置的数据类型。严格地说,它不是某一类型的数据,它可以是数组、矩阵、字符等多种形式及其组合,但它在MATLAB的工作区中的确又是另类的一种数据类型。

4. 数学运算

4.1 取整函数

函数 说明 举例
round(a) 向最接近的整数取整,小数部分是0.5时向绝对值大的方向取整 round(4.3)结果为4,round(4.5)结果为5
fix(a) 向0方向取整 fix(4.3)结果为4,fix(4.5)结果为4
floor(a) 向不大于a的最接近的整数取整 floor(4.3)结果为4,floor(4.5)结果为4
ceil(a) 向不小于a的最接近的整数取整 ceil(4.3)结果为5,ceil(4.5)结果为5

4.2 复数函数

函数 说明
real(z) 返回复数z的实部
imag(z) 返回复数z的虚部
abs(z) 返回复数z的幅度
angle(z) 返回复数z的幅角
返回复数z的共轭复数 返回复数z的共轭复数
complex(a,b) 以a为实部,b为虚部创建复数

4.3 符号常量

常量(特殊函数) 含义
ans 用于存储计算结果的默认变量名
pi 圆周率的双精度表示
i或j 用于复数单位
Inf或 inf 无穷大,前面可加+或-
NaN 非数值量,产生于0/0、无穷/无穷
eps 容错量,非常接近于0,计算机上的值为
date 当前日期
Realmin或realmin Matlab所能表示实数的最小绝对值
Realmax或realmax Matlab所能表示实数的最大绝对值
version Matlab版本信息,如8.3.0.532 (R2014a)

5. 函数

5.1 匿名函数(lemba表达式)

匿名函数通常是简单的函数,不需要编写m文件。匿名函数是面向命令行代码的函数形式,通常是由一句简单的声明语句组成。创建的标准形式是:

  • fhandle=@(arglist)expr
  • arglist为参数列表,指出了函数的参数列表,用“,”分隔
  • expr为关于参数列表的表达式形式,前缀@是固定的,等号右边表示将该函数句柄赋值到变量fhandle。

下面这个例子定义了一个匿名函数来计算x3 +y3的值

fhandle=@(x, y)(x.\^3+y.^3)

此处定义了一个匿名函数来计算x3+y3的值,其中x和y可以是矩阵。运行如下:

fhandle=@(x, y)(x.\^3+y.^3);
a=5; b=8;
fhandle(a,b)
ans =
637

5.2 内联函数

内联函数是MATLAB中的另一种可以实现函数功能的对象,它的创建形式非常简单。其调用格式如下所示:

  • inline(‘string’,arg1,arg2,…)
  • ‘string’必须是不带赋值号“=”的字符串,arg1, arg2等是函数的输入变量。

下面这个例子创建内联函数实现f(x,y)=cos(x)exy

f =inline('cos(x)*exp(x*y)','x','y')
f=
inline function;
f(x,y)=cos(x)*exp(x*y)

如果输入变量设置为x=1,y=2,即输入形式和结果如下所示:

Z=f(1,2)
Z=
3.9923

5.3 函数指针(函数句柄)

函数句柄实际上提供了一种函数调用的间接方法,创建函数句柄要用到操作符@。前面所讲的匿名函数实际上创建了一种函数句柄。MATLAB中的各种函数都可以创建函数句柄。创建函数句柄的方法如下:

  • fhandle=@filename;
  • filename就是所对应的m函数文件名或者是库函数名
  • fhandle保存了该m文件或者库函数的句柄,通过句柄fhandle即可调用相应的m文件或者库函数。

下面这个例子创建函数cos的句柄

a=@cos;
a(pi)
ans =
-1

该例中,将内置函数cos(x)的句柄赋值到变量a,然后通过a可以实现对函数cos的间接调用。

下面这个例子在SumMax.m文件中自定义SumMax函数

function [a,b] = SumMax(X)
m=max(size(X));
a=0;
for n=1:m
a=a+X(n);
end
b=max(X);
end

将上述程序保存为SumMax.m。采用函数句柄的方法来实现

b=@SumMax;
y=[3,2,10,12,6];
 [c,d]=b(y)
c =
33
d =
12

本文由博客一文多发平台 OpenWrite 发布!