MATLAB学习笔记10-10-24

function [x,n] = impseq(n0,n1,n2)

 
impulse sequence function冲击序列函数。
产生 x(n) = delta(n-n0), n1 <=  n <= n2。
delta就是冲击函数。
简单的说,除了n0那里是冲击以外,n1到n2全是零。 

矩阵运算函数:

(1) diag()

>> a

a =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> diag(a)

ans =

17

5

13

21

9

>> diag(diag(a))

ans =

17 0 0 0 0

0 5 0 0 0

0 0 13 0 0

0 0 0 21 0

0 0 0 0 9

(2) linspace()

>> b(:,2)=linspace(1,5,5)

b =

1 1

5 2

1 3

1 4

1 5

(3) ones()

>> a=ones(5,7)

a =

1 1 1 1 1 1 1

1 1 1 1 1 1 1

1 1 1 1 1 1 1

1 1 1 1 1 1 1

1 1 1 1 1 1 1

(3) magic()

>> a=magic(5)

a =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

(4) repmat()

>> b(:,2)=repmat(4.1,1,5)

b =

1.0000 4.1000

5.0000 4.1000

1.0000 4.1000

1.0000 4.1000

1.0000 4.1000

(5) 矩阵翻转

fliplr(a) 左右对称

flipud(a) 上下对称

rot90(a) 逆时针90°旋转

>> a

a =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> fliplr(a)

ans =

15 8 1 24 17

16 14 7 5 23

22 20 13 6 4

3 21 19 12 10

9 2 25 18 11

>> flipud(a)

ans =

11 18 25 2 9

10 12 19 21 3

4 6 13 20 22

23 5 7 14 16

17 24 1 8 15

>> rot90(a)

ans =

15 16 22 3 9

8 14 20 21 2

1 7 13 19 25

24 5 6 12 18

17 23 4 10 11

(5) . 运算

>> a

a =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> a./2

ans =

8.5000 12.0000 0.5000 4.0000 7.5000

11.5000 2.5000 3.5000 7.0000 8.0000

2.0000 3.0000 6.5000 10.0000 11.0000

5.0000 6.0000 9.5000 10.5000 1.5000

5.5000 9.0000 12.5000 1.0000 4.5000

(6) 矩阵的左除与右除

X=A\B

等价于 AX=B

X=A/B

等价于 XA=B

(7) 矩阵查询函数

find(a>=5)

all(a>=5)

any(a>=5)

默认all any 均以列来反应结果

对于all 若全达到要求则为1

对于any 若一个达到要求则为1

>> a

a =

5 2 3

5 5 6

5 8 9

>> [i,j]=find(a>=5)

i =

1

2

3

2

3

2

3

j =

1

1

1

2

2

3

3

>> all(a>=5)

ans =

1 0 0

>> any(a>=5)

ans =

1 1 1

解析结果的化简

化简函数simple()

>> syms s;p = (s+3)^2*(s^2+3*s+2)*(s^3+12*s^2+48*s+64) %syms s 定义符号变量s

p =

(s + 3)^2*(s^2 + 3*s + 2)*(s^3 + 12*s^2 + 48*s + 64)

>> simple(p)

…………%省略化简过程

ans =

(s + 3)^2*(s + 4)^3*(s^2 + 3*s + 2)

返回化简过程:[a,m] a为表达式,m为化简方式

>> [a,m]=simple(p)

a =

(s + 3)^2*(s + 4)^3*(s^2 + 3*s + 2)

m =

simplify

用多项式展开法化简P

>> expand(p)

ans =

s^7 + 21*s^6 + 185*s^5 + 883*s^4 + 2454*s^3 + 3944*s^2 + 3360*s + 1152

用subs函数更换原变量生成新函数

>> syms a

>> f=subs(p,s,a)

f =

(a + 3)^2*(a^2 + 3*a + 2)*(a^3 + 12*a^2 + 48*a + 64)

使用latex函数将表达式转化成LaTeX格式:

>> latex(f)

ans =

{\left(a + 3\right)}^2\, \left(a^2 + 3\, a + 2\right)\, \left(a^3 + 12\, a^2 + 48\, a + 64\right)

{LaTeX为科技排版工具,百度了一下学习起来貌似有点复杂,以后有时间再看看瞧瞧}

posted on 2010-11-01 14:39  wing_pan  阅读(271)  评论(0编辑  收藏  举报

导航