临街小站

Matlab学习

matlab小序

MALAB译于矩阵实验室MATrix LABoratory是用来提供通往LINPACK 和 EISPACK 矩阵软件包接口的,后来,它渐渐发展成了通用科技计算图视交互系统和程序语言。

MATLAB 的基本数据单位是矩阵 它的指令表达与数学 工程中常用的习惯形式十分相似 比如 矩阵方程 Ax=b 在 MATLAB 中被写成 A*x=b 而若要通过 A,b 求 x 那么只要写 x=A\b 即可。完全不需要对矩阵的乘法和求逆进行编程因此 用MATLAB 解算问题要比用C Fortran 等语言简捷得多。

MATLAB发展到现在已经成为一个系列产品 MATLAB 主包 和各种可选的toolbox工具包主包中有数百个核心内部函数 迄今所有的三十几个工具包又可分为两类功能性工具包和学科性工具包 功能性工具包主要用来扩充 MATLAB 的符号计算功能图视建模仿真功能 文字处理功能以及硬件实时交互功能 这种功能性工具包用于多种学科而学科性工具包是专业性比较强的如控制工具包 Control Toolbox 信号处理工具包(Signal Processing Toolbox)通信工具包(Communication Toolbox)等都属此类。

表达式

MATLAB采用表达式语句,用户输入语句由MATLAB系统实时运行。

MATLAB语句有两种常见的形式

  1. 表达式

  2. 变量=表达式

实时显示

1
2
3
4
5
6
2001/81
ans = 24.7037

s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8;
s
s = 0.6345

上面两个例子中结果显示的形式不同,第一个表达式无结尾,回车直接显示结果。结尾的分号作用是指令执行结果将不会显示在屏幕上但变量s仍将驻留在内存中。

who与永久变量

who和whos这两个指令的作用都是列出在MATLAB工作间中已经驻留的变量名清单。不过 whos在给出变量名的同时,还给出它们的维数及性质。

在MATLAB工作内存中,还驻留几个由系统本身在启动时定义的变量,如下表称为永久变量Permanent variables 或称为预定义变量Predefined variables.

  1. 在 MATLAB 启动时自定义的

  2. 不会被清除内存变量指令clear所清除

  3. 可以重新定义为其他值,但用clear可清除重定义值恢复预定义值

1
2
3
4
5
6
a=Inf/inf
a =NaN

x=2*pi/3+2^3/5-0.3e-3
x =
3.6941

矩阵与复数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
A=[1,3;2,4]-i*[5,8;6,9]
B=[1+5*i,2+6*i;3+8*i,4+9*i]
C=A*B

A =
1.0000 - 5.0000i 3.0000 - 8.0000i
2.0000 - 6.0000i 4.0000 - 9.0000i
B =
1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 8.0000i 4.0000 + 9.0000i
C =
1.0e+002 *
0.9900 1.1600 - 0.0900i
1.1600 + 0.0900i 1.3700

上式中,C为矩阵A和矩阵B相乘的结果。

函数

MATLAB的函数本质上讲分为三类:

  1. 内部函数

  2. 系统附带各种工具包中的.m文件所提供的大量函数

  3. 用户自己增加的函数

通用函数

matlab提供的基本数学函数

  • 特殊函数

  • 基本矩阵函数

  • 特殊矩阵函数

  • 矩阵分解和分析函数

  • 数据分析函数

  • 微分方程求解

  • 多项式函数

  • 非线性方程及其优化函数

  • 数值积分函数

  • 信号处理函数

1
2
3
4
5
6
7
z=1233.344
x=sqrt(log(z))

z =
1.233344000000000e+003
x =
2.66786140168028

显示格式

matlab中,所有变量默认使用double双精度8byte类型保存。复数形式变量使用两个双精度长度表示。

在结果显示中,虽然默认使用的是format short格式,即只显示short长度的结果,但是运算结果的保存都是双精度。可以通过format命令改变结果显示形式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
>> x=[4/3 1.2345e-6];
>> x

x =

1.3333 0.0000

>> format short e
>> x

x =

1.3333e+00 1.2345e-06

>> format long
>> x

x =

1.333333333333333 0.000001234500000

>> format long e
>> x

x =

1.333333333333333e+00 1.234500000000000e-06

>> format bank
>> x

x =

1.33 0.00

>> format hex
>> x

x =

3ff5555555555555 3eb4b6231abfd271
clinjie wechat
Think about u every day