当前位置:文档之家› 数学建模与MATLAB

数学建模与MATLAB


例如:A=ones(3,3) B=[1,1,1;2,2,2;3,3,3] 数组运算必须维数相同 • 1、加减法
数组运算
• 2、乘除法
– C1=A.*B
– C1=A+B
C2=A-B C2=A./B C3=A*B C4=A/B=A*B-1,
• 3、乘方法
数学建模与MATLAB 4
数组的排序
• sort()函数
– – – – B=sort(A) B=sort(A,dim) B=sort(…,’mode’) [B,IX]=sort(…) % dim为维数,默认为1从头到尾排序 % mode可以是ascend升序或descend降序 % IX为排序后原来的数据顺序 A=randn(5); 均匀分布、正态分布 B1=sort(A) B2=sort(A,2) 观察B1、B2的差别 [B3,IX]=sort(A,2,’descend’)
• • • •
• •
例如:A=rand(1,10) B1=sort(A) B2=sort(A,’descend’) [B3,IX]=sort(A,’descend’)
数组排序函数sort()可以节省编程代码,加快数据的处理速度,是MATLAB独有的。 而其他高级语言对于数组排序,一般采用循环结构代码(冒泡法、选择法等)!
数学建模与MATLAB
2
一维数组的创建
• x=[a b c d] 或 x=[a,b,c,d] 使用“[ ]”产生不连续的数 组 – 例:x=[3,8,2,5] • x=first: last 使用“:”产生公差为1的等差数 组 – 例:x=[1:10] x=1 2 3 4 5 6 7 8 9 10 • x=first: increment: last – 例:x=[1:2:10] x=1 3 5 7 9 • x=linspace (a, b, n) 产生a到b的n个等间隔数字 – 例:x=linspace(1,10,5) x= 1 3.25 5.5 7.75 数学建模与MATLAB
3
二维数组的创建
• 二维数组的生成:
– A=[1 2 3 4;5 6 7 8;9 10 11 12] – M=[ ] %表示空阵 %生成3行4列的矩阵
• 全零阵:
– X=zeros(n)
• 全1阵:
– X=ones(n)
• 随机阵:
– X=然道 randn(n)
• 魔方矩阵:
– M=magic(n)
Mathematical Modeling and MATLAB 数学建模与MATLAB 主讲人:孙越
数学建模与MATLAB
第二讲:数组与矩阵
2018/9/4
§2.1 数组及其应用
•数组是一个特殊的变量,一个数组变量中存 储的是一批类型、作用相同的数据,数组里的 数据称为数组元素。最简单的数组是一维数组 ,如果一个数组中的元素还是数组,那么这个 数组就是二维数组。
数学建模与MATLAB 5
数组的寻址
假设创建随机数组A=rand(1,10) 1、单个元素访问 A(3) 2、多个元素访问 A([3,5,7,9]) 3、连续元素访问 A(4:7) A(1:3:8) 注:从第一个元素开始每个元素相隔3位,最大不超过第8个 A(5:end) 4、利用索引函数find寻址:A(find(A>c))
• “:”表示取连续的或者有等差关系的数 • “[ ]”表示取不连续的数
数学建模与MATLAB 7
课堂练习
• • • • • • • 快速建立符合下面要求的3行4列二维数组A A=[1 2 3 4 ;5 6 7 8;9 10 11 12] ①获取数组A的第一行的元素 ②获取数组A的最后一行的元素 ③获取数组A的第二行第四列的元素 ④获取数组A的第一行元素和第三行的元素 ⑤获取数组A的第二列元素和第四列的元素
数学建模与MATLAB 6
二维数组寻址
假设创建随机二维数组A=randn(10)
• • • • • 1、矩阵A的第r行:A(r,:) 2、矩阵A的第r列:A(:,r) 3、取矩阵的第i1~i2行、第j1~j2列:A(i1:i2,j1:j2) 4、以逆序提取矩阵A的第i1~i2行:A(i2:-1:i1,:) 5、以逆序提取矩阵A的第j1~j2列:A(:,j2:-1:j1)
九章算术——卷第八(一)
• 今有上禾三秉,中禾二秉,下禾一秉,實三十九斗;上禾 二秉,中禾三秉,下禾一秉,實三十四斗;上禾一秉,中 禾二秉,下禾三秉,實二十六斗。問上、中、下禾實一秉 各幾何?
线性方程组常用解法
• 现有上等黍3捆、中等黍2捆、下等黍1捆,打出的黍共有39斗 ;有上等黍2捆、中等黍3捆、下等黍1捆,打出的黍共有34斗 ;有上等黍1捆、中等黍2捆、下等黍3捆,打出的黍共有26斗 。问1捆上等黍、1捆中等黍、1捆下等黍各能打出多少斗黍? • 设上禾一秉x斗,中禾一秉y斗,下禾一秉z斗,列出方程: 3x+2y+z=39 2x+3y+z=34 x+2y+3z=26 • 方法一:A=[3 2 1;2 3 1;1 2 3] b=[39;34;26] X=A\b • 方法二:
• 可以写出对应的矩阵:1 -2 5 3 1 8
1 -2 • 矩阵中的每个数叫做矩阵的元素,其中矩阵 3 1 叫做方 程组的系数矩阵,矩阵 5 叫做方程组的常数列向量。 8 • 在MATLAB中通过对方程组的系数矩阵与常数列向量的计 算,可以得到方程组的解。
数学建模与MATLAB 11
矩阵的由来
• 矩阵这一具体概念是由19世纪英国数学家凯利首 先提出并形成矩阵代数这一系统理论的。 • 但是追根溯源,矩阵最早出现在我国的<九章算 术>中,在<九章算术>方程一章中,就提出了 解线性方程各项的系数、常数按顺序排列成一个 长方形的形状。随后移动处筹,就可以求出这个 方程的解。在欧洲,运用这种方法来解线性方程 组,比我国要晚2000多年。
• 4、关系运算(< , > , == , <= , >= , ~=)
– A<=B B>1 A~=B
– C1=B.^2 C2=B^2 C3=2.^B C4=B.^B
§2.2
矩阵及其基本运算
数学建模与MATLAB 10
矩阵的概念
• 矩阵就是由方程组的系数及常数所构成的矩形数表。用在 解线性方程组上既方便,又直观。 • 例如对于方程组: x-2y=5 3x+y=8
相关主题