【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 发布!