当前位置:
文档之家› matlab入门教程(快速入门)
matlab入门教程(快速入门)
ans =
3.14159265358979
>>format long e;pi
ans =
3.141592653589793e+000
>>format long g;pi
ans =
2019年11月10日7时47分
3.14159265358979
8
Matlab语言还提供了复数的表达和运算功能。复数的基本 单位表示为i或j。例如:
>> s(2) ans = >> s(10) ans = u
字符串的每个字符(包括空格)都是字符数组的一个元素。 在matlab中,字符串与字符数组或矩阵基本上是等价的。
2019年11月10日7时47分
10
字符如串果之在间字的符转串换内函使数用:单引号时,可以用连续两个单引号表示。 d例ou如bl:e 字符串转换为数值代码 num2str 数字转换为字符串
{}
用于构成单元数组等
2019年11月10日7时47分
‘
字符串的标示符
20
下面对上表中各标点作进一步的介绍。 首先,用冒号来定义行向量。 基本格式:x=x1:step:x2(初始值:步长:尾元素数值限)
x=x1:x2 (默认步长为1) 注意:这里强调x2为尾元素数值限,而不是尾元素值。当x2-x1恰为
0 8 15 0 14 16 0 20 22 0 21 3 02 9
>>a1=all(a(:,1)<10)
a1 =
0
>>a2=all(a>3) a2 =
11000 >>a11=any(a(:,1)>10) a11 =
1 >>a22=any(a>10) a22 =
11011
2019年11月10日7时47分
MATLAB语言的基本要素
变量 Matlab语言主要是由几个基本要素构建而成
的变,量不其需中要包事括先变声量明,、也常不量需、要数指定值变、量字类符型串,、它会运自算动根据 所如符赋果予变及变 量标量 已点的 存等值 在。或 ,对 则变用量新的值操代作替来旧确值定,变以量新的的类类型 型; 代赋 替值 旧过 的程 类中 型, 。
strcat 链结串 strcmp 比较串
strvcat 垂直链结串
strncmp 比较串的前n个字符
findstr 在其他串中找此串
upper 转换串为大写
lower 转换串为小写
blanks 生成空串
deblank 移去串中空格… …
例 执如 行: 字把 符前 串面 的的 功字能符用串evsa转l来化实成现大。写。s=“it’ good”
19
标点
在matlab中一些标点符号也被赋以特殊的意义,或表 示要进行一定的运算等,如下表:
标点
定义
标点
定义
: 冒号,具有多种应用功能 … ; 区分行,及取消结果显示 % , ! 区分列,及函数参数分隔符等 ( ) 指定运算过程中的先后次序等 [ ]
续行符 注释标记 调用操作系统运算 矩阵定义的标志等
>>pi=1
pi =
1
>>clear pi >>pi
ans =
3.1416
2019年11月10日7时47分
7
数值
数值缺省为实数保留小数点后4位浮点数表示。其输入格式与C 语言一致:如:9 -73 0.1999 1.475e6
输出格式由format命令控制,只是影响屏幕显示效果,不影响内 部存储和计算。下面以pi为例。>>format long;pi
2019年11月10日7时47分
操作符 + * .* ^ .^ \ .\ / ./
定义 算术加 算术减 算术乘
点乘 算术乘方 点乘方 算术左除 点左除 算术右除 点右除
14
>> a=[1,2,3;4,5,6;7,8,9] a=
123 456 789 >> b=[1 2 3 456 7 8 9] b= 123 456 789
>>>>tu=p‘1p/(ear*(sb)-1)’;a=2;b=3;c=eval(t) % 可以在一行中表示。 c= an0s.=2000
IT'S GOOD
2019年11月10日7时47分
13
运算符
在matlab语言中运算符包 括算术运算符、关系运算符和 逻辑运算符。其中算术运算符 见右表:
其中点运算是指操作元素 点对点的运算,也就是说矩阵 内元素对元素之间的运算,点 运算要求参与运算的变量在结 构上必须是相似的。 例如:
15
Matlab语言的关系运算符如右表:
当判断一个矩阵是否为空矩阵时, 一般不用“==”,而应当使用函 数isempty。
操作符 == ~= > >= < <=
定义 等于 不等于 大于 大于等于 小于 小于等于
2019年11月10日7时47分
16
Matlab语言的逻辑运算符如右表:
进行逻辑判断时,所有非零 数值均被认为为真,而零为假; 在逻辑判断结果中,判断为真时 输出1,为假时输出0.
2019年11月10日7时47分
24
>> a=[1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5] a=
1234 5678 4321 8765 >> a(:,1:2)=[] a= 34 78 21 65 >> b=a([1 3],:) b= 34 21
2019年11月10日7时47分
步长的整数倍时,x2才能成为尾值。 例如:
2019年11月10日7时47分
21
>> a=1:2:12 a=
1 3 5 7 9 11
>> a=12:-2:1 a=
12 10 8 6 4 2
>> a=1:6 a=
123456
>> a=2:2:12 a=
246
8 10 12
2019年11月10日7时47分
11
>> a=[1:5] a=
12345
>> b=num2str(a) b=
1 2345 >> a*2 ans =
2 4 6 8 10 >> b*2
ans =
98 64 64 100 64 64 102 64 64 104 64 64 106
2019年11月10日7时47分
12
matlab对字符串的操作与C语言中的几乎完全相同:
变量的命名规则: 变量名区分大小写; 变量名长度不超过31位,第31位之后的字符被忽略; 变量名以字母开头,变量名中可以包含字母、数字、下划线,
但不能使用标点。
变量一般为局部变量,即仅在其调用的M文件内部有效;若要 定义全局变量,须在变量前加关键字global。
2019年11月10日7时47分
三种运算符中,它们的优先级关系 先后为:算术运算符、关系运算 符、逻辑运算符。
操作符 & | ~ xor
定义 逻辑与 逻辑或 逻辑非 逻辑异或
any 当向量中存在非 零元素时为真
all 当向量中所有元 素非零时为真
2019年11月10日7时47分
17
>>a=[1:3;4:6;7:9]; >>x=5; >>y=ones(3)*5; >>xa=x<=a
xa =
000 011 111
>>b=[0 1 0;1 0 1;0 0 1];
>>ab=a&b
ab =
010 101 001
>>nb=~b
nb =
101 010 110
2019年11月10日7时47分
18
>>a=magic(5); >>a(:,3)=zeros(5,1)
a=
17 24 23 5 46 10 12 11 18
22
其次,通过使用冒号,可以截取指定矩阵中的部分。例如:
>> a=[1:18];a=reshape(a,3,6) %重组矩阵 a=
1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 >> a1=a(:,1:3) %提取矩阵a的第1到3列元素组成的子矩阵。 a1 = 147 258 369 >> a2=a(1:2,3:end) a2 = 7 10 13 16 8 11 14 17
26
在matlab语言中,一行内在“%”之后的文字均被认为是对M 文件或程序代码的解释部分。
“!”可以在命令窗口直接调用操作系统命令,例如DOS命 令,并将结果展示在命令窗口中,比如在命令窗口中调用“!dir c”, 以显示C盘的文件列表。
单引号作为字符串的标示符而存在,同时,它在矩阵运算中 也表示矩阵的转置运算及复数的共轭值。
3.1416
%ans是默认的结果变量
2019年11月10日7时47分
5
>>1/0
Warning: Divide by zero.
ans = Inf
>>0/0
Warning: Divide by zero.
ans = NaN
2019年11月10日7时47分
6
定义变量时应避免与常量名相同,如果改变了某个常量的值, 可以用“clear+常量名”命令来恢复该常量的初始设定值。
如果是表达式,必须在虚部的数值与i、j之间使用乘号。