小提示:变数命名的规则 1.第一个字母必须是英文字母2字母间不可留空格3最多只能有19个字母, MATLAB会 忽略多馀字母 我们可以随意更改、增加或删除向量的元素: y(3)=2%更改第三个元素 y=3725 y(6)=10%加入第六个元素 y=3725010 (4)=口%删除第四个元素 y=372010 在上例中, MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字 均可视为程式的注解( Comments)。 MATLAB亦可取出向量的一个元素或一部份来做运算 x(2)*3+y(4)%取出x的第二个元素和y的第四个元素来做运算 ans=9 y(24)-1%取出y的第二至第四个元素来做运算 ans=61-1 在上例中,24代表一个由2、3、4组成的向量 若对 MATLAB函数用法有疑问,可随时使用help来寻求线上支援(on- cline help) help linspace 小整理: MATLAB的查询命令 help:用来查询已知命令的用法。例如已知inv是用来计算反矩阵,键入 help inv即可得知 有关inv命令的用法。(键入 help help则显示help的用法,请试看看!) lookfor:用来寻找 未知的命令。例如要寻找计算反矩阵的命令,可键入 lookfor inverse, MATLAB即会列出所 有和关键字 Inverse相关的指令。找到所需的命令後,即可用help进一步找出其用法。 ( lookfor事实上是对所有在搜寻路径下的M档案进行关键字对第一注解行的比对,详见後 将列向量转置( Transpose)後,即可得到行向量( Column vector) z=4.0000 5.2000 6.4000 7.6000 8.8000 10.0000
小提示:变数命名的规则 1.第一个字母必须是英文字母 2.字母间不可留空格 3.最多只能有 19 个字母,MATLAB 会 忽略多馀字母 我们可以随意更改、增加或删除向量的元素: y(3) = 2 % 更改第三个元素 y =3 7 2 5 y(6) = 10 % 加入第六个元素 y = 3 7 2 5 0 10 y(4) = [] % 删除第四个元素, y = 3 7 2 0 10 在上例中,MATLAB 会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字 均可视为程式的注解(Comments)。MATLAB 亦可取出向量的一个元素或一部份来做运算: x(2)*3+y(4) % 取出 x 的第二个元素和 y 的第四个元素来做运算 ans = 9 y(2:4)-1 % 取出 y 的第二至第四个元素来做运算 ans = 6 1 -1 在上例中,2:4 代表一个由 2、3、4 组成的向量 若对MATLAB函数用法有疑问,可随时使用help来寻求线上支援(on-line help):help linspace 小整理:MATLAB 的查询命令 help:用来查询已知命令的用法。例如已知 inv 是用来计算反矩阵,键入 help inv 即可得知 有关 inv 命令的用法。(键入 help help 则显示 help 的用法,请试看看!) lookfor:用来寻找 未知的命令。例如要寻找计算反矩阵的命令,可键入 lookfor inverse,MATLAB 即会列出所 有和关键字 inverse 相关的指令。找到所需的命令後 ,即可用 help 进一步找出其用法。 (lookfor 事实上是对所有在搜寻路径下的 M 档案进行关键字对第一注解行的比对,详见後 叙。) 将列向量转置(Transpose)後,即可得到行向量(Column vector): z = x' z = 4.0000 5.2000 6.4000 7.6000 8.8000 10.0000
不论是行向量或列向量,我们均可用相同的函数找出其元素个数、最大值、最小值等: length(z)%z的元素个数 =6 max(z)%z的最大值 min(z)%z的最小值 小整理:适用於向量的常用函数有 min(x):向量x的元素的最小值 max(x)向量x的元素的最大值 mean(x).向量x的元素的平均值 median(x):向量x的元素的中位数 std(x):向量x的元素的标准差 diff(x):向量x的相邻元素的差 sort(x):对向量x的元素进行排序( Sorting) length(x)向量x的元素个数 norm(x)向量x的欧氏( Euclidean)长度 m(x):向量x的元素总和 prod(x)向量x的元素总乘积 cumsum(x):向量x的累计元素总和 cumprod(x):向量x的累计元素总乘积 dox,y)向量x和y的内积 cross(x,y).向量x和y的外积(大部份的向量函数也可适用於矩阵,详见下述。) 若要输入矩阵,则必须在每一列结尾加上分号(:),如下例: 1234;5678:9101112 1234 5678 9101112 同样地,我们可以对矩阵进行各种处理 A(2,3)=5%改变位於第二列,第三行的元素值
不论是行向量或列向量,我们均可用相同的函数找出其元素个数、最大值、最小值等: length(z) % z 的元素个数 ans = 6 max(z) % z 的最大值 ans = 10 min(z) % z 的最小值 ans = 4 小整理:适用於向量的常用函数有: min(x): 向量 x 的元素的最小值 max(x): 向量 x 的元素的最大值 mean(x): 向量 x 的元素的平均值 median(x): 向量 x 的元素的中位数 std(x): 向量 x 的元素的标准差 diff(x): 向量 x 的相邻元素的差 sort(x): 对向量 x 的元素进行排序(Sorting) length(x): 向量 x 的元素个数 norm(x): 向量 x 的欧氏(Euclidean)长度 sum(x): 向量 x 的元素总和 prod(x): 向量 x 的元素总乘积 cumsum(x): 向量 x 的累计元素总和 cumprod(x): 向量 x 的累计元素总乘积 dot(x, y): 向量 x 和 y 的内 积 cross(x, y): 向量 x 和 y 的外积 (大部份的向量函数也可适用於矩阵,详见下述。) 若要输入矩阵,则必须在每一列结尾加上分号(;),如下例: A = [1 2 3 4; 5 6 7 8; 9 10 11 12]; A = 1 2 3 4 5 6 7 8 9 10 11 12 同样地,我们可以对矩阵进行各种处理: A(2,3) = 5 % 改变位於第二列,第三行的元素值 A =
1234 5658 9101112 B=A(2,1:3)%取出部份矩阵B B=565 [AB%将B转置後以行向量并入A 12345 56586 910l1125 A(,2)=口%删除第二行(:代表所有列) 1345 5586 91l125 A=[A43211%加入第四列 911125 4321 A([14],)=口%删除第一和第四列(:代表所有行) 586 911125 这几种矩阵处理的方式可以相互叠代运用,产生各种意想不到的效果,就看各位的巧思和创 小提示:在 MATLAB的内部资料结构中每一个矩阵都是一个以行为主( Column- oriented) 的阵列(Aray)因此对於矩阵元素的存取,我们可用一维或二维的索引( Index)来定址。 举例来说,在上述矩阵A中,位於第二列、第三行的元素可写为A(2,3)(二维索引)或 A(6)(一维索引,即将所有直行进行堆叠後的第六个元素)。 此外,若要重新安排矩阵的形状,可用 reshape命令: B= reshape(A,4,2)%4是新矩阵的列数,2是新矩阵的行数
1 2 3 4 5 6 5 8 9 10 11 12 B = A(2,1:3) % 取出部份矩阵 B B = 5 6 5 A = [A B'] % 将 B 转置後以行向量并入 A A = 1 2 3 4 5 5 6 5 8 6 9 10 11 12 5 A(:, 2) = [] % 删除第二行(:代表所有列) A = 1 3 4 5 5 5 8 6 9 11 12 5 A = [A; 4 3 2 1] % 加入第四列 A = 1 3 4 5 5 5 8 6 9 11 12 5 4 3 2 1 A([1 4], :) = [] % 删除第一和第四列(:代表所有行) A = 5 5 8 6 9 11 12 5 这几种矩阵处理的方式可以相互叠代运用,产生各种意想不到的效果,就看各位的巧思和创 意。 小提示:在 MATLAB 的内部资料结构中,每一个矩阵都是一个以行为主(Column-oriented ) 的阵列(Array)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址。 举例来说,在上述矩阵 A 中,位於第二列、第三行的元素可写为 A(2,3) (二维索引)或 A(6)(一维索引,即将所有直行进行堆叠後的第六个元素)。 此外,若要重新安排矩阵的形状,可用 reshape 命令: B = reshape(A, 4, 2) % 4 是新矩阵的列数,2 是新矩阵的行数 B =