matlab基础教程(课件PPT)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下来分别使用群举方式、随机抽样方 式统计出各个号码出现的概率。
21
群举法
程序流程: 1 先将数据从excel中导出 2 使用一个长度为十的向量统计号码出
现次数 3 根据统计后的结果画出柱状图
22
群举法
代码:
data = xlsread('d:\3d.xls','C3:H3270');
%数据个数= 6*3268 =19608
据排序(升序)。 目的:
熟练控制语句的使用方法,了解程序设 计过程,熟悉向量的访问过程。
11
排序
冒泡排序算法流程: 1.从第一个元素开始遍历整个向量组 2.如果该元素大于第二个元素则交换 3.交换后以第二个元素为基准重复2 4.如果在执行3时向量没有下一个元素则
停止。 5.继续从第一个元素开始执行1~4操作,
直到结束为止。
12
排序
实例分析:
intial :
step 1: 2:
......(7次)
13
排序
代码:
v = [2,1,4,7,3,6,8,9]; for i=1:8
for j=1:8-i-1 if v(j)>v(j+1) t = v(j); v(j) = v(j+1); v(j+1) = t; end
v =[];
%v(1) 代表0
for i=1:10
v(i) = 0;
end
for i=1:3268
for j=1:6
v(data(i,j)+1) = v(data(i,j)+1)+1;
end
end
for i=1:10
v(i) = v(i)/19608;
end
b=bar(v);
grid on;
set(gca,'XTickLabel',{'0','1','2','3','4','5','6','7','8','9'})
end end
i<=8
false 结束
i=i+1
True
False j<=8-i-1
true
V(j)>V(j+1) false
j=j+1
true
V(j) ó V(j+1)
14
杨辉三角——熟悉矩阵操作
大家自己设计实现: 效果: 1 11 121 1331 14641
15
查找素数
实现过程:
code:பைடு நூலகம்
17
excel应用
excel虽然有强大的函数库支持数据处 理,但其使用方式还是比不上程序设计语 言那样灵活。本节只讲将excel表导入 matlab中。回写excel的内容大家自己研究。
注意:如果使用matlab调用excel中数据,那 么必须安装微软的excel,wps等都不支持 matlab调用。
5
·向量
声明方式: V = [1,….,N]; 访问方式:V(n); %重中之重 转置操作:V’ 遍历输出:V 删除元素: V(n) = []; ……
6
矩阵
声明方式: 1. Matrix = [1,2,3;4,5,6;7,8,9]; 2. Matrix = [1 2 3;4 5 6;7 8 9]; 访问操作: Matrix(n,m)-----访问到第n行第m列个元素
3
数据结构
几种常见数据结构: 1.整型 2.浮点型 3.向量(一维数组)* 4.矩阵(二维数组)* ……
4
整型&浮点型
定义方式: Value = 1/2/…../N; 操作: 求模操作: mod(Value,基数);(例如:mod(5,9) = 5) 求幂操作:Value^n (Value的n次方) 开根号:Value^n ( -1<n<1) ………..
sign = 0;
1 了解素数定义
for i = 1:100 for j=2:i-1
2 设计算法 3 画出程序流程图
if mod(i,j) == 0 sign = 1;
end end if sign == 0
4 算法实现
i else
sign=0;
end
end
16
matlab语言结构
matlab简单的程序设计可以使用模块化 的程序设计思想(像流程图一样)。如果 大家掌握了matlab语言的语法,能熟练使 用matlab。那么大家就可以试着去设计和 实现一些算法。
18
excel应用
xlsread函数: xlsread(road,range);
实例: data = xlsread('d:\血常规.xls','D1:D50'); data在执行后成为一个长度为50的列向
量,其中road参数这里用了D盘下的血常 规.xls文件,D1:D50代表了从D列第一行 到第50行的数据。
xlabel('x axis ');
ylabel('y axis');
23
群举法
24
随机抽样
算法思想: 从中抽出10000个样本进行分析,使用
随机处理函数rand。
25
随机抽样
data = xlsread('d:\3d.xls','C3:H3270');%数据个数= 6*3268 =19608
7
控制语句
if语句: 1. if 条件
操作 end
2. if 条件1 操作1
else 操作2
end
8
控制语句
for循环: for i = linspace(1,10,10)
操作 end
9
实例
1.排序问题 2.杨辉三角输出(自己设计) 3.求1~100之间的所有素数(自己设计)
10
排序
问题: V = [2,1,4,7,3,6,8,9] ,将V中的所有数
MATLAB 基础
1
Matlab 基础
内容: 1.数据结构基础 2.控制语句 3.相关基础处理的几个问题 4.结合excel应用
目的:用计算机专业学生的角度去学习计 算机语言,尽快去掌握一个语言的基础。 学会程序设计过程,成为编程达人。
2
数据结构
数据结构可以直观的了解成为一组同一 类型的数据和定义在该数据类型的一组操 作。很多操作还得满足闭包等一些性质。 本课并不是以研究一些基础公理为目的, 而是通过数据结构的概念更好的让大家了 解Matlab语言基础,从而让大家更快更好 的掌握Matlab。
19
excel应用
福彩3D符合概率规律吗? 3D的规则是从0~9选择6个数,按照先后
顺序来决定获奖的序列。但是它一定就符 合概率规律,0~9中10个数都是等概率出现 的吗?下面通过2002~2011年的数据结合 matlab程序,统计一下它是否符合概率统 计的结果。
20
分析
假设福利彩票中各个号码被选中的概率 是满足平均分布的,当其中一个号码被选 中后其他号码的概率值相比上一次依然不 变。在该假设下,号码被选中的概率在整 个过程中都不会改变。
21
群举法
程序流程: 1 先将数据从excel中导出 2 使用一个长度为十的向量统计号码出
现次数 3 根据统计后的结果画出柱状图
22
群举法
代码:
data = xlsread('d:\3d.xls','C3:H3270');
%数据个数= 6*3268 =19608
据排序(升序)。 目的:
熟练控制语句的使用方法,了解程序设 计过程,熟悉向量的访问过程。
11
排序
冒泡排序算法流程: 1.从第一个元素开始遍历整个向量组 2.如果该元素大于第二个元素则交换 3.交换后以第二个元素为基准重复2 4.如果在执行3时向量没有下一个元素则
停止。 5.继续从第一个元素开始执行1~4操作,
直到结束为止。
12
排序
实例分析:
intial :
step 1: 2:
......(7次)
13
排序
代码:
v = [2,1,4,7,3,6,8,9]; for i=1:8
for j=1:8-i-1 if v(j)>v(j+1) t = v(j); v(j) = v(j+1); v(j+1) = t; end
v =[];
%v(1) 代表0
for i=1:10
v(i) = 0;
end
for i=1:3268
for j=1:6
v(data(i,j)+1) = v(data(i,j)+1)+1;
end
end
for i=1:10
v(i) = v(i)/19608;
end
b=bar(v);
grid on;
set(gca,'XTickLabel',{'0','1','2','3','4','5','6','7','8','9'})
end end
i<=8
false 结束
i=i+1
True
False j<=8-i-1
true
V(j)>V(j+1) false
j=j+1
true
V(j) ó V(j+1)
14
杨辉三角——熟悉矩阵操作
大家自己设计实现: 效果: 1 11 121 1331 14641
15
查找素数
实现过程:
code:பைடு நூலகம்
17
excel应用
excel虽然有强大的函数库支持数据处 理,但其使用方式还是比不上程序设计语 言那样灵活。本节只讲将excel表导入 matlab中。回写excel的内容大家自己研究。
注意:如果使用matlab调用excel中数据,那 么必须安装微软的excel,wps等都不支持 matlab调用。
5
·向量
声明方式: V = [1,….,N]; 访问方式:V(n); %重中之重 转置操作:V’ 遍历输出:V 删除元素: V(n) = []; ……
6
矩阵
声明方式: 1. Matrix = [1,2,3;4,5,6;7,8,9]; 2. Matrix = [1 2 3;4 5 6;7 8 9]; 访问操作: Matrix(n,m)-----访问到第n行第m列个元素
3
数据结构
几种常见数据结构: 1.整型 2.浮点型 3.向量(一维数组)* 4.矩阵(二维数组)* ……
4
整型&浮点型
定义方式: Value = 1/2/…../N; 操作: 求模操作: mod(Value,基数);(例如:mod(5,9) = 5) 求幂操作:Value^n (Value的n次方) 开根号:Value^n ( -1<n<1) ………..
sign = 0;
1 了解素数定义
for i = 1:100 for j=2:i-1
2 设计算法 3 画出程序流程图
if mod(i,j) == 0 sign = 1;
end end if sign == 0
4 算法实现
i else
sign=0;
end
end
16
matlab语言结构
matlab简单的程序设计可以使用模块化 的程序设计思想(像流程图一样)。如果 大家掌握了matlab语言的语法,能熟练使 用matlab。那么大家就可以试着去设计和 实现一些算法。
18
excel应用
xlsread函数: xlsread(road,range);
实例: data = xlsread('d:\血常规.xls','D1:D50'); data在执行后成为一个长度为50的列向
量,其中road参数这里用了D盘下的血常 规.xls文件,D1:D50代表了从D列第一行 到第50行的数据。
xlabel('x axis ');
ylabel('y axis');
23
群举法
24
随机抽样
算法思想: 从中抽出10000个样本进行分析,使用
随机处理函数rand。
25
随机抽样
data = xlsread('d:\3d.xls','C3:H3270');%数据个数= 6*3268 =19608
7
控制语句
if语句: 1. if 条件
操作 end
2. if 条件1 操作1
else 操作2
end
8
控制语句
for循环: for i = linspace(1,10,10)
操作 end
9
实例
1.排序问题 2.杨辉三角输出(自己设计) 3.求1~100之间的所有素数(自己设计)
10
排序
问题: V = [2,1,4,7,3,6,8,9] ,将V中的所有数
MATLAB 基础
1
Matlab 基础
内容: 1.数据结构基础 2.控制语句 3.相关基础处理的几个问题 4.结合excel应用
目的:用计算机专业学生的角度去学习计 算机语言,尽快去掌握一个语言的基础。 学会程序设计过程,成为编程达人。
2
数据结构
数据结构可以直观的了解成为一组同一 类型的数据和定义在该数据类型的一组操 作。很多操作还得满足闭包等一些性质。 本课并不是以研究一些基础公理为目的, 而是通过数据结构的概念更好的让大家了 解Matlab语言基础,从而让大家更快更好 的掌握Matlab。
19
excel应用
福彩3D符合概率规律吗? 3D的规则是从0~9选择6个数,按照先后
顺序来决定获奖的序列。但是它一定就符 合概率规律,0~9中10个数都是等概率出现 的吗?下面通过2002~2011年的数据结合 matlab程序,统计一下它是否符合概率统 计的结果。
20
分析
假设福利彩票中各个号码被选中的概率 是满足平均分布的,当其中一个号码被选 中后其他号码的概率值相比上一次依然不 变。在该假设下,号码被选中的概率在整 个过程中都不会改变。