You are on page 1of 48

MATLAB

() 158


MATLAB
MATLAB

MATLAB

MATLAB

MATLAB, Simulink, Symbolic Toolbox, Optimization Toolbox, Statistics Toolbox, Partial


Differential Equation Toolbox, Signal Processing Toolbox, Splines Toolbox, Fuzzy Logic
Toolbox, Neural Network Toolbox The MathWorks

MATLAB

( 100084)
http://www.tup.tsinghua.edu.cn


787 1092 1/16
645
2004 6 1 2004 6 1
ISBN 7-3020001

MathWorks MATLAB
MATLAB
MathematicaMaple
MATLAB MATLAB

MATLAB MATLAB
MATLAB
MATLAB
MATLAB

MATLAB

MATLAB
MATLAB
MATLAB
MATLAB

MATLAB

MATLAB

CAI
1988 MATLAB

MathWorks

II

MATLAB MATLAB
Rapid Data
MathWorks CtrlLAB

MATLAB
4 MATLAB
1996
MATLAB
MATLAB

IEEE
2002
MATLAB/Simulink
MATLAB 7.0 MATLAB Release 14
MATLAB
MATLAB 6.*
MATLAB 6.*

MATLAB

The MathWorks Noami Fernandez


Courtney Esposito
MATLAB

2004 3 30
emailxue_dy@21cn.com
MATLAB http://www.matlab-world.com
MATLAB http://matlab.netsh.net


1
1.1

1.2

1.3

1.4
1.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1

1.1.1

. . . . . . . . . . . . . . . . . . . . . . . .

1.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1.3

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.2

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
8

2 MATLAB
9
2.1 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2

2.3

2.4

2.1.1

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1.3

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.1.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.2.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.3.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ii

2.5

2.6

2.7
2.8

2.4.1

MATLAB . . . . . . . . . . . . . . . . . . . . . . . .

24

2.4.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.4.3

inline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.5.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

2.5.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

2.5.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

2.6.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

2.6.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3
46
3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.2

3.3

3.4

3.5

3.6
3.7

3.1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

3.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

3.1.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

. . . . . . . . . . . . . . . . . . . . . . 56
3.2.1

Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.2.2

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.3

61

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.3.2

MATLAB . . . . . . . . . . . . . . . . . . . . . . .

64

3.3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

3.4.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

3.4.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

3.4.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

. . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.5.1

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

3.5.2

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . .

78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

iii

4
84
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.2

4.3

4.4

4.5

4.6
4.7

4.1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

4.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

4.2.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

4.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . 107

4.3.2

Cholesky . . . . . . . . . . . . . . . . . . . . . . . . 108

4.3.3

Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4.3.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.4.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

4.4.2

Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . 122

4.4.3

Sylvester . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

4.4.4

Riccati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

. . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . 127

4.5.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5
141
5.1 Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.2

5.3

5.4

5.1.1

Laplace . . . . . . . . . . . . . . . . . . . . . . . . 141

5.1.2

Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.2.1

Fourier . . . . . . . . . . . . . . . . . . . . . . . . 146

5.2.2

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.2.3

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

5.2.4

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . 151

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.3.1

Mellin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.3.2

Hankel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.4.1

Z . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

iv
5.4.2

5.5

5.6
5.7

Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.5.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.5.3

Laplace . . . . . . . . . . . . . . . . . . . . . . . 164

5.5.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

6
170
6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

6.2

6.3

6.4

6.5
6.6

6.1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

6.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6.1.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6.2.2

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

6.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

6.2.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

. . . . . . . . . . . . . . . . . . . . . . . . . 186
6.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

6.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . 187

6.3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.3.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . 191

. . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.4.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

6.4.2

6.4.3

0-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

. . . . . . . . . . . . . . . . . . . . . . . . 196

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

7
203
7.1 . . . . . . . . . . . . . . . . . . . . . . . 203

7.2

7.1.1

. . . . . . . . . . . . . . . . . . . . . 203

7.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

7.1.3

Laplace . . . . . . . . . . . . . . . . . . . 206

7.1.4

. . . . . . . . . . . . . . . . . . . . . . . . . . 208

7.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

7.3

7.4

7.5

7.6

7.7
7.8

7.2.2

Runge-Kutta MATLAB . . . . . . . . . . . . . . . 211

7.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

7.2.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

7.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

7.3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

7.3.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
7.4.1

. . . . . . . . . . . . . . . . . . . . . . . . . . 235

7.4.2

7.4.3

. . . . . . . . . . . . . . . . . . . . . . . . . . 239

. . . . . . . . . . . . . . . . . . . . . . . . 237

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
7.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

7.5.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.5.3

. . . . . . . . . . . . . . . . . . . . . . . . 244

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
7.6.1

Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

7.6.2

Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

7.6.3

Simulink . . . . . . . . . . . . . . . . . . . . . . . . 252

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

8
260
8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

8.2

8.3

8.1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

8.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

8.1.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

8.1.4

. . . . . . . . . . . . . . . . . . . . . . . . . . 267

8.1.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
8.2.1

MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

8.2.2

. . . . . . . . . . . . . . . . . . . . . . . . 275

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.3.2

8.3.3


Pade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

8.3.4

. . . . . . . . . . . . . . . . . . . . . . . . . . 284

. . . . . . . . . . . . . . . 280

vi
8.3.5

8.4

8.5
8.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

. . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.4.1

8.4.2

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

8.4.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

9
299
9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

9.2

9.3

9.4

9.5

9.6
9.7

9.1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . 299

9.1.2

. . . . . . . . . . . . . . . . . . . . . . 300

9.1.3

9.1.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
9.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

9.2.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

9.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . 312

9.2.4

. . . . . . . . . . . . . . . . . . 312

. . . . . . . . . . . . . . . . . . . . . . . . . 314
9.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

9.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

9.3.3

. . . . . . . . . . . . . . . . . . 318

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
9.4.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . 322

9.4.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
9.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

9.5.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

9.5.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

10
337
10.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.1.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

10.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

vii

10.2 . . . . . . . . . . . . . . . . . . . . . . . 347
10.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

10.3 . . . . . . . . . . . . . . . . . . . . . . 357
10.3.1 MATLAB . . . . . . . . . . . . . . . . . . 359
10.3.2 . . . . . . . . . . . . . . . . . . . 360
10.3.3 . . . . . . . . . . . . . . . . . . . . . 368

10.4 . . . . . . . . . . . . . . . . . . . . . . . 369
10.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.4.2 . . . . . . . . . . . . . . . . . . . . . . . 374
10.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

10.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.5.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

10.5.2 MATLAB . . . . . . . . . . . . . . . . . . . . . 381

10.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

10.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
10.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

10.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
10.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
A Scilab
405
A.1 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
A.2 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
A.2.1 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . 405
A.2.2 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
A.2.3 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 407
A.2.4 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
A.2.5 Scilab MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

A.3 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408


A.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
A.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

A.4 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 410


A.5 Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
A.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
A.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
A.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
A.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

viii

A.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
A.5.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

A.5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

A.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
A.7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

417

10

384

10.6
3 MATLAB
dn y/dxn y x n n = 1/2
300 Guillaume Francois Antoine LHopital
Gattfried Wilhelm Leibnitz [47]
300

10.6.1
10.6.1.1

Cauchy Gr
unwald-Letnikov
Riemann-Liouville Capotu

Cauchy
Z
( + 1)
f ( )
D f (t) =
d
(10-6-1)
2pj
(

t)+1
C
C f (t)
Gr
unwald-Letnikov

a Dt f (t)

1
= lim
h0 h

[(ta)/h]

X
j=0

f (t jh)
(1)
j
j

j
Riemann-Liouville
Z t
1

(t )1 f ( )d
a Dt f (t) =
() a

(10-6-2)

(10-6-3)

0 < < 1 a a = 0
Dt f (t)Riemann-Liouville
D [14]
n 1 < n

Z t

i
dn
f ( )
dn h (n)
1

f (t) =
d
(10-6-4)
a Dt f (t) =
a Dt
dtn
(n ) dtn a (t )n+1

10.6

385

Caputo Caputo
Z t (m+1)
1
y
( )

y(t)
=
D
d
0 t
(1 ) 0 (t )

(10-6-5)

= m + , m 0 < 1Caputo
Z t
1
y( )

d, < 0
0 Dt =
() 0 (t )1+

(10-6-6)

[38] Gr
unwald-Letnikov
Riemann-Liouville Caputo Riemann-Liouville
( 0)
Caputo
Riemann-Liouville Cauchy

[37]
f (t) 0 Dt f (t) t
= n 0 Dt0 f (t) = f (t)
a, b

0 Dt [af (t)

+ bg(t)] = a 0 Dt f (t) + b 0 Dt g(t)

(10-6-7)


h
i
h
i
+

f (t)
0 Dt 0 Dt f (t) = 0 Dt 0 Dt f (t) = 0 Dt

(10-6-8)

10.6.1.2
Laplace
h
i
L Dt f (t) = s L [f (t)]

(10-6-9)

Laplace
h
L

0 Dt f (t)

= s L [f (t)]

n1
X
k=1

sk

k1
f (t)
0 Dt

t=0

(10-6-10)

f (t) L [0 Dt f (t)] = s L [f (t)]


f (t) Fourier
h
i
F Dt f (t) = (j) F [f (t)]
(10-6-11)

10

386

10.6.2
10.6.2.1 Fourier
Fourier Fourier
2L 3.2.2 Fourier
t [L, L] f (t)
a0 X
np
np
f (t) =
+
an cos t + bn sin t
2
L
L

(10-6-12)

Z
1 L
npt

dt, n = 0, 1, 2,
f (t) cos
an = L
L
L
Z

1 L
npt

f (t) sin
dt, n = 1, 2, 3,
bn =
L L
L

(10-6-13)

n=1

t (a, b) L = (b a)/2 t t = t+ L + a
f (t) (L, L) Fourier y = tLa
t fseries() Fourier Fourier
an , bn

i
i
dk h
kp
kp
dk h
k
k
sin
at
=
a
sin
at
+
cos
at
=
a
cos
at
+
,
(10-6-14)
2
2
dtk
dtk
Cauchy k
[43] Fourier f (t)
(10-6-14) f (t)

a Dt f (t) =

h
np p
np p i
X np
a0
t +
an cos
t+
+bn sin
t+
(1)
L
L
2
L
2

(10-6-15)

n=1

1 m + m 0 < < 1
f (t) m
||
Fourier 0 < < 1

function F=fdiffint(A,B,t,gam,a,b)
a0=A(1); A=A(2:end); n=length(B); L=(b-a)/2;
if gam>=0, F=0; else, F=a0*t^gam/gam; end
for i=1:n
an=i*pi/L; bn=gam*pi/2;

10.6

387

F=F+an^gam*(A(i)*cos(an*t+bn)+B(i)*sin(an*t+bn));
end
if a+b, F=subs(F,t,t-L-a); end
10-31 3-19 y = t(t p)(t 2p), t (0, 2p) Fourier

Fourier 10-43a
Fourier 12
>> syms t; f=t*(t-pi)*(t-2*pi); [A,B,F]=fseries(f,t,12,0,2*pi);
ezplot(f,[0,2*pi]); hold on; ezplot(F,[0,2*pi])

20

=0.75

15

10

=0.5
=0.25

10

=0.75

5
0
0
5

10

10
0

a) Fourier

15

0.5

1.5

2.5

b)

10-43 Fourier
Fourier 10-43b
>> F1=fdiffint(A,B,t,0.25,0,2*pi); ezplot(F1,[0,pi]); hold on
F1=fdiffint(A,B,t,0.5,0,2*pi); ezplot(F1,[0,pi]);
F1=fdiffint(A,B,t,0.75,0,2*pi); ezplot(F1,[0,pi]);
F1=fdiffint(A,B,t,-0.75,0,2*pi); ezplot(F1,[0,pi]);
10-44
>> tt=0:0.1:2*pi; aa=-1:0.2:1; T=[];
for r=aa
F1=fdiffint(A,B,t,r,0,2*pi); T=[T; double(subs(F1,t,tt))];
end
surf(tt,aa,T)
10-32 f (t) = et sin(3t + 1)t (0, p)
Fourier 10-45a

>> syms t; f=exp(-t)*sin(3*t+1); ezplot(f,[0,pi]); hold on


[A1,B1,F1]=fseries(f,t,10,0,pi); ezplot(F1,[0,pi]);

10

388

20
10
0
10
t

0.5

0.5

10-44
[A2,B2,F2]=fseries(f,t,15,0,pi); ezplot(F2,[0,pi]);
[A3,B3,F3]=fseries(f,t,20,0,pi); ezplot(F3,[0,pi]);
1
0.8

0.8

0.6

0.6
0.4

0.4

0.2

0.2

0.2

0.2

0.4

0.5

1.5

a) (0, p)

2.5

0.4

0.5

1.5

b) (0.5, p + 0.5)

2.5

10-45 Fourier
(0.5, p + 0.5)
(0, p) 10-45b

>> syms t; f=exp(-t)*sin(3*t+1); ezplot(f,[0,pi]); hold on


[A1,B1,F1]=fseries(f,t,10,-0.5,0.5+pi); ezplot(F1,[0,pi]);
[A2,B2,F2]=fseries(f,t,20,-0.5,0.5+pi); ezplot(F2,[0,pi]);
Fourier 10-46a
Fourier
>> F1=fdiffint(A2,B2,t,0.25,-0.5,pi+0.5); ezplot(F1,[0,pi]); hold on
F1=fdiffint(A2,B2,t,0.5,-0.5,pi+0.5); ezplot(F1,[0,pi])
F1=fdiffint(A2,B2,t,0.75,-0.5,pi+0.5); ezplot(F1,[0,pi])
60 Fourier 10-46a

>> [A1,B1,F1]=fseries(f,t,60,-0.5,0.5+pi);

10.6

0.5

0.5

0.5

0.5

0.5

1.5

2.5

0.5

389

a) 20

1.5

2.5

b) 60

10-46
F1=fdiffint(A1,B1,t,0.25,-0.5,pi+0.5); ezplot(F1,[0,pi]); hold on
F1=fdiffint(A1,B1,t,0.5,-0.5,pi+0.5); ezplot(F1,[0,pi])
F1=fdiffint(A1,B1,t,0.75,-0.5,pi+0.5); ezplot(F1,[0,pi])

Fourier Fourier

10.6.2.2 Gr
unwald-Letnikov
Gr
unwald-Letnikov
1
h0 h

[(ta)/h]

a Dt f (t) = lim

(1)j

j=0

f (t jh) '
j
h

[(ta)/h]

()

wj f (t jh)

(10-6-16)

j=0

=
(1 z)
j

+1
()
()
()
w0 = 1, wj = 1
wj1 , j = 1, 2,
(10-6-17)
j

()
wj

(1)j

h (10-6-16)
[38] o(h) Gr
unwald-Letnikov

function dy=glfdiff(y,t,gam)
h=t(2)-t(1); dy(1)=0; y=y(:); t=t(:);
w=1; for j=2:length(t), w(j)=w(j-1)*(1-(gam+1)/(j-1)); end
for i=2:length(t)
dy(i)=w(1:i)*[y(i:-1:1)]/h^gam;
end

10

390

y, t t gam
dy
10-33 10-32 f (t) = et sin(3t + 1)t (0, p)
T = 0.01 0.001 0.5
10-47a t 0
T = 0.01

2.5
2
1.5
1
0.5

6
5
4
3
2
1
0

0.5
1

1
0.5
0

0.5

1.5

2.5

a)

b)

10-47
>> t=0:0.001:pi; y=exp(-t).*sin(3*t+1); dy=glfdiff(y,t,0.5); plot(t,dy);
t=0:0.01:pi; y=exp(-t).*sin(3*t+1); dy=glfdiff(y,t,0.5); line(t,dy)
10-47b
>> Z=[]; t=0:0.001:pi; y=exp(-t).*sin(3*t+1);
for gam=0:0.1:1, Z=[Z; glfdiff(y,t,gam)]; end
surf(0:0.01:pi,0:0.1:1,Z); axis([0,pi,0,1,-1.2,6])
10-34 f (t) = sin(3t + 1) 0.75
Cauchy
(10-6-14)
0.75

0.75p
0.75
0.75
f (t) = 3
sin 3t+1+
Gr
unwald-Letnikov glfdiff()
0 Dt
2
10-48
>> t=0:0.01:pi; y=sin(3*t+1); y1=3^0.75*sin(3*t+1+0.75*pi/2);
y2=glfdiff(y,t,0.75); plot(t,y1,t,y2)
Cauchy t = 0

t 0 y y = 0 t = 0+ y 0 sin 1
Gr
unwald-Letnikov
Cauchy t 0
y(t) = sin(3t + 1) t = 0+ Cauchy

10.6

391

6
5
4
3
2
1
0
1
2
3

0.5

1.5

2.5

10-48

10.6.2.3 Fourier
Fourier f (t) Fourier
Z
Z
1
jt
F () =
f (t)e
dt, f (t) =
F ()ejt d
(10-6-18)
2p

jt
D f (t) = D
F ()e d
Z 2p
Z

1
1
F ()D ejt d =
(j) F ()ejt d
=
2p
2p

(10-6-19)

(j) F () Fourier
f (k) Fourier
F () =

f (k)ejk

(10-6-20)

k=

1 X
D f (k) =
(j) F ()ejk
2p

(10-6-21)

k=

10.6.2.4
f (t)

Laplace s
Fourier (j)

10

392

[37] Oustaloup
(b , h )

[35]

Gf (s) = K

N
Y
s + k0
s + k

(10-6-22)

k=N

k0 = b

h
b

k+N + 12 (1)
k+N + 12 (1+)
Y
N
2N +1
2N +1
h
h 2
k
, k = b
, K=
b
b
k0

(10-6-23)

k=N

y(t)
Dt y(t)
function G=ousta_fod(r,N,w_L,w_H)
mu=w_H/w_L; k=-N:N;
w_kp=(mu).^((k+N+0.5-0.5*r)/(2*N+1) )*w_L;
w_k=(mu).^((k+N+0.5+0.5*r)/(2*N+1) )*w_L;
K=(mu)^(-r/2)*prod(w_k)/prod(w_kp);
G=tf(zpk(-w_kp,-w_k,K));

r 2N + 1 w L w H
b h

10-35 b = 0.01, h = 100 rad/sec f (t) = et sin(3t + 1)


0.5

>> G=ousta_fod(0.5,2,0.01,100), bode(G)
Transfer function:
10 s^5 + 298.5 s^4 + 1218 s^3 + 768.5 s^2 + 74.97 s + 1
------------------------------------------------------s^5 + 74.97 s^4 + 768.5 s^3 + 1218 s^2 + 298.5 s + 10
>> t=0:0.001:pi; y=exp(-t).*sin(3*t+1);
y1=lsim(G,y,t); y2=glfdiff(y,t,0.5); plot(t,y1,t,y2)

(104 , 104 ) 10-50


N = 2 N N = 4
>> G=ousta_fod(0.5,2,1e-4,1e4); G1=ousta_fod(0.5,3,1e-4,1e4);
G2=ousta_fod(0.5,4,1e-4,1e4); G3=ousta_fod(0.5,5,1e-4,1e4);
bode(G,-,G1,--,G2,:,G3,-.)

10.6

Bode Diagram

Magnitude (dB)

20

393

10

0
10

Phase (deg)

20
60

1
30

0
3
10

10

10

10

10

10

0.5

10

a)

1.5

2.5

b)

10-49
Bode Diagram

Magnitude (dB)

50

Phase (deg)

50
60

30

0
5
10

10

10

Frequency (rad/sec)

10-50

FIR
[43] IIR [4] filt()
Ivo Petras FIR
function H=dfod2(n,T,r)
if r>0
bc=cumprod([1,1-((r+1)./[1:n])]); H=filt(bc,[T^r],T);
elseif r<0
bc=cumprod([1,1-((-r+1)./[1:n])]); H=filt([T^(-r)],bc,T);
end

n T r
H H r
filter()
10-36 FIR 10-35

MathWorks http://www.matlabcentral.com

10

394

Bode 10-51a
n = 100 n = 50 Oustaloup
10-51b

>> t=0:0.001:pi; y=exp(-t).*sin(3*t+1); y3=glfdiff(y,t,0.5);


G1=dfod2(50,0.001,0.5); G2=dfod2(100,0.001,0.5); bode(G1,G2)
y1=filter(G1.num{1},G1.den{1},y); y2=filter(G2.num{1},G2.den{1},y);
figure; plot(t,y1,t,y2,t,y3)

Magnitude (dB)

Bode Diagram

30

20

n=50
10

n=100

Phase (deg)

0
60

n=50
n=100

n=100
n=50

30

0
1

10

10

10

0.5

10

a)

1.5

2.5

b)

10-51 (n, a)

FIR IIR
Laplace s

s = w z 1
[4] Simpson
a H(z) = aHS (z)+(1a)HT (s)a
[0, 1] IIR

G z

k0

1 z 2

(1 + bz 1 )2

(10-6-24)

3 + a 2 3a
6b
b =
k0 =
(0, 1)T
3a
T (3 a)
[4]

function H=iir_frac(r0,a,n,T)
syms x r b; aas=((1-x^2)/(1+b*x)^2)^r; n2=2*n; b0=(3+a-2*sqrt(3*a))/(3-a);
aas=char(subs(aas,{r,b},{r0,b0}));
maple(with(numtheory));

maple([cfe:=cfrac( aas ,x,n2)]);

10.6

395

p=collect(maple(nthnumer,cfe,n2),x); n=sym2poly(p);
q=collect(maple(nthdenom,cfe,n2),x); d=sym2poly(q);
H=tf(n(end:-1:1)*(6*b0/T/(3-a))^r0,d(end:-1:1),Variable,z^-1,Ts,T);

r0 a n T
H IIR

10-37 n, a s0.5
Bode
10-52a a = 0.5

>> H1=iir_frac(0.5,0,3,0.01); H2=iir_frac(0.5,0.5,3,0.01);


H3=iir_frac(0.5,0,4,0.01); H4=iir_frac(0.5,0,5,0.01);
bode(H1,-,H2,--,H3,:,H4,-.)

Hn,a z 1

Magnitude (dB)

113.1 56.57z 1 56.57z 2 + 14.14z 3


H3,0 z 1 =
8 + 4z 1 4z 2 z 3
30

20

10

Phase (deg)

45

1
0

0
45
1
10

10

10

10

a) (n, a)

0.5

1.5

2.5

b)

10-52 (n, a)
10-52b

>> t=0:0.01:pi; y=exp(-t).*sin(3*t+1); y0=glfdiff(y,t,0.5);


y1=filter(H1.num{1},H1.den{1},y); y2=filter(H2.num{1},H2.den{1},y);
y3=filter(H3.num{1},H3.den{1},y); y4=filter(H4.num{1},H4.den{1},y);
plot(t,y0,t,y1,:,t,y2,--,t,y3,:)

Maple cfrac() n 6
Pade Taylor

10

396

function H=iir_pade(r0,a,n,T)
syms x r b; aas=((1-x^2)/(1+b*x)^2)^r; b0=(3+a-2*sqrt(3*a))/(3-a);
aas=subs(aas,{r,b},{r0,b0}); c=taylor(aas,x,2*n);
c=sym2poly(c); c=c(end:-1:1); [n,d]=padefcn(c,n-1,n);
H=tf(n(end:-1:1)*(6*b0/T/(3-a))^r0,d(end:-1:1),Variable,z^-1,Ts,T);
10-38
Maple
Pade Bode 10-53a

>> H1=iir_pade(0.5,0,10,0.01); H2=iir_pade(0.5,0.75,10,0.01);


H2=minreal(H2); bode(H1,:,H2,--)
Magnitude (dB)

30

20
10

0
10

Phase (deg)

20
90

45
0

45
2
10

10

10

10

10

a) a Bode

0.5

1.5

2.5

b)

10-53 n = 10
10-53b a = 0
n = 10, a = 0.5
IIR FIR

>> t=0:0.01:pi; y=exp(-t).*sin(3*t+1); y0=glfdiff(y,t,0.5);


y2=filter(H2.num{1},H2.den{1},y); plot(t,y0,t,y2,:)

10.6.3
10.6.3.1
[38]

an Dtn y(t) + an1 Dt n1 y(t) + + a1 Dt1 y(t) + a0 Dt0 y(t) = u(t)

(10-6-25)

u(t)
n > n1 > > 1 > 0 > 0

10.6

397


i
z(t) = Dt0 y(t) z(t)
y(t) Laplace
G(s) =

1
Y (s)
=

n
n1
U (s)
an s + an1 s
+ + a1 s1 + a0 s0

(10-6-26)

G(s) [38]

(10-6-16) Gr
nwald-Letnikov

[(ta)/h]
[(ta)/h]
X
X
1
1
( )
( )
i
wj i ytjh = yt +
wj i ytjh
(10-6-27)
a Dt y(t) ' i
i
h
h
j=0
j=1
(i )

w0

( )
w0 i

= 1,

( )
wj i

i + 1
1
j

( )

i
wj1
, j = 1, 2,

(10-6-25)

[(ta)/h]
n
X
X
1
a
( )
i
ut
yt = n
wj i ytjh
i
X ai
h
j=1
i=0
i=0

(10-6-28)

(10-6-29)

h i

MATLAB a n
t u
y
function y=glfode(u,t,a,n)
h=t(2)-t(1); D=sum(a./[h.^n]); W=[]; y=zeros(length(t),1); w=y;
for i=1:length(n)
w=1; for j=2:length(t), w(j)=w(j-1)*(1-(n(i)+1)/(j-1)); end
W=[W; w];
end
for i=2:length(t)
for j=1:length(n), A(j)=W(j,2:i)*[y(i-1:-1:1)]; end
y(i)=(u(i)-sum(A.*a./[h.^n]))/D;
end
10-39
Dt3.5 y(t) + 8Dt3.1 y(t) + 26Dt2.3 y(t) + 73Dt1.2 y(t) + 90Dt0.5 y(t) = 90 sin(t2 )

10

398

a n glfode()
10-54
h h
h = 0.001
>> a=[1,8,26,73,90]; n=[3.5,3.1,2.3,1.2,0.5];
t=0:0.002:10; u=90*sin(t.^2); y=glfode(u,t,a,n);
subplot(211), plot(t,y); subplot(212), plot(t,u)
0.6
y(t)

0.4
0.2
0
100

100

u(t)

10

10-54

[38]
10.6.3.2

Oustaloup

h 10-55a
Oustaloup

Simulink [52] 10-55b


10-55c
Oustaloup

wb=ww(1); wh=ww(2); G=ousta_fod(gam,n,wb,wh);


num=G.num{1}; den=G.den{1}; T=1/wh; str=Fractional\n;
if isnumeric(gam)
if gam>0, str=[str, Der s^ num2str(gam) ];
else, str=[str, Int s^{ num2str(gam) }]; end

10.6

1
In1

num(s)

den(s)

T.s+1

Transfer Fcn

Transfer Fcn1

399

1
Out1

a)

Fractional
Der s^0.9

c10mfode

b)
c)

10-55

else, str=[str, Der s^gam]; end

ode15s ode23tb

10-40 10-39

10-39
z(t) = Dt0.5 y(t)
z(t) = sin(t2 )

1 3
D z(t) + 8Dt2.6 z(t) + 26Dt1.8 z(t) + 73Dt0.7 z(t)
90 t

10-56 Simulink
10-57

90*sin(u[1]^2)
Clock

1/90

Fcn

du/dt

du/dt

du/dt

Derivative

Derivative1

Derivative2
Fractional
Der s^0.6

Fractional
Int s^{0.5}

Gain4

c10mfode1.mdl

Gain
Fractional
Der s^0.8

26
Gain1

Fractional
Der s^0.7

73
Gain2

10-56 Simulink

1
Out1

10

400
0.8
0.6
0.4
0.2
0
0.2

10

10-57
10-41

1.5 4
3D 0.9 y(t)
+ 2D 0.7 y(t) + y(t) = 5 sin(10t)
0.2
+ 0.9D y(t)
3

0.2D 0.8 y(t)

3+

y(t)

0.7
1.5
3
3D 0.9 y(t)

y(t) =
2D y(t)
5 sin(10t)
4
3 + 0.2D 0.8 y(t) + 0.9D 0.2 y(t)
y(t) 10-58a

1
Out1
y(t)

0.5
Sine Wave

Fractional
Der s^0.9

0.75

Gain4
Product

Gain3

0
0.5

Constant
Fractional
Der s^0.8

c10mfod2.mdl

0.2

Gain
Fractional
Der s^0.2

1.5
0.9
Gain1

Fractional
Der s^0.7

2
Gain2

2
abs(u)^1.5
Fcn

a) Simulink

2.5

0.5

1.5

2.5

3.5

b)

10-58 Simulink

10-58b
b = 0.001, h = 1000, n = 2
n = 4

10.7

401

10.7
MATLAB

MATLAB

10-1

MATLAB

10-1

MATLAB

10-1

setxor()

MATLAB

10-1

unique()

MATLAB

10-1

ismember()

MATLAB

10-1

339

union()
setdiff()
intersect()

gbellmf()

340

gaussmf()

Gauss

341

mfedit()

10-5

sigmf()

Sigmoid

342

newfis()

343

addvar()

344

fuzzy()

344

addrule()

346

evalfis()

347

newff()

349

350

train()

350

351

351

nntool()

10-21

gaopt()

364

GAOT

360

360

plotperf()
sim()

ga()

gaoptimset() gatool()

cwt()

371

dwt()

372

idwt()

372

wavemngr()

373

wavefun()

373

wavedec()

375

10

402

appcoef()

detcoef()

375

wrcoef()

375

wavemenu()

377

rslower()

rsupper()

380

core()

381

redu()

383

fdiffint()

Fourier

386

glfdiff()

Gr
unwald-Letnikov

389

ousta fod()

Oustaloup

392

393

rsdav3()

dfod2()

Ivo Petr
as FIR

irr frac()

IIR

394

irr pade()

Pad
e IIR

395

gflode()

Gr
unwald-Letnikov

397

10-55

c10mfode.mdl

MATLAB
MATLAB
MATLAB
MATLAB

MATLAB
gaopt()

MATLAB 7.0


Fourier
MATLAB

20
MATLAB

MATLAB

10.8

403

10.8
1 [24] 15% (
) ()

2 (xi , yi ) x (1, 10)

xi

10

yi

244.0

221.0

208.0

208.0

211.5

216.0

219.0

221.0

221.5

220.0

3 (x, y) (0.1, 0.1) (1.1, 1.1)

yi

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.1

0.1 0.83041 0.82727 0.82406 0.82098 0.81824

0.8161

0.81481 0.81463 0.81579 0.81853 0.82304

0.2 0.83172 0.83249 0.83584 0.84201 0.85125 0.86376 0.87975 0.89935 0.92263 0.94959

0.9801

0.3 0.83587 0.84345 0.85631 0.87466 0.89867

0.9284

0.96377

1.0045

1.0502

1.1

1.1529

0.4 0.84286 0.86013 0.88537 0.91865 0.95985

1.0086

1.0642

1.1253

1.1904

1.257

1.3222

0.5 0.85268 0.88251 0.92286 0.97346

1.0336

1.1019

1.1764

1.254

1.3308

1.4017

1.4605

0.6 0.86532 0.91049 0.96847

1.0383

1.118

1.2046

1.2937

1.3793

1.4539

1.5086

1.5335

0.7 0.88078 0.94396

1.0217

1.1118

1.2102

1.311

1.4063

1.4859

1.5377

1.5484

1.5052

0.8 0.89904 0.98276

1.082

1.1922

1.3061

1.4138

1.5021

1.5555

1.5573

1.4915

1.346

0.9 0.92006

1.0266

1.1482

1.2768

1.4005

1.5034

1.5661

1.5678

1.4889

1.3156

1.0454

0.94381

1.0752

1.2191

1.3624

1.4866

1.5684

1.5821

1.5032

1.315

1.0155

0.62477

1.1 0.97023

1.1279

1.2929

1.4448

1.5564

1.5964

1.5341

1.3473

1.0321

0.61268 0.14763

4 De Jong [5]
J = min xT x = min(x21 + x22 + + x220 )
x

512 xi 512, i = 1, 2, , 20
fminunc()
x1 = x2 = = x20 = 0
5 >> t=0:0.01:50; y=exp(-3*t).*sin(3*t);
r=rand(size(y)); y1=y+r
8
6

10

404

max

0.003079x31 x32 x5 cos3 x6 0

0.1017x33 x34 x25 cos3 x6 0

2
3 2

0.09939(1+x5 )x1 x2 cos x6 0


x s.t.

1
31.5
x1 x2 (1 + x5 ) + x3 x4 1 +
2 cos x6
x5

0.1076(31.5+x5 )x33 x24 x25 cos2 x6 0

x3 x4 (x5 +31.5)x5 [2(x1 +5) cos x6 +x1 x2 x5 ]0

0.2x1 0.5,14<x2 22,0.35x3 0.6,

16x4 22,5.8x5 6.5,0.14x6 0.2618

7 60 14 c10rsdat.txt
13
13
8 f (t) = e3t sin(t + p/3) + t2 + 3t + 2 0.2
0.7
9

10 10.6.2.4 IIR Bode

11 [38]
0.8Dt2.2 y(t) + 0.5Dt0.9 y(t) + y(t) = 1, y(0) = y 0 (0) = y 00 (0) = 0
2.2 20.9 1

12 10-59 Simulink
y(t)

5*sin(u[1]^2+5)
Clock

Fractional
Der s^0.6

Fcn

Fractional
Int s^{0.2}

u[1]^2*sin(abs(u[2]))+u[3]*3
Fcn1

Fractional
Der s^0.8

c10mfode4.mdl

Fractional
Der s^0.2

10-59 Simulink

1
Out1

Scilab

MATLAB
MATLAB
MATLAB
MATLAB Scilab
Scilab
Scilab [17]
A.1 Scilab A.2
Scilab MATLAB MATLAB

A.3 Scilab A.4


Scicos A.5 Scilab
Scilab

A.1 Scilab
Scilab INRIA MATLAB
1989
Scilab Scicos Simulink

MATLAB

MATLAB Scilab
Scilab 2.7.2
http://www-rocq.inria.fr/scilab http://liama.ia.ac.cn/Scilab

A.2 Scilab
A.2.1 Scilab
Scilab MATLAB Scilab %

p %pi 1 %i MATLAB 2.4*%i


2.4i 2*%i 2.iScilab % //
Scilab MATLAB

Scilab

406

int32()int8() 150
int8() MATLAB int8(150) 127
int8(150) Scilab 106 150 2 128
Scilab MATLAB
[A,BC,EDF;aaa,abcd,s]
MATLAB
Scilab MATLAB Scilab
size() length() A(:)

Scilab (list) MATLAB


A=list(5,[1 2 ; 3 4],abc) list()
A 2 A(2)
MATLAB A 3
A(3)=list([1 2; 3 4; 5 6],sbc) A(3)(1)(3,2)
A 3 1 (3,2) 6
Scilab
p=poly(A,s) A
q=poly(B,s,c) B
--> p=poly([1 2 3],s)
p

// 1,2,3

=
2

- 6 + 11s - 6s + s
--> q=poly([1 2 3 4 5 6],s,c)
q

//

=
2

1 + 2s + 3s + 4s + 5s + 6s

--> Scilab MATLAB >>


MATLAB
Q=p*q P =p+q

s=poly(0,s) s = 0 s
q
>> s=poly(0,s); q=1+2*s+ 3*s^2+ 4*s^3+ 5*s^4+ 6*s^5;

A.2.2 Scilab
MATLAB Scilab MATLAB

A.2 Scilab

407

-->A=[1 2 3; 2+4*%i 5 6; 7 8 0+6*%i]


A

1.

2.

3.

!
!

2. + 4.i

5.

6.

7.

8.

6.i !

Scilab
inv(A)
-->A*inv(A)
ans

//

1. + 1.110E-16i

1.388E-17 - 2.776E-17i

- 5.551E-17 - 1.388E-17i !

2.220E-16

1. - 1.110E-16i

- 5.551E-17 + 8.327E-17i !

2.220E-16i

1.110E-16 + 2.776E-17i

1. - 1.110E-16i

A.2.3 Scilab

MATLAB Scilab for while

for i=v

while ()

end

while () do then

end

else

end


if ( 1) then
1
elseif ( 2) then
2
.
.
.
else
n + 1

select
case 1 then 1
case 2 then 2
.
.
.
else
n + 1
end

end
while, if, case then
MATLAB

Scilab

408

A.2.4 Scilab
Scilab function MATLAB
endfunction Scilab
sci Scilab exec()

File Exec sci Scilab


Scilab
sci bin
Scilab
Scilab *.sci
deff()
deff(,)
7-7 lorenzeq() Scilab
deff(dx=lorenzeq(t,x),[dx=[-8*x(1)/3+x(2)*x(3);,... //
-10*x(2)+10*x(3); -x(1)*x(2)+28*x(2)-x(3)];])

deff() clear clear

A.2.5 Scilab MATLAB


MATLAB Scilab mfile2sci
Scilab MATLAB

mfile2sci(MATLAB )
MATLAB mtlb load Scilab

mtlb load
ASCII mtlb load -ascii
Scilab MATLAB
mtlb save
mtlb save
a b c

A.3 Scilab
Scilab
Scilab File
Zoom, UnZoom Rot3D

A.3 Scilab

409

MATLAB Scilab subplot()

A.3.1
Scilab MATLAB plot2d() MATLAB
plot()
plot2d(t,y,)
t, y x y xMATLAB
plot(x,y) Scilab x
Scilab plot()
help plot2d
logflag logflag=ln logflag=nl
n l
Scilab
MATLAB hold on xbasc(
) sbasc() xset()
MATLAB set()
plot2d2() MATLAB stairs() plot2d3()
MATLAB stem()

A.3.2
param3d() MATLAB
plot3() plot3()
plot3d(), plot3d1(), plot3d2()
plot3d3() plot3d(x,y,z)

A-1 Scilab MATLAB 2-30

--> x=-3:.1:3; y=-2:.1:2;

// x,y

deff([z]=f(x,y),...
[z1=0.5457*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);,...
z2=0.7575*exp(-y.^2-6*x.^2).*((x+y>-1) & (x+y<=1));,...
z3=0.5457*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);,...
z=z1+z2+z3;]);

//

z=eval3d(f,x,y); plot3d(x,y,z);

//

Scilab

410

A.4 Scilab
Scilab Scicos (Scilab Connected
Object Simulator) Scicos Scilab scicos()
A-1

A-1 Scicos

Edit Pallette A-2a


Simulink
A-2b Scicos
Simulation

a)

b)

A-2 Scicos

A.5 Scilab
MATLAB
MATLAB Maple Maple

A.5 Scilab

411

Scilab
sci2map() maple2sic() Fortran

Scilab

A.5.1

Scilab diff() y=diff(x,n) x n

f (x) y=numdiff(fun,x)
J =derivative(fun,x0 ) Jacobi J

f (x) v=intg(a,b,fun) (a, b) fun
deff() integrate()
v=integrate(fun,x,a,b) fun
(0, p)
integrate(if x==0 then 1,else sin(x)/x,end,x,0,%pi)
v=intsplin(x,y)
(a, b)
x
int2d() int3d()

A.5.2

MATLAB Scilab
d=det(A), t=trace(A), d=cond(A), r=rank(A) A
MATLAB d=norm(A,)
MATLAB MATLAB
v=spec(A) MATLAB eig()


LU Cholesky QR
MATLAB lu()chol()svd()qr() orth()


A B=inv(A)

Scilab

412

Moore-Penrose B=pinv(A) AX = B
XA = C X=A\B X=B/A
MATLAB
Lyapunov lyap() MATLAB
lyap() dlyap()
Lyapunov AT X + XA = C X=lyap(A,C,c)
Lyapunov AT XA X = C X=lyap(A,C,d)
Sylvester MATLAB lyap() Scilab
sylv() Sylvester
Sylvester AX + XB = C X=sylv(A,B,C,c)
Sylvester AXB X = C X=sylv(A,B,C,d)
Riccati ricc() MATLAB
are() dare() Riccati Scilab
Riccati AT X + XA XBX + C = 0 X=ricc(A,B,C,c)
Riccati X = AT XA AT XB(D + B T XB)1 B T XA + C
F =G*inv(D)*G X=ricc(A,F ,C,d)

A.5.3
Scilab
Scilab
pfss()G1 =pfss(G)
A-2 G = (s + 5)/(s2 + 4s + 3) G = (s + 5)/(s2 + 4s + 4)
Scilab
--> s=poly(0,s);
G1=(s+5)/(s^2+4*s+3); G=pfss(G1)
G

G(1)

G(2)

- 1

-----

-----

1 + s

3 + s

G(1)
5 + s
-----------2
4 + 4s + s

A.5 Scilab

413

A.5.4
Scilab MATLAB

Scilab


Scilab optim()
[f ,xopt ]=optim(obj f,const f,x0 ) obj f() const f()
deff() Scilab const f
MATLAB const f()
x0
xopt f

linpro() xopt =linpro(f ,A,B,xm ,xM ,ne ,x0 )
MATLAB linprog()
A B Ax B ne

quapro() xopt =quapro(H,f ,A,B,xm ,xM ,ne ,x0 )

A.5.5

Scilab ode()
MATLAB ode45(), ode15s()
x=ode(x0 , t0 , t, fun)x0 t0
t

xfun Scilab deff()


odeoptions()

A-3 7-7 Lorenz x0 =[0;0;1e-10]


t=[0:.1:30] Scilab lorenzeq()

--> deff(dx=lorenzeq(t,x),[dx=[-8*x(1)/3+x(2)*x(3);,...
-10*x(2)+10*x(3); -x(1)*x(2)+28*x(2)-x(3)];]);
x0=[0;0;1e-10]; t=0:.05:30;

//

Scilab

414

x=ode(x0,0,t,lorenzeq);

plot2d([t t t],x)

--> param3d(x(1,:),x(2,:),x(3,:)) //
A-3ab
t
t ode()
MATLAB

a)

b)

A-3 Lorenz Scilab


Scilab M (t, x)x(t)

= f (t, x) dassl()
x=dassl(x0 ,t0 ,t,fun,Mfun) fun Mfun
dasrt() impl()

Scilab bvode()

A.5.6

y=interpln(X,x) X = [x0 , y0 ]T x0
y0 x y

interp() y=interp(x,x0 ,y0 ,d) x0 , y0
x d splin() d=splin(x0 ,y0 )
y

x0 , y0 Y =smooth(X)
X = [x0 , y0 ] Y

A.6

415

MATLAB lsqcurvefit()
fun() [f ,xopt ]=leastsq(fun,x0 )

A.5.7
Scilab MATLAB
MATLAB

v=rand(n,m,uniform) n m (0, 1)
V v=rand(n,m,normal) n m N (0, 1)
V

MATLAB x =mean(x)
s=var(x) s=stdev(x) V =mvvacov(X)
X correl()
m=moment(x,n) x n m=cmoment(x,n)
x n

A.6
MATLAB
Scilab

MATLAB/Maple
Scilab
Scilab MATLAB

A.7

1 Scilab y(x) = sin(1/t) t [p, p]


2
eA eB

7.5 3.5 0
0
5 7
8

7 10
33
4.1
0
, B =
A=
0
6 8
9 103 1.5
0
0
3.7 19.3
5 7

6
8
10
9

5
7

9
10

416

Scilab

3 Sylvester


1 2 3
2 3 6
1
4 5 6 X + X 3 5 2 = 3
7 8 0
3 2 2
5

3
4
2

2
1
1


21 19 20
1
y = 19 21 20 y, y0 = 0
40 40 40
1
5
h
min

2
2
2

x
+x

1
2 +x3 25=0

x s.t.
8x1 +14x2 +7x3 56=0

x1 ,x2 ,x3 0

1000 x21 2x22 x23 x1 x2 x1 x3


[1] Atherton D P, Xue, D. The analysis of feedback systems with piecewise linear
nonlinearities when subjected to Gaussian inputs. In: Kozin F, Ono T (eds.). Control
systems, topics on theory and application, pp23-38. Tokyo: Mita Press, 1991
[2] Bosley M J, Kropheller H W, and Lees F P. On the relation between the continued
fraction expansion and moments matching methods of model reduction. International
Journal of Control, 18:461-474, 1973
[3] . . 1979
[4] Chen Y Q, Vinagre B M. A new IIR-type digital fractional order differentiator. Signal
Processing, 83:2359-2365, 2003
[5] Chipperfield A, Fleming P, et al. Genetic algorithm toolbox users guide. Department
of Automatic Control and Systems Engineering, University of Sheffield, 1994
[6] Conover W J. Practical nonparametric statistics. New York: Wiley, 1980
[7] Dongarra J J, Bunsh J R, Molor C B. LINPACK users guide. Philadelphia: Society
of Industrial and Applied Mathematics (SIAM), 1979
[8] Forsythe G E, Malcolm M A, Moler C B. Computer methods for mathematical
computations. Englewood Cliffs: Prentice-Hall, 1977
[9] Frank G. The Maple Book, Chapman & Hall/CRC, 2001
[10] Garbow B S, Boyle J M, Dongarra J J, Moler C B. Matrix eigensystem routines
EISPACK guide extension, Lecture notes in computer sciences. Vol. 51, New York:
Springer-Verlag, 1977
[11] Gongzalez R C, Woods R E. Digital image processing (2nd ed). Englewood Cliffs:
Prentice-Hall, 2002, .
[12] Hagan M T, Demuth H B and Beale M H. Neural network design. PWS Publishing
Company, 19952002
[13] . . 1999
[14] Hilfer R. Applications of fractional calculus in physics. Singapore:World Scientific,
2000
[15] Houck C R, Joines J A, Kay M G. A genetic algorithm for function optimization: a
MATLAB implementation. GAOT 1995

418

[16] Holmstrom K, Goran A and Edvall M M. Users guide for TomLAB 4.1.0
2000
[17] . SCILAB .
2003
[18] . . 1998
[19] . . 1984
[20] Knuth D E. The TEXbook: Volumn A of computers and typesetting. Reading MA:
Addison-Wesley Publishing Company, 1986
[21] Lamport L. LATEX: a document preparation system users guide and reference
manual. Reading MA: Addision-Wesley Publishing Company, 2nd edition, 1994
[22] . . 1978
[23] . . 1999
[24] MathWorks. Fuzzy logic toolbox users manual, 2004
[25] MathWorks. Genetic algorithm and direct search toolbox users manual, 2004
[26] MathWorks. Signal processing toolbox users manual, 2004
[27] MathWorks. Using MATLAB (MATLAB ), 2004
[28] MathWorks. Simulink users manual. 2004
[29] Moler C B. MATLABAn Interactive Matrix Laboratory. Technical Report 369,
Department of Mathematics and Statistics, University of New Mexico, 1980.
[30] Molor C B. Numerical Computing with MATLAB. MathWorks Inc, 2004
[31] Moler C B, Stewar G W. An algorithm for generalized matrix eigenvalue problems.
SIAM Journal of Numerical Analysis. 10:241-256, 1973
[32] Moler C B, Van Loan C F. Nineteen dubious ways to compute the exponential of a
matrix. SIAM Review, 20: 801-836, 1979
[33] Nelder J A, Mead R. A simplex method for function minimization. Computer Journal,
7: 308-313, 1965
[34] Numerical Algorithm Group. NAG FORTRAN library manual. 1982
[35] Oustaloup A, Levron F, Mathieu B, Nanot F M. Frequency-band complex noninteger
differentiator: characterization and synthesis. IEEE Transaction on Circuit and
Systems-I: Fundamental Theory and Applications, 47(1):25-39, 2000
[36] Pawlak Z. Rough sets theoretical aspects of reasoning about data. Boston: Kluwer
Academic Pub., 1991

419

[37] Petras I, Podlubny I, OLeary P et al. Analogue realization of fractional order


controllers. Fakulta BERG, TU Kosice, 2002
[38] Podlubny I. Fractional differential equations. San Diago: Academic Press, 1999
[39] Press W H, Flannery B P, Teukolsky S A, and Vitterling W T. Numerical recipes,
the art of scientific computing. Cambridge: Cambridge University Press, 1986
[40] . . 2000
[41] . . 1979
[42] Smith B T, Boyle J M, Dongarra J J et al. Matrix eigensystem routines EISPACK
guide, Lecture notes in computer sciences. Vol. 6 (Second edition). New York:
Springer-Verlag, 1976
[43] Tseng C-C, Pei S-C, Hsia S-C. Computation of fractional derivatives using Fourier
transform and digital FIR differentiator. Signal Processing, 80:151-159, 2000
[44] . . 1983
[45] .
.
1998
[46] . Rough set . 11:40-45, 1997
[47] Vinagre B M and Chen Y Q . Fractional calculus applications in automatic
control and robotics. 41st IEEE CDC, Tutorial workshop 2, Las Vegas, 2002.
[48] Wolfram S. The Mathematica book. Cambridge University Press, 1988
[49] . . 1979
[50] . ()1981
[51] Xue D. Model reduction approaches for control systems. 1994
[52] . MATLAB/Simulink .
2002
[53] Zadeh L A. Fuzzy sets. Information and Control, 8:338-353, 1965
[54] . . 2003
[55] . .
2004
[56] . .
1999
[57] . . 1980