2.1常量和变量
特殊常数
l
Eps%浮点相对精度(机器零阈值)
l ans=
l 2.2204e-016
Pi% pi
l ans=
l 3.1416
L realmax%最大正实数
l ans=
l 1.7977e 308
L realmin%最小正实数
l ans=
l 2.2251e-308
l时钟%挂钟
l ans=
l 1.0e 003 *
l 2.0070 0.0030 0.0120 0.0200 0.0270 0.0033
l固定(时钟)
l ans=
2007年3月12日20日28时19分
L%日期
l ans=
2007年3月12日
其他常用(固定)变量
Nan%不固定。
lnagin%函数的输入参数数量
L nargout%函数输出参数号
I,j%虚部
Tic%秒表开始计时。
TOC%秒表已完成。
数字描述
l 3
l ans=
l 3
l -99
l ans=
l -99
l 0.001
l ans=
l 1.0000e-003
l 9.45
l ans=
l 9.4500
l 1.3e-3
l ans=
l 0.0013
在电脑上练习:在命令提示符“”下输入这些数字,看看得到什么样的结果!
l 4.5e33
l ans=
l 4.5000e 033
l的值通常用“双精度占用64位内存”来表示,其相对精度为eps。
L==3 EPS%判断两个数是否相等。
l ans=
l 1
l 3==3 1e-5
l ans=
l 0
l 3==(3(每股收益*10))
l ans=
l 0
一般变量
一.命名规则
L (1)变量名区分大小写。
L (2)变量名以字母开头,可以由字母和带下划线的数字组成,长度不超过63位(不同版本有效位数会有所不同)。变量名不能包含空格、标点和运算符。
例如
在MATLAB命令窗口中输入命令:
x=12i;%一般写成x=1 2 * i。
y=3-sqrt(17);
z=(cos(ABS(x y))-sin(78 * pi/180))/(x ABS(y));
注:pi,I是系统自己定义的变量。在使用的时候,要尽量避免对这些变量进行重新赋值。
第二,内存变量的管理
1.删除和修改内存变量
MATLAB工作区窗口是专门用来管理内存变量的。所有内存变量的属性都可以显示在工作区窗口中。选择一些变量后,单击删除按钮删除它们。选择一些变量后,点击打开按钮进入变量编辑器。通过变量编辑器,可以直接观察或修改变量中的具体元素。
Clear命令用于删除MATLAB工作区中的变量。who和whos命令用于显示已经存在于MATLAB工作区中的变量名列表。who命令只显示常驻变量的名称,而whos给出变量的名称,以及它们的大小、字节和数据类型。
2.2阵列
Matlab中的数组包括:行向量、列向量、矩阵和多维数组。
创建一个数组
1、直接分配法
l X1=[0 1 2 3 0.1*pi 10*pi]
l X1=
l 0 1.0000 2.0000 3.0000 0.3142 31.4159
l X2=[1 2 3;4 5 6;7 8 9]
l X2=
l 1 2 3
l 4 5 6
l 7 8 9
X3=[1 2 3]
l 4 5 6
第7 8 9条]
l X3=
l 1 2 3
l 4 5 6
l 7 8 9
l、冒号法
l:初始值:步长:最终值
长X4=1:5
长X4=
l 1 2 3 4 5
l X5=1:2:8
长X5=
l 1 3 5 7
l X6=(2:8)*pi
长X6=
l 6.2832 9.4248 12.5664 15.7080 18.8496 21.9911 25.1327
l X7=(2:0.5:4)*pi
长X7=
l 6.2832 7.8540 9.4248 10.9956 12.5664
l,林空间法,对数空间法
L: linspace(初始值,最终值,元素个数)
L logspace(初始值、最终值、元素数量)
L X8=linspace(0,2,11)%在区间(0,2)中插入9个数字
长X8=
l列1至10
l 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000
l
l 1.6000 1.8000
l第11栏
2.0000镑
X9=logspace (0,2,11)%在10 ^ 0和10 ^ 2之间插入9个数字。
l X9=
l列1至10
l 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189
l 39.8107 63.0957
l第11栏
100.0000兰特
Lx10=10。一个数和一个数组的x8%运算
长X10=
l列1至10
l 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189
l 39.8107 63.0957
l第11栏
100.0000兰特
l、拼接法
洛杉矶=[1 2 3]
洛杉矶=
l 1 2 3
l B=4:6
l B=
l 4 5 6
AB1=[A,B]
l AB1=
l 1 2 3 4 5 6
l AB2=[A;B]
l AB2=
l 1 2 3
l 4 5 6
信用证=AB2
信用证=
l 1 2 3
l 4 5 6
L=[0 1]'%转置
l D=
l 0
l 1
l CD=[C,D]
l CD=
l 1 2 3 0
l 4 5 6 1
对数组的引用
1.一维数组
l设X是一维数组,X(n):X(n):X的第n个元素
x(n1:n2):x的n1到N2元素
l X=(1:8)*pi
l X=
l 3.1416 6.2832 9.4248 12.566 15.7080 18.8496 21.9911 25.1327
长X(3)
l年=
l 9.4248高速公路
长X(4:8) %访问x个的第四至第8个元素
l年=
l 12.566 15.7080 18.8496 21.9911 25.1327
l X(结束:-1:1) %元素倒排
l年=
l 25 1327 21 9911 18 8496 15 7080 12 5664 9 4248 6 2832 3 1416
宽x(5:1:1)
l年=
l 15.7080 12.5664 9.4248 6.2832 3.1416
宽x(5:2:1)
l年=15 7080 9 4248 3 1416
第二层。二维数组
我会的设x个是二维数组,X(m,n): X的第m先生行第n个列元素
l x(m1:)x的第货币供应量步枪行元素
l X(:n1): X的第n1号列元素
长X(k): X的第好的。对个元素(单下标表示)
l A=reshape(1:9,3,3)
洛杉矶=
l 1 4 7战斗机
l 2 5 8
l 3 6 9
洛杉矶(1.2)% a的第一行第2列元素
l年=
第四层
洛杉矶(6) %A的第6个元素
l年=
l 6(消歧义)
页:1
l年=
l 2 5 8
洛杉矶(:2)
l年=
第四层
l 5号
l 6(消歧义)
洛杉矶(1:2,3)
l年=
l 7(消歧义)
第八层
洛杉矶(结束:-1:1,)
l年=
l 3 6 9
l 2 5 8
l 1 4 7战斗机
第二层2.3细胞数组与结构数组
l 1的。细胞数组(单元格)
我会的细胞数组是以单元为元素的数组,其元素可以是实数矩阵~我爱你~字符串数组~我爱你~复数向量,元素可以是不同数值的数据类型。
第一卷细胞数组的创建
我会的左标志法
l C{1,1 }=46i;%创建细胞数组c。非政府组织
信用证{1,2}='广西大学;
信用证{ 2.1 }=[12 3;4 5 6;7 8 9];
信用证{2,2 }=[1 2 3 4 5 6 7 8 9];
我会的
我。丙。-
信用证=
l〔4.0000 6.0000 I〕广西大学
l [3×3双] [1×9双]
我会的
l单元格显示(消歧义)
信用证{1,1}=.
S7-1200可编程控制器
信用证{ 2.1 }=.
l 1 2 3
l 4 5 6
l 7 8 9
信用证{1,2}
l广西大学
信用证{2,2}=
l 1 2 3 4 5 6 7 8 9
我会的右标志法
l d(1.1)={ 46i };%创建细胞数组d。第二个问题,与c。非政府组织相同
l D(1,2)={ '广西大学'};
l D(2,1)={[1 2,3];4 5 6;S7-1200可编程控制器:
l D(2,2)={[1 2 3 4 5 6 7 8 9]};
我的天啊
l D=
l [4.0000 6.0000i]广西平整度
l [3×3双] [1×9双]
l单元格显示(D)
l D{1,1}=中
S7-1200可编程控制器
l D{2,1}=中
l 1 2 3
l 4 5 6
l 7 8 9
l D{1,2}
l广西大学
l D{2,2}=.
l 1 2 3 4 5 6 7 8 9
l e=c { 2.1 }
l和=
l 1 2 3
l 4 5 6
l 7 8 9
l f=c { 2.1 }(3.1)
l F=
l 7(消歧义)
l f=c { 1.2 }(1.5)
l F=
我是g
我会的直接输入法
l G={4 6*i,广西大学;[1 2 3;4 5 6;7 8 9],[1 2 3 4 5 6 7 8 9]} %与丙、丁相同,与一般数组相同
l G=
l〔4.0000 6.0000 I〕广西大学
l [3×3双] [1×9双]
(男孩):”女孩”
l H=
那个男孩
那个女孩
l高=[G,H] %细胞数组的合并,与一般数组相同
l高=
l〔4.0000 6.0000 I〕广西大学”男孩”
[3×3双] [1×9双]女孩
长{:} %将数组每一个元素显示出来
l年=
S7-1200可编程控制器
l年=
l 1 2 3
l 4 5 6
l 7 8 9
l年=
l广西大学
l年=
l 1 2 3 4 5 6 7 8 9
l年=
我的孩子
l年=
那个女孩
第二层。结构数组(结构化)
我会的每一个结构数组包含数个字段(菲尔兹),而各个字段包含各个不同的类型的数据,例如下面是包含学生资料的结构数组
l学生。名称='李小二'我不知道
l学生=
l名称: '李小二'我不知道
l学生。id=' 200601
l学生。分数='[60 70 80 '%字符串
我的学生
l学生=
l名称: '李小二'我不知道
身份证号:“200601”
l成绩:”[60 70 80]”
l学生。分数=[60 70 80];%改变成绩数据类型
我的学生
l学生=
l名称: '李小二'我不知道
身份证号:“200601”
分数:[60 70 80]
l学生。分数='[60 70 80 '
l Student=struct('名称''李大三,' id '' 200602 ''分数'[72 34 89]) %另一方法创建结构数组,注意字母大小写,与前面的学生吗不同
l学生=
l名称: '李大三'我不知道
身份证号:“200602”
l成绩:[72 34 89]
l学生(2)。名称='王五”;%追加元素
l学生(2)。id=' 2006 602
l学生(2)。scores='[83 99 100]”;
我的学生
l学生=
1×2英寸带场的结构阵列:
我的名字
我的身份证明(identification)
我的分数
l学生(1)
l年=
l名称: '李小二'我不知道
身份证号:“200601”
l成绩:”[60 70 80]”
l学生(2)
l年=
l名称: '王五'我不知道
身份证号:“200602”
l分数:”[83 99 100]”
l学生(3)=struct('名称''小周” id “,” 200603 “,”分数”,” 92 95 94 “;
我会的
l学生(3)
l年=
l名称: '小周'我不知道
身份证号:“200603”
l成绩:”[92 95 94]”
幻灯片35
l学生(3)。分数(2%)成绩以字符串形式给出,想想为什么显示如下结果?
l年=
l 9号
l学生(3)。分数(3)
l ans=
l 2
l学生(3)。分数=[92 95 94]
l学生(3)
l ans=
l名称: '小周'
身份证号:”200603″
l分数:[92 95 94]
l学生(3)。分数(2)
l ans=
l 95
l所有姓名=[学生姓名]
l所有姓名=
l李小二王五小周
l所有分数=[学生分数]
l所有分数=
100]\_^
l学生(3)。分数=[60 70 80];%修改成绩属性
l学生(2)。分数=[83 99 100]
l学生=
带字段的l 1×3结构数组:
l名称
l id
l分数
l学生(1)。scores=[30 75 89];
l所有分数=[学生分数]
l所有分数=
l 30 75 89 83 99 100 60 70 80
l cat(1,学生分数)%并排数组,1表示上下并排。
l ans=
l 30 75 89
l 83 99 100
l 60 70 80
l cat(2,学生分数)%水平排列
l ans=
l 30 75 89 83 99 100 60 70 80
l学生(1)。分数(4)=77 %追加一门成绩
学生(1)
l ans=
l名称: '李小二'
身份证号:”200601″
l分数:[30 75 89 77]
l学生(2)。分数(4)=88
l学生(3)。分数(4)=99;
l所有分数=[学生分数]
l所有分数=
l 30 75 89 77 83 99 100 88 60 70 80 99
l猫(1,学生。分数)
l ans=
l 30 75 89 77
l 83 99 100 88
l 60 70 80 99
l平均值1=平均值(cat(1,学生.分数))%计算列平均值
l平均值1=
81.3333 89.6667 88.0000
l平均值2=平均值(cat(2,学生分数)')%计算行平均值
l
l平均值2=
l 67.7500 92.5000 77.2500
l字段名(学生)%显示字段
l ans=
我名称'
“身份证”
我分数'
l学生(2)。年龄=20 %追加字段并赋值
l学生=
带字段的l 1×3结构数组:
l名称
l id
l分数
l年龄
l学生(2)
l ans=
l名称: '王五'
身份证号:”200602″
l分数:[83 99 100 88]
l年龄:20
学生(1)
l ans=
l名称: '李小二'
身份证号:”200601″
l分数:[30 75 89 77]
l年龄:[] %没有赋值
l学生(1)。年龄=19岁
l学生=
带字段的l 1×3结构数组:
l名称
l id
l分数
l年龄
学生(1)
l ans=
l名称: '李小二'
身份证号:”200601″
l分数:[30 75 89 77]
l年龄:19
l学生(3)。年龄=23;
l学生(3)
l ans=
l名称: '小周'
身份证号:”200603″
l分数:[60 70 80 99]
l年龄:23
l Student=rmfield(学生,'年龄')%删除一个字段
l学生=
带字段的l 1×3结构数组:
l名称
l id
l分数
学生(1)
l ans=
l名称: '李小二'
身份证号:”200601″
l分数:[30 75 89 77]