1、1主要内容n简单的数学运算n标点符号的使用n常量与变量n常用数学函数n浮点数与复数n逻辑运算n向量2简单的数学运算n直接输入n存储变量n抑制输出n注释 format compact 4*30+3*35ans=225 grade1=4*30grade1=120 grade2=3*35grade2=105 total=grade1+grade2total=225 grade1=4*30;%一班的人数 grade2=3*35;%二班的人数 total=grade1+grade2%总人数total=225 4*30+3*35ans=225 ans*2ans=450 ans*2%再来ans=900 3指
2、令中的标点n逗号 x=sin(1),y=cos(1),z=tan(1),w=atan(1)x=0.8415y=0.5403z=1.554w=0.8544指令中的标点n续行号 grade1=4*.30grade1=120 grade2=3*.3535grade2=105 total=grade1+gra.de2?de2|Error:Unexpected MATLAB expression.5指令中的标点符号n空格分隔符:机器辨认;数组元素分隔n逗号,分隔(同空格);显示计算结果指令间的分割n黑点.3.14159;数组运算符(.*,./,.等)n分号;屏蔽输出;A=1 2;3 4;B=5,;,8;
3、C=A+Bn冒号:1:10,10:-1:1;单下标引用(A(:)、多下标引用(A(:,1),A(2,:)指令中的标点符号n%注释号n 字符串n()改变运算次序;数组引用A(1,2),输入参数列表n 数组输入时构成矩阵;函数输出列表n 胞元数组;图形中被控制的特殊字符括号指令中的标点符号n_ 下连符作为变量、函数名字中的字符图形中被控下标前导符n 续行符n 放在函数名前,形成函数句柄;匿名函数前导符放在目录名前,形成“用户对象”类目录8常量nInf|infnNaN|nanni,j 1/0Warning:Divide by zero.ans=Inf 0/0Warning:Divide by zer
4、o.ans=NaN 1/infans=0 0*infans=NaN sqrt(-1)ans=0+1.0000i i-jans=09常量npi format long pians=3.1415925358993 sin(3.1415925358993)ans=1.22449914353e-01 sin(pi)ans=1.22449914353e-01 sin(pi*1e10)ans=-2.239321955923e-00 clear cos(pi)ans=-1 pi=10pi=10 cos(pi)ans=-0.839015290452 clear cos(pi)ans=-110变量的命名规则n变
5、量名大小写敏感Var,var,vAr,vaR,vAR,VAr,VaR,VAR各不相同n第一个必须是英文字母,最多3个字符(英文、数字和下划线)A101_35,room101_24_up11常用数学函数nsin,cos,tan,cot,csc,sec;nasin,acos,atan,acot,acsc,asecnsinh,cosh,tanh,coth csch,sechnasinh,acosh,atanh,acoth,acsch,asechnexp,log,log2,log10,pow2,sqrtnreal,imag,abs,angle,conj,isrealnfix,floor,ceil,ro
6、und%0,-inf,+infnmod,rem%fix,floornsign,beta,gamma,erf,cross nmax,min,sum,mean,stdn12浮点数n双精度表示误差 format long a=0.33+0.1-0.5a=0 b=0.33 -0.5+0.1b=2.5555152891e-01 c=0.1-0.5+0.33c=5.55111512312583e-01 epsans=2.22044049250313e-01 realmax,realmin,.1/realmax,1/realminans=1.9931348231e+308ans=2.225038585020
7、1e-308ans=5.5284428004e-309ans=4.4942328315590e+30 pow2(1023),pow2(1024),.pow2(-104),pow2(-105)ans=8.988454311580e+30ans=Infans=4.940545841245e-324ans=013复数n进行复数处理时,不需要进行任何其他附件操作n只有常数才能与i/j直接相连 a1=pi+3.14ia1=3.141+3.1400i a2=pi+3.14ja2=3.141+3.1400i b=4*(1+3/sqrt(-1)b=4.0000-12.0000i c=sqrt(-1)c=0+1
8、0000i d=sin(pi)i?d=sin(pi)i|Error:Unexpected MATLAB expression.d=sin(pi)*id=0+1.224e-01i 14复数的数学运算举例 a=1+2*ia=1.0000+2.0000i b=3-4*i;c=pi+sin(pi/2)*ic=3.141+1.0000i d=a+bd=4.0000-2.0000i e=a*de=8.0000+.0000i f=a/ef=0.2000+0.1000i g=afg=1.0040+0.312i 15关系与逻辑运算n关系操作符,=,a=2;b=3;a b|b aans=1 a b&b aans
9、0 a aans=1 (a b)ans=1 disp(xor(0,1)1 disp(xor(1,1)0 disp(xor(2,3)0 disp(xor(0,3)11测试函数nisfinite 元素有限时为真nisempty矩阵为空nisglobal元素为全局变量nishold绘图保持状态为onnisieee执行IEEE算术运算nisinf元素为无穷大nisletter元素为字母nisnan元素为非数nisreal元素为实数nisstr元素为字符串nismember元素为某集合中的元素nisnumeric元素为数值型nisprime元素为质数nissparse矩阵为系数矩阵niskeyword
10、元素为关键字/保留字nishandle元素为图形句柄nIscell元素为单元数组nisfield元素为结构数组中的域nisobject元素为是对象nisstruct元素为是结构1向量n向量的输入直接输入等差元素向量的输入等比元素向量的输入 a1=1 2 3 4a1=1 2 3 4 a2=5,,,8a2=5 8 a3=9;10;11;12a3=9 10 11 12 a3ans=9 10 11 1218等差元素向量的输入 v1=1:9v1=1 2 3 4 5 8 9 v2=10:5:50v2=10 15 20 25 30 35 40 45 50 v3=50:-5:9v3=50 45 40
11、35 30 25 20 15 10 v4=linspace(10,50,)v4=10 18 2 34 42 50 v4=linspace(10,50,)v4=10.0000 1. 23.3333 30.0000 3. 43.3333 50.000019等比元素向量的输入 v=logspace(0,3,4)v=1 10 100 1000 a=1;b=100;n=10;v=logspace(log10(a),log10(b),n)v=Columns 1 through 5 1.0000 1.81 2.82 4.41 .42 Columns through 10 12.9155 21.5443 3
12、5.9381 59.9484 100.0000 plot(v,v*0,+-);20向量的基本运算n向量与数的四则运算n向量与向量之间的加减运算n点积、叉积、混合积n向量的比较、查找21向量与数的四则运算 v1=1:5v1=1 2 3 4 5 v1+100ans=101 102 103 104 105 v1*100ans=100 200 300 400 500 v1/5ans=0.2000 0.4000 0.000 0.8000 1.0000 5v1ans=0.2000 0.4000 0.000 0.8000 1.0000 22向量与向量之间的加减运算 v1=linspace(10,50,)v1
13、10 18 2 34 42 50 v2=logspace(0,2,)v2=1.0000 2.5119 .309 15.8489 39.810 100.0000 v3=v1+v2v3=11.0000 20.5119 32.309 49.8489 81.810 150.0000 v4=v3-v2v4=10.0000 18.0000 2.0000 34.0000 42.0000 50.0000 v5=v4-v1v5=1.0e-014*0 0 0 0 -0.105 0 23点积、叉积、混合积n数组操作.+,.-,.*,./,.v1=1:5v1=1 2 3 4 5 v2=:10v2= 8 9 10
14、v3=v1.*v2v3= 14 24 3 50 v4=v3./v2v4=1 2 3 4 5 v=v1.2v=1 4 9 1 25 v=2.v1v=2 4 8 1 32 v8=v1.(5-v1)v8=1 8 9 4 1 v9=v1.(-v1)v9=1 1 2 1 5 v10=v1.(.-v1)v10=1 1 2 1 5 24点积、叉积、混合积n点积dot(a,b)n叉积cross(a,b)n混合积dot(a,cross(b,c)顺序不能颠倒!a=1:3;b=4:;c=dot(a,b)c=32 sum(a.*b)ans=32 d=cross(a,b)d=-3 -3 dot(a,d),dot(b,
15、d)ans=0ans=0 25向量的下标操作 a=100+(1:10)a=101 102 103 104 105 10 10 108 109 110 a(4)ans=104 b=a(2:5)b=102 103 104 105 d=a(5:-1:2)d=105 104 103 102 c=:10c= 8 9 10 f=a(c)f=10 108 109 110 2向量的下标操作 aa=101 102 103 104 105 10 10 108 109 110 size(a)ans=1 10 length(a)ans=10 a(5:end)ans=105 10 10 108 109 110 a(en
16、d:-1:5)ans=110 109 108 10 10 105 A=;size(A)ans=0 0 length(A)ans=0 A=1:10;A(1:end)=;size(A)ans=1 0 length(A)ans=02向量的统计操作 disp(a)101 102 103 104 105 10 10 108 109 110 sum(a)ans=1055 max(a)ans=110 min(a)ans=101 mean(a)ans=105.5000 std(a)ans=3.0228向量的比较 a a 108ans=0 0 0 0 0 0 0 0 1 1 a(a a(a 108)ans=10
17、9 11029向量的比较 disp(a);disp(b);101 102 103 104 105 10 10 108 109 110 110 109 108 10 10 105 104 103 102 101 a bans=0 0 0 0 0 1 1 1 1 1 a c=fliplr(a)c=110 109 108 10 10 105 104 103 102 101 c=bans=1 1 1 1 1 1 1 1 1 1 a=bans=0 0 0 0 0 0 0 0 0 030向量的比较 a=100+(1:10)a=101 102 103 104 105 10 10 108 109 110 b=
18、100+(9:-1:0)b=109 108 10 10 105 104 103 102 101 100 a=bans=0 0 0 0 1 0 0 0 0 0 c=fliplr(a)c=110 109 108 10 10 105 104 103 102 101 b+1=cans=1 1 1 1 1 1 1 1 1 131find函数 b=-3:3b=-3 -2 -1 0 1 2 3 find(b)ans=1 2 3 5 find(b0)ans=5 b(find(b0)ans=1 2 332向量中元素的判断n不能用a=nan 或 a=inf 来判断元素!ninf*0=nannNaN与任何数据的运算操作结果皆为NaN x=10 2 nan infx=10 2 NaN Inf y=x.2y=100 4 NaN Inf z=y+2z=102 NaN Inf w=(z=nan)w=0 0 0 0 isnan(z)ans=0 0 1 0 i=find(isnan(y)i=3






