matlab在地质中的应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab在地质学中的应用
西北大学地质学系
主讲者:吴鸿天 2016/7/17
Matlab的简要介绍
1 Matlab概述 2 矩阵的建立与计算 3 Matlab的简单操作
1
目录
2
Matlab在地质中的应用举例
1 二维三维图形的绘制 2 字符数组与符号运算 3 简单编程的数据处理
Part 1
Matlab的简要介绍
1.2 矩阵的建立与计算
矩阵的计算
矩阵乘法用“ * ”符号表示,只有当A矩阵列数与B矩阵的 行数相等时,二者才可以进行乘法运算,否则就是错误的。计算 方法和线性代数中所介绍的完全相同。 如:A=[1,2 ; 3,4];B=[5,6;7,8];C=A*B, 结果为 C= 1 2 × 5 6 = 1×5+2×7 1×6+2×8 = 19 22 3 4 7 8 3×5+4×7 3×6+4×8 43 50
23简单编程的数据处理在新疆阿克陶县恰尔隆项目中的应用刟用rbf神经网绚先预测待定空间区域的元素含量然后成的等值线图的方法不直接生成等值线图的方法相比较更能反映异常区域的连续性较少出现小图斑图面更加美观刟于圈定异常区提高23简单编程的数据处理除此之外学习matlab的更大的用处在于网绚上有徆多已上传的matlab程序源码而在我们迕行数据分析的时候可以找刡返些程序加以修改戒直接刟用刡自己的研究当中去
: ; , () {}
指定运算过程中的先后次序等
用于构成单元数组等
… % ! [] ‘
矩阵定义的标志等
字符串的标示符
1.3 Matlab的简单操作
下面对上表中各标点作进一步的介绍。 首先,用冒号来定义行向量。 基本格式:x=x1:step:x2(初始值:步长:尾元素数值限) x=x1:x2 (默认步长为1) 其次,通过使用冒号,可以截取指定矩阵中的部分。
1.2 矩阵的建立与计算
矩阵的计算
数组的乘(矩阵的点乘)用符号.*表示,如果A与B矩阵具有 相同阶数,则A.*B表示A和B单个元素之间的对应相乘。
1.2 矩阵的建立与计算
>> a=[1,2,3;4,5,6;7,8,9] a= 1 2 3 4 5 6 7 8 9 >> b=[1 2 3 456 7 8 9] b= 1 2 3 4 5 6 7 8 9
1.3 Matlab的简单操作
>> a=[1:18];a=reshape(a,3,6) %重组矩阵 a= 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 >> a1=a(:,1,3) %提取矩阵a的第1到3列元素组成的子矩阵。 a1 = 1 4 7 2 5 8 3 6 9 >> a2=a(1:2,3:end) a2 = 7 10 13 16 8 11 14 17
1.1 Matlab概述
图形窗口
如执行以下语句 x = 0:0.1:6; y = sin(x); plot(x,y); 在Matlab中可得到右 侧图形
1.1 Matlab概述
Matlab语言的基本要素
Matlab语言主要是由几个基本要素构建而成的,其中包括变量、常 量、数值、字符串、运算符及标点等。 变量的命名规则: 变量名区分大小写; 变量名长度不超过31位,第31位之后的字符被忽略; 变量名以字母开头,变量名中可以包含字母、数字、下划线,但不能使用标点。
1.1 Matlab概述
编辑窗口
用来创建和修改M-files (MATLAB 脚
本)
路径是 File — New — M-file 或 Open file...,编辑完成后按F5运行程序。
1.1 Matlab概述
图形窗口
图形窗的打开方式有三种: 1 在 主 窗 口 上 依 次 选 择 File→New →Figure或Open file…操作时,选择打开 图形文件。 2 在命令窗口输入figure命令。 3 执行结果为图形的语句。
1.3 Matlab的简单操作
编程语句结构
Matlab语言最基本的赋值语句结构为: 变量名列表=表达式 注1:整个赋值语句以;结束,则不在屏幕上返回 结果,否则立即返回结果。 注2:多个语句可在同一行,用逗号分开。 注3:表达是太长可以用续行符号…
1.3 Matlab的简单操作
编程语句结构
循环语句 for, while 条件转移 if end, if elseif else end 开关语句 switch case 注释语句 % 中断语句 break 暂停语句 pause 回显语句 echo on/off
1.3 Matlab的简单操作
分号在matlab语言中所起的作用是作为分隔行的标志,这里包 括在矩阵定义中对行的区分以及在程序代码中对行的划分。在矩阵 定义中,分号之间的数据被认为是矩阵的同一行。对于以分号结尾 的行语句,matlab语言不会把其运算结果显示在命令窗口中。
矩阵的定义需要使用中括号。此外,中括号可以表示空矩阵, 并通过该空矩阵实现对矩阵的部分删除。
1.2 矩阵的建立与计算
矩阵的生成
注意点: 输入矩阵时要以“[ ]”为其标识,即矩阵的元素应在“[]”内部。 矩阵的同行元素之间可由空格或“ ,”分隔,行与行之间用“;”或回车符分隔。 矩阵元素可为运算表达式。 无任何元素的空矩阵也合法。
1.2 矩阵的建立与计算
1 2 3 矩阵 A 4 5 6 的输入: 7 8 9
1.2 矩阵的建立与计算
矩阵是Matlab语言的核心 由m×n个数(i=1,2,...,m;j=1,2,...,n)排成的m行n列的数表
a11 a21 am1
a12 a22 am 2
a1n a2 n amn
a11 a21 A a m1
a12 a22 am 2
1.1 Matlab概述
MATLAB代表 MATrix LABoratory
1.1 Matlab概述
Matlab的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教 授线性代数课程发现其他语言很不方便,便构思开发了MATLAB。最初采用FORTRAN 语言编写,20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写。 1984 年 Moler 博士和一批数学家及软件专家创建了 MathWorks 公司,专门开发 MATLAB。1993年出现了微机版,到现在最新版本是2013b。
线性方程组
系数 的解取决于 常数项
aij (i 1, m, j 1, n)
bi (i 1, m)
1.2 矩阵的建立与计算
线性方程组的系数与常数项按原位置可排为
a11 a21 a m1
a12 a22 am 2
a1n a2 n amn
1.3 Matlab的简单操作
for循环语句
for循环语句其功能是重复执行一条或一组语句的固定次数(也可以是零次)。 表达式实际上是一个矩阵,因为在Matlab中基本元素就是矩阵。当矩阵的每 一列元素依次赋给变量时,循环体语句就执行一次。
1.3 Matlab的简单操作
for循环语句
基本格式: for 循环变量=起始值:步长:终止值 循环体 end 步长缺省值为1,可以在正实数或负实数范围内任意指 定。对于正数,循环变量的值大于终止值时,循环结束;对 于负数,循环变量的值小于终止值时,循环结束。循环结构 可以嵌套使用。
a1n a2 n amn
称为m行n列矩阵,简称m×n矩阵。为表示它是一个整体,总是加一个括弧。
1.2 矩阵的建立与计算
a11 x1 a12 x2 a1n xn b1 a x a x a x b 21 1 22 2 2n n 2 am1 x1 am 2 x2 amn xn bm
s=
i love you
size(): 获取atlab中一些标点符号也被赋以特殊的意义,或表示要进行一定的运算等。 标点 定义 冒号,具有多种应用功能 区分行,及取消结果显示 区分列,及函数参数分隔符等 标点 定义 续行符 注释标记 调用操作系统运算
0.7071 1.0000
1.2 矩阵的建立与计算
矩阵的计算
在matlab语言中运算符包括算术运算 符、关系运算符和逻辑运算符。其中算术 运算符见右表: 其中点运算是指操作元素点对点的 运算,也就是说矩阵内元素对元素之间的 运算,点运算要求参与运算的变量在结构 上必须是相似的。
操作符
定义
+
* .* ^ .^ \ .\
算术加
算术减 算术乘 点乘 算术乘方 点乘方 算术左除 点左除
/
./
算术右除
点右除
1.2 矩阵的建立与计算
矩阵的计算
矩阵的计算包括矩阵的加法、减法、乘法、转置等。 A= 1 2 3 4 5 6 7 8 0 C =A+B返回: C= 2 6 10 6 10 14 10 14 0 B= 1 4 7 2 5 8 3 6 0
1.1 Matlab概述
主要功能:
数值分析 数字图像处理
数值和符号计算 数字信号处理
工程与科学绘图 通讯系统设计与仿真
控制系统设计与仿真 财务与金融工程
1.1 Matlab概述
显著特点:
1 Matlab具有强大的矩阵运算能力,Matrix Laboratory(矩 阵实验室),使得矩阵运算非常简单。 2 它是一种演算式语言,包含大量计算算法,封装了大量的数 学函数,极大地减少了用户编写复杂函数的难度,而且数学表达 式和运算规则与通常的习惯相同。
3 Matlab对许多专门的领域都开发了功能强大的模块集和工具 箱用户可以直接使用工具箱学习、应用和评估不同的方法而不需 要自己编写代码。
1.1 Matlab概述
Matlab界面介绍
1.1 Matlab概述
命令窗口
命令窗口是命令行语句和命令文件执行的 主要窗口。 在命令窗口中直接输入命令或MATLAB函 数,系统自动反馈结果。
1.2 矩阵的建立与计算
字符串:与矩阵基本等价
字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串的每个字符(包括空格)都是字符数组的一个元素。 >> s='i love you' >> size(s) ans = 1 10 >> s(2) ans = >> s(10) ans = u
>> c=a*b c= 30 36 42 66 81 96 102 126 150
>> d=a.*b d= 1 4 9 16 25 36 49 64 81
1.2 矩阵的建立与计算
如何画出sin(x)xcos(x)函数在0-pi区间上的曲线?
提示:通过点运算获得。 x=0:0.1:pi; y=sin(x).*cos(x); plot(x,y)
某厂向三个商店发送四种产品,其发送的数量可用矩阵来刻划。 若用 aij 表示为工厂向 第 i 店发送第 j 种产品数量,则矩阵
a11 a12 A a21 a22 a 31 a32
a13 a23 a33
a14 a24 a34
表示了工厂向三个商店发送四种产品的数量。
>>A = [1,2,3; 4,5,6; 7,8,9] A= 创建带有运算表达式的矩阵: >>b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)]
>> b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)] b=
1 4 7
2 5 8
3 6 9
0.8660 2.1972
b1 b2 bm
对线性方程组的研究可转化为对这张表的研究。
1.2 矩阵的建立与计算
由空间基本定理知,有且只有一组实数(x,y,z), 使得a=向量OP=xi+yj+zk ,因此把实数对(x,y,z) 叫 做向量a的坐标,记作a=(x,y,z)。
1.2 矩阵的建立与计算
1.3 Matlab的简单操作
>> a=[1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5] a= 1 2 3 4 5 6 7 8 4 3 2 1 8 7 6 5 >> a(:,1:2)=[] a= 3 4 7 8 2 1 6 5 >> b=a([1 3],:) b= 3 4 2 1
1.1 Matlab概述
Matlab是美国MathWorks公司出品的商业数学软件, 主要包括Matlab 和Simulink两大部分,在数学类科技应用 软件中在数值计算方面首屈一指。 M a tl ab 可以进行矩阵运算、绘制函数和数据、实现算 法、创建用户界面、连接其他编程语言的程序等,主要应 用于工程计算、控制设计、信号处理与通讯、图像处理、 信号检测、金融建模设计与分析等领域。
西北大学地质学系
主讲者:吴鸿天 2016/7/17
Matlab的简要介绍
1 Matlab概述 2 矩阵的建立与计算 3 Matlab的简单操作
1
目录
2
Matlab在地质中的应用举例
1 二维三维图形的绘制 2 字符数组与符号运算 3 简单编程的数据处理
Part 1
Matlab的简要介绍
1.2 矩阵的建立与计算
矩阵的计算
矩阵乘法用“ * ”符号表示,只有当A矩阵列数与B矩阵的 行数相等时,二者才可以进行乘法运算,否则就是错误的。计算 方法和线性代数中所介绍的完全相同。 如:A=[1,2 ; 3,4];B=[5,6;7,8];C=A*B, 结果为 C= 1 2 × 5 6 = 1×5+2×7 1×6+2×8 = 19 22 3 4 7 8 3×5+4×7 3×6+4×8 43 50
23简单编程的数据处理在新疆阿克陶县恰尔隆项目中的应用刟用rbf神经网绚先预测待定空间区域的元素含量然后成的等值线图的方法不直接生成等值线图的方法相比较更能反映异常区域的连续性较少出现小图斑图面更加美观刟于圈定异常区提高23简单编程的数据处理除此之外学习matlab的更大的用处在于网绚上有徆多已上传的matlab程序源码而在我们迕行数据分析的时候可以找刡返些程序加以修改戒直接刟用刡自己的研究当中去
: ; , () {}
指定运算过程中的先后次序等
用于构成单元数组等
… % ! [] ‘
矩阵定义的标志等
字符串的标示符
1.3 Matlab的简单操作
下面对上表中各标点作进一步的介绍。 首先,用冒号来定义行向量。 基本格式:x=x1:step:x2(初始值:步长:尾元素数值限) x=x1:x2 (默认步长为1) 其次,通过使用冒号,可以截取指定矩阵中的部分。
1.2 矩阵的建立与计算
矩阵的计算
数组的乘(矩阵的点乘)用符号.*表示,如果A与B矩阵具有 相同阶数,则A.*B表示A和B单个元素之间的对应相乘。
1.2 矩阵的建立与计算
>> a=[1,2,3;4,5,6;7,8,9] a= 1 2 3 4 5 6 7 8 9 >> b=[1 2 3 456 7 8 9] b= 1 2 3 4 5 6 7 8 9
1.3 Matlab的简单操作
>> a=[1:18];a=reshape(a,3,6) %重组矩阵 a= 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 >> a1=a(:,1,3) %提取矩阵a的第1到3列元素组成的子矩阵。 a1 = 1 4 7 2 5 8 3 6 9 >> a2=a(1:2,3:end) a2 = 7 10 13 16 8 11 14 17
1.1 Matlab概述
图形窗口
如执行以下语句 x = 0:0.1:6; y = sin(x); plot(x,y); 在Matlab中可得到右 侧图形
1.1 Matlab概述
Matlab语言的基本要素
Matlab语言主要是由几个基本要素构建而成的,其中包括变量、常 量、数值、字符串、运算符及标点等。 变量的命名规则: 变量名区分大小写; 变量名长度不超过31位,第31位之后的字符被忽略; 变量名以字母开头,变量名中可以包含字母、数字、下划线,但不能使用标点。
1.1 Matlab概述
编辑窗口
用来创建和修改M-files (MATLAB 脚
本)
路径是 File — New — M-file 或 Open file...,编辑完成后按F5运行程序。
1.1 Matlab概述
图形窗口
图形窗的打开方式有三种: 1 在 主 窗 口 上 依 次 选 择 File→New →Figure或Open file…操作时,选择打开 图形文件。 2 在命令窗口输入figure命令。 3 执行结果为图形的语句。
1.3 Matlab的简单操作
编程语句结构
Matlab语言最基本的赋值语句结构为: 变量名列表=表达式 注1:整个赋值语句以;结束,则不在屏幕上返回 结果,否则立即返回结果。 注2:多个语句可在同一行,用逗号分开。 注3:表达是太长可以用续行符号…
1.3 Matlab的简单操作
编程语句结构
循环语句 for, while 条件转移 if end, if elseif else end 开关语句 switch case 注释语句 % 中断语句 break 暂停语句 pause 回显语句 echo on/off
1.3 Matlab的简单操作
分号在matlab语言中所起的作用是作为分隔行的标志,这里包 括在矩阵定义中对行的区分以及在程序代码中对行的划分。在矩阵 定义中,分号之间的数据被认为是矩阵的同一行。对于以分号结尾 的行语句,matlab语言不会把其运算结果显示在命令窗口中。
矩阵的定义需要使用中括号。此外,中括号可以表示空矩阵, 并通过该空矩阵实现对矩阵的部分删除。
1.2 矩阵的建立与计算
矩阵的生成
注意点: 输入矩阵时要以“[ ]”为其标识,即矩阵的元素应在“[]”内部。 矩阵的同行元素之间可由空格或“ ,”分隔,行与行之间用“;”或回车符分隔。 矩阵元素可为运算表达式。 无任何元素的空矩阵也合法。
1.2 矩阵的建立与计算
1 2 3 矩阵 A 4 5 6 的输入: 7 8 9
1.2 矩阵的建立与计算
矩阵是Matlab语言的核心 由m×n个数(i=1,2,...,m;j=1,2,...,n)排成的m行n列的数表
a11 a21 am1
a12 a22 am 2
a1n a2 n amn
a11 a21 A a m1
a12 a22 am 2
1.1 Matlab概述
MATLAB代表 MATrix LABoratory
1.1 Matlab概述
Matlab的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教 授线性代数课程发现其他语言很不方便,便构思开发了MATLAB。最初采用FORTRAN 语言编写,20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写。 1984 年 Moler 博士和一批数学家及软件专家创建了 MathWorks 公司,专门开发 MATLAB。1993年出现了微机版,到现在最新版本是2013b。
线性方程组
系数 的解取决于 常数项
aij (i 1, m, j 1, n)
bi (i 1, m)
1.2 矩阵的建立与计算
线性方程组的系数与常数项按原位置可排为
a11 a21 a m1
a12 a22 am 2
a1n a2 n amn
1.3 Matlab的简单操作
for循环语句
for循环语句其功能是重复执行一条或一组语句的固定次数(也可以是零次)。 表达式实际上是一个矩阵,因为在Matlab中基本元素就是矩阵。当矩阵的每 一列元素依次赋给变量时,循环体语句就执行一次。
1.3 Matlab的简单操作
for循环语句
基本格式: for 循环变量=起始值:步长:终止值 循环体 end 步长缺省值为1,可以在正实数或负实数范围内任意指 定。对于正数,循环变量的值大于终止值时,循环结束;对 于负数,循环变量的值小于终止值时,循环结束。循环结构 可以嵌套使用。
a1n a2 n amn
称为m行n列矩阵,简称m×n矩阵。为表示它是一个整体,总是加一个括弧。
1.2 矩阵的建立与计算
a11 x1 a12 x2 a1n xn b1 a x a x a x b 21 1 22 2 2n n 2 am1 x1 am 2 x2 amn xn bm
s=
i love you
size(): 获取atlab中一些标点符号也被赋以特殊的意义,或表示要进行一定的运算等。 标点 定义 冒号,具有多种应用功能 区分行,及取消结果显示 区分列,及函数参数分隔符等 标点 定义 续行符 注释标记 调用操作系统运算
0.7071 1.0000
1.2 矩阵的建立与计算
矩阵的计算
在matlab语言中运算符包括算术运算 符、关系运算符和逻辑运算符。其中算术 运算符见右表: 其中点运算是指操作元素点对点的 运算,也就是说矩阵内元素对元素之间的 运算,点运算要求参与运算的变量在结构 上必须是相似的。
操作符
定义
+
* .* ^ .^ \ .\
算术加
算术减 算术乘 点乘 算术乘方 点乘方 算术左除 点左除
/
./
算术右除
点右除
1.2 矩阵的建立与计算
矩阵的计算
矩阵的计算包括矩阵的加法、减法、乘法、转置等。 A= 1 2 3 4 5 6 7 8 0 C =A+B返回: C= 2 6 10 6 10 14 10 14 0 B= 1 4 7 2 5 8 3 6 0
1.1 Matlab概述
主要功能:
数值分析 数字图像处理
数值和符号计算 数字信号处理
工程与科学绘图 通讯系统设计与仿真
控制系统设计与仿真 财务与金融工程
1.1 Matlab概述
显著特点:
1 Matlab具有强大的矩阵运算能力,Matrix Laboratory(矩 阵实验室),使得矩阵运算非常简单。 2 它是一种演算式语言,包含大量计算算法,封装了大量的数 学函数,极大地减少了用户编写复杂函数的难度,而且数学表达 式和运算规则与通常的习惯相同。
3 Matlab对许多专门的领域都开发了功能强大的模块集和工具 箱用户可以直接使用工具箱学习、应用和评估不同的方法而不需 要自己编写代码。
1.1 Matlab概述
Matlab界面介绍
1.1 Matlab概述
命令窗口
命令窗口是命令行语句和命令文件执行的 主要窗口。 在命令窗口中直接输入命令或MATLAB函 数,系统自动反馈结果。
1.2 矩阵的建立与计算
字符串:与矩阵基本等价
字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串的每个字符(包括空格)都是字符数组的一个元素。 >> s='i love you' >> size(s) ans = 1 10 >> s(2) ans = >> s(10) ans = u
>> c=a*b c= 30 36 42 66 81 96 102 126 150
>> d=a.*b d= 1 4 9 16 25 36 49 64 81
1.2 矩阵的建立与计算
如何画出sin(x)xcos(x)函数在0-pi区间上的曲线?
提示:通过点运算获得。 x=0:0.1:pi; y=sin(x).*cos(x); plot(x,y)
某厂向三个商店发送四种产品,其发送的数量可用矩阵来刻划。 若用 aij 表示为工厂向 第 i 店发送第 j 种产品数量,则矩阵
a11 a12 A a21 a22 a 31 a32
a13 a23 a33
a14 a24 a34
表示了工厂向三个商店发送四种产品的数量。
>>A = [1,2,3; 4,5,6; 7,8,9] A= 创建带有运算表达式的矩阵: >>b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)]
>> b=[sin(pi/3),cos(pi/4);log(9),tan(pi/4)] b=
1 4 7
2 5 8
3 6 9
0.8660 2.1972
b1 b2 bm
对线性方程组的研究可转化为对这张表的研究。
1.2 矩阵的建立与计算
由空间基本定理知,有且只有一组实数(x,y,z), 使得a=向量OP=xi+yj+zk ,因此把实数对(x,y,z) 叫 做向量a的坐标,记作a=(x,y,z)。
1.2 矩阵的建立与计算
1.3 Matlab的简单操作
>> a=[1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5] a= 1 2 3 4 5 6 7 8 4 3 2 1 8 7 6 5 >> a(:,1:2)=[] a= 3 4 7 8 2 1 6 5 >> b=a([1 3],:) b= 3 4 2 1
1.1 Matlab概述
Matlab是美国MathWorks公司出品的商业数学软件, 主要包括Matlab 和Simulink两大部分,在数学类科技应用 软件中在数值计算方面首屈一指。 M a tl ab 可以进行矩阵运算、绘制函数和数据、实现算 法、创建用户界面、连接其他编程语言的程序等,主要应 用于工程计算、控制设计、信号处理与通讯、图像处理、 信号检测、金融建模设计与分析等领域。