matlab程序设计基础(matlab程序设计基础教程)

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]

其他教程

剪掉电脑版官网下载

2023-1-13 0:35:00

其他教程

期权估值原理通俗理解(通力科技估值分析)

2023-1-13 0:36:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索