MATLAB从入门到算法实践

栏目: 编程工具 · 发布时间: 6年前

内容简介:MATLAB的优点:1、 函数多,工具箱全功能全
编辑推荐:

本文来自于CSDN,介绍了MATLAB的优缺点、应用场景以及数学建模等相关知识。

MATLAB的优点:

1、 函数多,工具箱全

功能全

2、 人性化,且在不断改进

推荐使用最新的版本

3、 集成度高、文档完善

更加人性化

4、 上手快,表达方式更符合数学模式

Matlab下标从1开始,似伪代码

5、 代码开发时间短

Matlab集成度高

任何编程语言有优势也有不足的地方

MATLAB的缺点

1、 速度慢

解释型语言,和 c语言 速度不相上下,少用循环,多用向量化

2、 版权

闭源

数学建模

1、 解决实际问题

2、 对数学 工具 的理解

3、 能力的培养

创新能力

解决问题能力

提高见识

一、 应用场景

MATLAB代码实现,SIMULINK模块化实现

MATLAB从入门到算法实践

有很多接口方便语言之间交流

- 技术计算。数学计算、分析、可视化和算法开发

- 控制系统设计。控制系统基于模型的设计,包括嵌入式系统

- 仿真、快速原型及代码生成等

- 信号处理和通信。信号处理和通信系统基于模型的设计,包

- 括仿真、代码生成和验证等

- 图像处理。图像采集、分析、可视化和算法开发

- 测试和测量。测试和测量应用中硬件连接性和数据分析

- 计算生物学。生物数据和系统的分析、可视化与仿真

- 计算金融。金融建模、分析、交易及应用程序开发

- 数学建模

二、 功能举例

1 . 数值计算

29*(2+23/3)-5^2%数学公式直接得出结果

a=1%变量赋值运算

b=2

c=a+b

A = [1 2 3; 4 5 6; 7 8 10] 矩阵,基本运算单元
rng(0) %设置随机种子,便于读者验证
A = ones(2, 5) * 6 % 元素全部为6的2*5矩阵
B = rand(3, 5)
C = [A; B] % 数组合并
format long % 长格式显示
format short % 短格式显示

2 . 矩阵和数组操作

数组计算是指两个数组之间相对应元素之间计算

矩阵计算是指线性代数的规则计算

A=[1 2;3 4]; % 测试矩阵A
B=[4 3;2 1]; % 测试矩阵B
r1=100+A % 矩阵A加上一个常数
r2_1=A*B % 两个矩阵相乘,矩阵乘法
r2_2=A.*B % 两个矩阵相乘,数组乘法

3 . 稀疏矩阵

B = bucky;

MATLAB从入门到算法实践

spy(B)
D=full(B)
A=reshape(1:18,2,3,3) % 三维数组

4.逻辑型

M=magic(4) sum(M)%每一列的和相等

M>6 %大于6的元素

a='matlab'%字符串

5.结构数组

MATLAB从入门到算法实践

employee.name='henry';

employee.sex='male'

employee.age=25;

employee.number=12345;

%也可定义二维数组

employee(2).name='lee';

employee(2).sex='female';

employee(2).age=23;

employee(2).number=98765;

employee(2)

6.元胞数组

MATLAB从入门到算法实践

下标通过数字编号可循环,元素里面是数据类型。

7.日期和时间

t = datetime(2017,6,28,6:7,0,0)

datenum(t)%2014b以前的版本适用

datevec(t)

t=Day = 27:28%修改日期

matlab可以直接导入excel的数据

table属性,可以通过行列显示也可以通过名称

设置快捷方式:clear:内存中清除变量

clc:命令行清除

closeall:绘图窗口关闭

8.差分

rng(0) %设置随机种子

A=randperm(9) %生成随机数列

B = diff(A) %求数列的差分

9.梯度求解

v = -2:0.2:2;

[x,y] = meshgrid(v);

z = x .*exp(-x.^2 - y.^2); %创建测试数据

[px,py] = gradient(z,.2,.2); %求梯度

contour(v,v,z),hold on,quiver(v,v,px,py),hold off %绘制等高线和梯度方向

10.一维差值数组

x=0:10;

y=cos(x);

xi=0:0.25:10;

strmod={'nearest','linear','spline','pchip'} %将差值方法存储到元胞数组

strlb={'(a)method=nearest','(b)method=linear',...

'(c)method=spline','(d)method=pchip'}%绘图标签

for i=1:4

yi=interp1(x,y,xi,strmod{i});%插值

subplot(2,2,i) %子图

plot(x,y,'ro',xi,yi,'b'),xlabel(strlb(i))

end

MATLAB从入门到算法实践

11.计算拟合

rng(0) %设置随机种子

x=1:1:10;

y=-0.9*x.^2+10*x+rand(1,10).*5;%产生测试数据

plot(x,y,'o') %绘制并标出原始数据点

p=polyfit(x,y,2)

xi=1:0.5:10;

yi=polyval(p,xi); %计算拟合的结果

hold on

plot(xi,yi); %绘制拟合结果图

hold off

MATLAB从入门到算法实践

12.关于误差

a=0

for n=1:10000

a=a+0.1; % 0.1以二进制存储会有截断误差

end

13.可视化

14.概率分布

15.数据I/O

16.优化算法

MATLAB从入门到算法实践

MATLAB从入门到算法实践

穷举

Simulink

17.信号处理

17.1信号处理基本理论

17.1.1信号的生成

17.1.2数字滤波器结构

17.2 IIR滤波器经典设计

17.2.1 IIR滤波器直接设计法

17.2.2 IIR滤波器

17.2.3 广义巴特沃斯IIR滤波器设计

17.3 FIR滤波器的MATLAN实现

17.3.1 FIR滤波器设计

17.3.2 fir1函数

17.3.3 fir2函数

18.1 图像文件的操作

18.1.1 查询图像文件的信息

18.1.2 图像文件的读写

18.1.3 图像文件的显示

18.1.4 图像格式的转换

18.2 图像的几何运算

18.2.1 图像的平移

18.2.2 图像的镜像变换

18.2.3 图像缩放

18.2.4 图像的旋转

18.2.5 图像的剪切

18.3 图像的正交变换

18.3.1 傅里叶变换

18.3.2 离散余弦变换

18.3.3 Radon变换

18.4 MATLAB图像增强

18.4.1 像素值及其统计特性

18.4.2 对比度增强

18.4.3 直方图均衡化

18.4.4 空域滤波增强

18.4.5 频域增强

19.1 机器学习和神经网络

三、 新版本功能

Live Script

功能丰富,插入数据种类多,可以同时看到带和和输出结果

没有断点,不能调试

Table键可以自动补全

四、 大数据及人工智能

Data Store

结合Tall Array数据结构,读取部分文件

深度学习

无人驾驶

数值计算基础知识

可视化操作

脚本/函数编写、调试

概率与统计功能

优化

预测

数学建模

数学模型是用数学描述一些东西,算出一些结果,一个事务,抽象成一个数学事务,就是建模的过程。

一、简介

数学建模不等于数学:数学建模不是纯粹的数字和方程

数学建模:一解决某个时间问题为目的,经过简化,从中抽象归结出来的数学问题就是该问题的数学模型,这个过程称为数学建模

数学建模:用文字、符号、图标、公式、框图等描述客观事物的某些特征和内在联系的模型。

二、应用举例

MCM99问题:“非法”聚会

许多公共设施的房间都标有人数的记号(合法容量),该数目可嘉定是以紧急情况下从房屋出口逃出的人数为基准确定的。

建立数学模型,讨论若干准则决定出房屋的“合法容量”,考虑几种不同的房屋结构。

将模型用于你所在学院(或附近城镇)的公共设施中,如果该类设施已标有“合法”人数的话,请将模型所得结果与之比较

MCM03问题:Gamma刀治疗方案

放射外科用单一高剂量射线照射颅内的脑瘤。Gamma刀是一个钴-60源通过盔状物发射出来的并交会于一个点,从而在有效剂量的水平上形成一个近似球形的分布(称为“shot”)。四个盔状物分别具有4、8、14和18mm的射束通道直径。大多数目标体积要用1到15个“shot”加以处理。目标体积通常是一个含数百万个点的3D数字图像。你的任务是用球体填充问题模型来建立最优的Gamma到治疗方案。设计算法必须是相当有效率的

ICM2017问题:优化机场安检口旅客通行(排队问题)

建立一个或多个模型,研究旅客通过安检口的流量,确定瓶颈,明确判断当前流程问题区域位置

设计两个或多个对现有系统的潜在改进,提高旅客通信,减少等待时间。模拟这些变化展示改进如何影响流程

CUMCM14问题:折叠桌

圆形桌面,桌腿随铰链可摊成平板。桌腿由两组根木条组成,每组由一根钢筋连接,钢筋两端固定于最外侧的两根木条上,沿木条有空槽以保证可滑动

给定平板120cm×50cm×3cm,木条宽2.5cm,钢筋固定在最外侧木条的中心,折叠后桌高53cm。描述折叠过程,给出设计加工参数。

对于任意给定折叠桌高度和圆桌面直径,讨论长方形平板材料和折叠桌的最优(稳固性好,加工方便,用材最少)设计将该参数

根据客户任意设定的折叠桌高度,桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和最优加工参数。

CUMCM16问题:系泊系统的设计

计算风速为12m/s和24m/s时钢桶和各节钢管的倾斜角度、锚链形状、浮标的吃水深度和游动区域

- 请调节重物球的质量,使得钢桶的倾斜角度不超过5度,锚链在锚点与海床的夹角不超过16度

- 水深16-20m,海水速度<1.5m/s,风速<36m/s,请给出考虑风力、水流力和水深情况下的系泊系统设计。


以上所述就是小编给大家介绍的《MATLAB从入门到算法实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mathematica演示项目笔记

Mathematica演示项目笔记

吴飞 / 清华大学出版社 / 2010-7 / 39.00元

Mathematica是由美国科学家斯蒂芬·沃尔夫勒姆(Stephen Wolfram)领导的Wolfram Research Inc.研究公司所开发的一体化计算引擎。《Mathematica演示项目笔记》结合Mathematica演示项目以及第6版和第7版的最新功能(动态交互性、即时三维图形、数值模拟和仿真、高效实时计算、集成语言系统、多核并行计算和数字图像处理等),讲解了符号计算、程序设计、算......一起来看看 《Mathematica演示项目笔记》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器