MATLAB常用函数 - 中国的孩子

MATLAB常用函数

Matlab的内部常数

pi 圆周率

exp(1) 自然对数的底数e

i 或j 虚数单位

Inf或 inf 无穷大

Matlab的常用内部数学函数

指数函数

exp(x)

以e为底数

对数函数

log(x)

自然对数,即以e为底数的对数

log10(x)

常用对数,即以10为底数的对数

log2(x)

以2为底数的x的对数

开方函数

sqrt(x)

表示x的算术平方根

绝对值函数

abs(x)

表示实数的绝对值以及复数的模

三角函数

(自变量的单位为弧度)

sin(x)

正弦函数

cos(x)

余弦函数

tan(x)

正切函数

cot(x)

余切函数

sec(x)

正割函数

csc(x)

余割函数

反三角函数

asin(x)

反正弦函数

acos(x)

反余弦函数

atan(x)

反正切函数

acot(x)

反余切函数

asec(x)

反正割函数

acsc(x)

反余割函数

双曲函数

sinh(x)

双曲正弦函数

cosh(x)

双曲余弦函数

tanh(x)

双曲正切函数

coth(x)

双曲余切函数

sech(x)

双曲正割函数

csch(x)

双曲余割函数

反双曲函数

asinh(x)

反双曲正弦函数

acosh(x)

反双曲余弦函数

atanh(x)

反双曲正切函数

acoth(x)

反双曲余切函数

asech(x)

反双曲正割函数

acsch(x)

反双曲余割函数

求角度函数

atan2(y,x)

以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为(, ]

数论函数

gcd(a,b)

两个整数的最大公约数

lcm(a,b)

两个整数的最小公倍数

排列组合函数

factorial(n)

阶乘函数,表示n的阶乘

复数函数

real(z)

实部函数

imag(z)

虚部函数

abs(z)

求复数z的模

angle(z)

求复数z的辐角,其范围是(, ]

conj(z)

求复数z的共轭复数

求整函数与截尾函数

ceil(x)

表示大于或等于实数x的最小整数

floor(x)

表示小于或等于实数x的最大整数

round(x)

最接近x的整数

最大、最小函数

max([a,b,c,...])

求最大数

min([a,b,c,..])

求最小数

符号函数

sign(x)

Matlab中的数学运算符

a+b

加法

a./b

数组右除

a-b

减法

a.\b

数组左除

a*b

矩阵乘法

a^b

矩阵乘方

a.*b

数组乘法

a.^b

数组乘方

a/b

矩阵右除

-a

负号

a\b

矩阵左除

\'

共轭转置

.\'

一般转置

Matlab的关系运算符

==

等于

<

小于

>

大于

<=

小于或等于

>=

大于或等于

~=

不等于

fopen:对(或新建的)文件进行读写

fprintf:对文件进行写入

round:求最接近的整数

fclose(fileID):关闭打开的文件

Dec2bin(x,n):把x转换成n位二进制数;

Fliplr:对矩阵进行左右的颠倒

Bin2dec(binarystr)

Eg:bin2dec(‘01011’)

Round:对数据进行四舍五入

Real:

Imag:

Mean:求平均值

Roots:

gcd

lcm

======================================================================

用MATLAB仿真LMS算法,可是程序一不小心就会溢出,程序RUN一次时间又很长,所以希望能当判断到某个数为INF时就让程序停止下来。

开始查到了快捷键:Ctrl+C,但是我知道它是不能判断的,只能手动。

之后又看到有人提到:error,return,break等函数

Error :

Return:退出调用的函数,在help 中有这样的例子。

Example

function d = det(A)

if isempty(A)

d = 1;

return

else

。。。。

end

Break:退出包含break最里层循环,终止正在执行的while或FOR循环。

可能是MATLAB用的少,在MATLAB中现在学会了用for去作遍历,把所要尝试的数据都试下。

disp.

============================================================

B=A(1:N)%读取前N个数

在MATLAB中建立了一个矢量,怎样提取它的一个成员

在命令窗中输入如下程序:

>> x = [1 2 3 4 5];

>> for i = 1 : length(x)

z = x(i)

end

运行结果如下 :

z =

1

z =

2

z =

3

z =

4

===============================================================

从网上找到的一段程序:

a=[1,3,8,7,13,14,17];

a(a==13)=[]

a =

1 3 8 7 14 17

================================================================

1)fix(x) : 截尾取整

>> fix( [3.12 -3.12])

ans =

3 -3

(2)floor(x):不超过x 的最大整数.(高斯取整)

>> floor( [3.12 -3.12])

ans =

3 -4

(3)ceil(x) : 大于x 的最小整数

>> ceil( [3.12 -3.12])

ans =

4 -3

(4)四舍五入取整

>> round([3.12 -3.12])

ans =

3 -3

mod 模数求余
rem 求余数

 

>> a=[1 2 3;4 5 6;7 8 9];
>> size(a)
ans =
     3     3