v5=9816.inf表示正无穷大17.NaN不定式表示非数值量,产生于0/0,无穷/无穷等运算18.若要永久性修改保存位置,可在matlab属性—快捷方式—起始位置处修改19.>>z=[122]'
z=
12220。元素全为1的矩阵>>ones(3)
ans=
111111111
>>ones(4,2)
1111111121.零矩阵>>zeros(3,2)
00000022.单位对角矩阵>>eye(4,3)
100010001000>>eye(4)
100001000010000123.冒号colon的迭代作用>>3:5
345
>>3:2:11
357911
>>3:2:10
3579>>[3:2:10]'
357924.引用数组中的某个元素a=
3579
>>a(3)
7引用矩阵中的某个元素>>b=[24518;73651]
b=
2451873651
>>b(2,3)
51引用矩阵某一列/行>>b(:,2)
536>>b(1,:)
24518引用矩阵某一列/行中的某几个元素(连续)>>c=[123;456;789;101112]
c=
123456789101112
>>c(2:4,2)注意:第二个2表示“第二列的元素”。2:4表示“从第二个到”都四个元素
5811引用矩阵某一列/行中的某几个元素(不连续)d=
12345678910111213141516>>d(4,1:2:4)注意:第一个4表示“第四行的元素”。1:2:4表示“从第1个元素开始,以2递增,不大于4的元素,也就是第一个和第三个”。
131525.用特殊方法定义矩阵一,用特殊的赋值语句>>E(3,2)=8
E=
000008二,拼接生成>>F=[E,E]
F=
000000000808
>>G=[E;E]
G=
000008000008
>>H=[1:2:6;246]
H=
13524626.size函数反应矩阵行和列的维数>>size(H)
23length函数反应行列维数中较大的值>>length(H)
327.子数组>>c=[123;456;789;101112]
>>c(3,[1,3])注意:[1,3]表示“第一个和第三个元素”
7928.子数组的赋值>>d
d=
1231345614789010111216
>>d(2,3)=0注意:此处将0赋值给了d矩阵的第2行第3列
1231345014789010111216
29.end的使用>>d
>>d(2,2:end)
561430.等差数列用linspace>>linspace(0,10,6)
0246810等比数列用logspace(但只能是10的次方数)>>logspace(1,2,5)注意:1表示“首项为10的1次方”。2表示“末项为10的2次方”。5表示:“共有五项”。
10.000017.782831.622856.2341100.0000>>logspace(1,3,3)注意:1表示“首项为10的1次方”。3表示“末项为10的3次方”。3表示:“共有3项”。
101001000
31.reshape函数将数列按照列的顺序排成矩阵>>E=3:2:19
35791113151719
>>reshape(E,3,3)
3915511177131932.系统预定义的变量(dateclockyearmonthnowtoday)>>date
23-Jul-2017
>>clock
1.0e+03*
2.01700.00700.02300.01400.04500.0010注意:表示2017年7月23日14点45分1秒>>year(now)
2017
>>month(now)
7
>>day(now)注意:只输入now本身并没有意义,将now与year,month,day联合使用
23
matlab的算数运算符一标量运算二矩阵运算三数组运算四运算优先级(最高的乘方运算是优先级)
33.power函数也能起乘方作用>>power(2,3)
834.matlab中的小括号,中括号,大括号,都是通过()的嵌套完成的35.魔方矩阵magic>>magic(3)注意:括号中的3表示3阶。生成的魔方矩阵行,列,斜对角各元素之和相等,即15.
816357492
>>magic(4)注意:括号中的4表示4阶。生成的魔方矩阵行,列,斜对角各元素之和相等,即34.
1623135111089761241415136.inv可以求逆矩阵,故a/b=a*(invb)37.矩阵乘法中“*”表示正常矩阵相乘,而“.*”表示各元素对应相乘>>A=[123;456;789]
A=
123456789
>>B=[012;753;1246]
B=
0127531246
>>D=A*B注意:完全按照数学定义来运算
D=
50232610753591648392>>C=A.*B注意:“.”代表各元素的意思,故“.^”“./”分别表示“各项分别乘方”,“各项分别做除法”。
C=
02628251884325438.“log”默认以自然对数e为底,也可输入“log10”或者“log2”39.求绝对值运算用abs>>abs(-9)
939.求平方根运用sqrt算>>sqrt(2)
1.414240.符号函数用sign41.圆整函数一.天花板函数(朝着正无穷大圆整),用ceil二.地板函数(朝着负无穷大圆整),用floor>>ceil(6.2)
>>floor(6.2)
6>>ceil(-6.2)
-6
>>floor(-6.2)
-7
三.fix函数(朝着0圆整)>>fix(6.2)
6
>>fix(-6.2)
-6四.round函数(朝着最近的整数圆整,按照四舍五入)五.mod取余>>mod(8,5)
342.多项式相乘函数用conv一.求值>>x=3,y=9,conv(2*x+5*y,6*y-2)
x=
3
y=
9
2652二.求展开式>>conv([11],[11])注意:多项式在matlab中根据次方数降阶输入系数形成矩阵,[11]表示x+1,所以[121]表示x^2+2x+1
121>>conv([11],[1-1])
10-143.求最大值和最小值用max和min>>A=[658;1215;6501;]
65812156501
>>max(A)注意:matlab对输入矩阵时按列依次输入,故求矩阵最大值时显示的是每列最大的元素
65515
>>min(A)
101>>max(max(A))注意:如果想找出一个矩阵中的最大元素,只需要连续使用两次函数
65
>>min(min(A))
0
>>B=[5685802588]
5685802588
>>max(B)
88
>>min(B)
044.一.求平均值用mean
>>mean(B)
27.1429>>sum(B)
190二.求积用prod>>prod(B)注意:只用于标量求积,矩阵不行
0三.求和用sum>>sum(B)注意:只用于标量求和,矩阵不行ans=
190四.sum的特殊用法>>a
a=
123456>>sum(a,1)注意:sum(x,1)表示逐列求和
579
>>sum(a,2)注意:sum(x,2)表示逐行求和
615>>sum(sum(a,1),2)注意:如果想计算矩阵所有元素的和,只需要先对行求和再对列求和好、,或者先对列求和在对行求和
2145.复数一.取实部(用real函数)>>real(3+4i)
二.取虚部(用imag函数)>>imag(3+4i)
4三.求模(用abs函数)>>abs(3+4i)
5四.求辐角(用angle函数)注意:“复数的辐角”在复变函数中,自变量z可以写成z=r*(cosθ+isinθ).r是z的模,即:r=|z|;θ是z的辐角。在0到2π间的辐角称为辐角主值。五.求共轭复数(可以在数后加“'”,也可以用conj函数)>>(3+4i)'
3.0000-4.0000i
>>conj(3+4i)
46.矩阵的若干运算一.求积运算(用corss函数)>>P=[123;456;789]
P=
>>Q=[258;12350;519]
Q=
25812350519>>cross(P,Q)
-64-2755493845445-48二.求点积(用dot函数)>>a=[123]
123
>>b=[456]
456>>a*(b')
32
>>dot(a,b)
>>dot(a,(b'))
32注意:1、乘积用于矩阵相乘,表示为C=A*B,A的列数与B的行数必须相同,C也是矩阵,C的行数等于A的行数,C的列数等于B的列数。Cij为A的第i行与B的第j列的点积。2、点积用于向量相乘,表示为C=A.*B,A与B均为向量,C为标量,也称标量积、内积、数量积等三.求逆(用inv函数)注意:取逆之前最好用det判断行列式的值是否为零,若为零,则逆不存在m=
123246778899
>>det(m)
0>>inv(m)
InfInfInfInfInfInfInfInfInf
四.求行列式的值(用det函数)>>A
>>det(A)
3842五.求矩阵的秩(用rank函数)六.求矩阵点的特征值(用eig函数)七.求矩阵的迹(用trace函数)注意:迹就是矩阵主对角线个元素之和>>A
>>trace(A)
947.字符串与数字间的转换一.将字符转成数字(用abs或者double函数)>>abs('A')注意:以下几个例子都是将字符转为ascll码,计算机通过存储ascll码来保存字符串
>>abs('a')
97>>abs('王丹')
2957920025>>D='whoareyou'
whoareyou
>>abs(D)
119104111329711410132121111117>>double(D)注意:double与abs在转换字符上有相同作用
119104111329711410132121111117二.将数字转化为字符(用char函数)>>char(97)
a>>char(29482)
猪
>>char(29483)
猫三.将数据字符转化为数据(用str2num函数)>>str2num('8')
ans=注意:虽然两个都是8,但'8'是字符,无法进行计算。必须要转化为数据才行。
8四.将数据转化为数据字符(用num2str函数)注意:转化为字符后,无法计算,正当做文字48.如果想要输出一个单引号,那么就连续输两次>>c='I''mgood'
I'mgood49.大小写字母间的转换方法一:用lower函数(大转小),upper函数(小转大)>>lower('A')
a
>>upper('a')
A方法二:>>char('A'+32)注意:同一字母大小写的ascll码差32。常用的是A为65,a为97
a50.冒号递增作用在字符中的使用>>['a':'z']
abcdefghijklmnopqrstuvwxyz
>>['a':'f']
abcdef>>['a':2:'z']注意:这里和之前冒号作用部分的作用一样,从按开始递增2,直到z结束。字符在计算机中先存为ascll码,再加2,最终又以字符的方式输出。
acegikmoqsuwy51.字符串函数一.比较两个字符串是否相同(用strcmp函数)>>A='你是个好人';>>B='你是个坏蛋';注意:如果两个字符串相同,则输出结果为1,反之为0。>>strcmp(A,A)
1
>>strcmp(A,B)
0>>C='你是个好人';>>strcmp(A,C)
1二.比较字符串中部分字符是否相同(用strncmp函数)>>A='你是个好人';>>B='你是个坏蛋';>>strncmp(A,B,3)注意:这里的3表示“比较A和B的前三个字符”,由于二者前三个字符相同,故输出1。下同,由于前4个字符不完全相同,故输出0。
>>strncmp(A,B,4)
0三.查找字符串中的某个字符(用findstr)>>A
你是个好人
>>findstr(A,'好')
4注意:4表示“好”在A字符串中的第四位四.字符串横向拼接(用strcat函数)>>strcat(A,B)
你是个好人你是个坏蛋>>strcat(A,B')
你是个好人你你是个好人是你是个好人个你是个好人坏你是个好人蛋五.字符串的纵向拼接(用strvcat或者char函数)>>strvcat(A,B)
你是个好人你是个坏蛋>>char(A,B)
0例二>>'A'>'B'注意:这里会转化为ascll码值进行比较
0注意:有时无法区分程序中的0和1是逻辑值还是数值,可以用whos命令查看class(数据类型),如果是logical就是逻辑值,如果是double就是数值。例三>>%在计算机中由于二进制和圆整的问题,精度会受到干扰。于是就出现了下面这种情况>>sin(pi)
1.2246e-16>>sin(pi)==0
>>abs(sin(pi)-0)<1.0e-14注意:一般通过做差的方式判断,如果A和B的差小于一个特小的数,就认为A==B
157.关系运算符在数组和矩阵中的应用(对应元素进行比较)>>A=[123]
A=格式化
>>B=[12;34]
1234
>>C=2
2
>>A==C
010
>>B 1000 >>D=[234] 234 >>A<=D 11158.逻辑运算(布尔运算)(1)逻辑运算:逻辑值(非零值与零值)+逻辑运算符(2)逻辑运算符:&(与A&B),|(或A|B),~(非~A),xor(异或xor(A,B))注意:xor也称逻辑排他,如果A与B的真假不同,那么xor(A,B)=1,即真。(3)运算优先级:算术运算,关系运算,非,与,或>>A=3+(2<1)+0