matlab快速入门案例及常用技巧 | 《matlab数学建模方法与实践(第三版)》学习笔记

目录

快速入门案例:

解决流程:

具体实现:

一、获取数据

二、数据探索和建模

三、分享结果

常用技巧

一、常用标点功能

二、常用操作指令

三、指令编辑操作键

四、matlab数据类型

五、开发模式

总结

附件


快速入门案例:

已知股票的交易数据,即日期/日期序列值(Date/DateNum)、开盘价(Popen)、最高价(Phigh)、最低价(Plow)、收盘价(Pclose)、成交量(Volum)和换手率(Turn),试用某种方法来评价这只股票的价值和风险。

(数据文件可在附件里下载)

注:日期序列值(DateNum):日期数据的实质其实是“序列值”,按照“以1900年1月1日为第1天”的算法,算出单元格中的日期为第几天。例如,2014年1月1日从1900年1月1日算起正好是第41640天,所以“2014/1/1”的序列值即为41640。


解决流程:

  1. 获取数据(如何把excel中的数据导入matlab)
  2. 数据探索和建模(找到评价股票价值和风险的“参考量”及其算法)
  3. 分享结果(做成脚本和发布)

具体实现:

一、获取数据

直接在matlab中右键文件 - 导入数据,弹出对话框,可选择输出类型表、列向量、数值矩阵、字符串数组、元胞数组(matlab中常用变量类型,本文选择列向量),单击导入所选内容,数据成功导入变量。

       

导入所选内容下拉菜单选择生成脚本 ,matlab打开脚本对话框,并自动生成导入数据需要调用的代码。

代码如下:

%% 导入电子表格中的数据
% 用于从以下电子表格导入数据的脚本:
% 工作簿: C:\Users\Hao\Desktop\程序_MATLAB数学建模方法与实践_卓金武等\Cha2\sz000004.xls
% 工作表: Sheet1
% 由 MATLAB 于 2022-02-25 11:50:30 自动生成

%% 设置导入选项并导入数据
opts = spreadsheetImportOptions("NumVariables", 8);

% 指定工作表和范围
opts.Sheet = "Sheet1";
opts.DataRange = "A2:H99";

% 指定列名称和类型
opts.VariableNames = ["Date1", "DateNum1", "Popen1", "Phigh1", "Plow1", "Pclose1", "Volum1", "Turn1"];
opts.VariableTypes = ["double", "double", "double", "double", "double", "double", "double", "double"];

% 导入数据
tbl = readtable("C:\Users\Hao\Desktop\程序_MATLAB数学建模方法与实践_卓金武等\Cha2\sz000004.xls", opts, "UseExcel", false);

%% 转换为输出类型
Date1 = tbl.Date1;
DateNum1 = tbl.DateNum1;
Popen1 = tbl.Popen1;
Phigh1 = tbl.Phigh1;
Plow1 = tbl.Plow1;
Pclose1 = tbl.Pclose1;
Volum1 = tbl.Volum1;
Turn1 = tbl.Turn1;

%% 清除临时变量
clear opts tbl

二、数据探索和建模

2.1 分析数据

选定日期和收盘价作为重点研究对象,对数据进行数据可视化处理以更好的认识数据(试用plot)。

依次选择DateNum、Pclose(先选的对应x轴,后选对应y轴),然后点击绘图下的plot选项,生成二维线图。

代码如下:(曲线图和柱状图)

%% 数据探索
figure % 创建一个新的图像窗口
plot(DateNum,Pclose,'k') % 更改图的的颜色为黑色(打印后不失真)
datetick('x','mm');% 更改日期显示类型
xlabel('日期'); % x轴说明
ylabel('收盘价'); % y轴说明
figure 
bar(Pclose) % 条形图,作为对照图形

2.2 建模

我们选定两个参量来描述股票的价值和风险。

斜率(股票的价值)

最大回撤(股票的风险)

注:回撤是从一个时期开始到结束时总回报的百分比下降。如果总权益时间序列在整个期间都在增加,则回撤为 0。否则,它是一个正数。最大回撤是下行风险的事前代理,它计算在指定时间间隔内可以形成的所有时间间隔内的最大回撤。

如何得到曲线斜率?根据数据可视化结果,数据趋势大致呈线性,可将曲线拟合为线性。polyfit()

代码如下:(拟合后的曲线图及对照)

%% 股票价值的评估
p = polyfit(DateNum,Pclose,1); % 多项式拟合
% 分号作用为不在命令窗口显示执行结果
P1 = polyval(p,DateNum); % 计算多项式 p 在 DateNum 的每个点处的值
figure
plot(DateNum,P1,DateNum,Pclose,'*g'); % 模型与原始数据的对照
value = p(1) % 将斜率赋值给value, 作为股票的价值。

如何得到曲线最大回撤?maxdrawdown()

代码如下:

%% 股票风险的评估
MaxDD = maxdrawdown(Pclose); % 计算最大回撤
risk = MaxDD  % 将最大回撤赋值给risk, 作为股票的风险

图形结果:

三、分享结果

1、做成能独立运行的程序,如脚本

2、报告或论文

3、软件和应用

做成脚本和软件,使应用更高效和模块化。而生成报告是比较实用的项目展示形式,对于写报告和论文,选择word格式更方便。


常用技巧

一、常用标点功能

,

显示计算结果的指令与其后面指令之间的分隔

输入量与输入量之间的分隔

数组元素的分隔

;

不显示计算结果指令的结尾标志

不显示计算结果的指令与其后面指令之间的分隔

数组行间的分隔

:

生成一维数值数组

用作单下标援引时,表示全部元素构成的长列

用作多下标援引时,表示对应维度上的全部元素

%

注释

' '

字符串标记符

( )

数组援引时用

函数指令时表示输入变量

[ ]

输入数组时用

函数指令时表示输出变量

{ }

元胞数组标记符

...

由三个以上连续点构成,可视为以下的物理行是该行的逻辑继续

二、常用操作指令

clc

清除指令窗口中显示的内容

clear

清除matlab工作空间中保存的变量

close all

关闭所有打开的图形窗口

edit

打开m文件编辑器

disp

显示变量的内容

三、指令编辑操作键

↑↓

前寻/后寻调回已输入过的指令行

Tab

补全命令

四、matlab数据类型

matlab中数据绝大多数以数组形式使用。

特征数据类型用途

与常用

编程语

言类似

逻辑(logical)---

字符(char)

---
数值(numeric)---
结构体(structure)---

matlab

特有

元胞(cell)元胞数组的元素,元胞数组视为一种无所不包的通用矩阵(广义矩阵),元胞可以是任何一种数据类型的常数或常量,其尺寸、占用内存空间、内容可完全不同。
表(table)

 支持类型数据类型方面与元胞类似。优势:相当于一个小型数据库。展示数据上,可像EXCEL那样易于展示数据;数据操作上,见于数据库操作,如插入、查询、修改。

五、开发模式

1、命令行模式

小型科学计算问题,项目的探索阶段

2、脚本模式

重复执行运算

3、面向对象模式

开发维护大型应用与数据结构

总结

针对matlab的学习,根据具体的项目更加高效,善于查找。

matlab代码总结:

  • figure % 创建一个新的图像窗口
  • plot(x,y1,x,y2,'k') %在一个坐标内绘制2个曲线图
  • datetick('x','mm') % 更改日期显示类型
  • xlabel('日期') % x轴说明
  • ylabel('收盘价') % y轴说明
  • title('标题') %输入标题
  • bar(y) % 条形图
  • polyfit(x,y,M) % 多项式拟合
  • polyval(p,x) % 计算多项式 p 在 x 的每个点处的值
  • maxdrawdown(y) % 计算最大回撤

附件

链接(迅雷):https://pan.xunlei.com/s/VMwolVdy0NCUkYnoBkItcFvyA1
提取码:9p3y

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《MATLAB数学方法实践》是一本经典的数学书籍,已经出了第三,而电子则让读者更加便捷地获取知识。本书使用MATLAB软件,详细介绍了数学的基本方法实践过程,并提供了大量的例子和程序代码,为读者提供了深入了解数学的机会。 首先,本书介绍了数学的基本流程,包括问题定义、立、型分析与验证等方面,帮助读者了解整个数学过程的组成部分和每个阶段的作用及意义。其次,本书还详细介绍了数学常用数学方法,如微积分、线性代数、概率统计等,同时也介绍了MATLAB在这些方法中的应用。此外,本书还提供了大量的 MATLAB 命令与函数,如符号计算、非线性方程求解、微分方程求解等,使得读者可以更加便捷地使用MATLAB,从而更加高效地完成数学工作。 最后,本书还提供了丰富的应用案例,包括金融风险评估、物流优化、疾病传播型等各类问题,让读者可以通过实际应用来加深对数学的理解和掌握。 总之,《MATLAB数学方法实践》第三电子是一本极具实用价值的数学书籍,不仅涵盖了基础知识,还提供了大量的实际案例供读者参考,具有很高的参考价值,适合广大数学爱好者和从业人员阅读。 ### 回答2: 《MATLAB数学方法实践》(第三)电子是一本非常重要的工具书,它介绍了MATLAB数学方面的应用方法和实际操作。这本书适合数学、工程、科学等领域的学生和研究人员使用,是掌握MATLAB数学技能的必备教材。 本书分为数学基础、非线性规划、整数规划、装箱问题、图的表示与遍历、网络最优化等几个部分,详细介绍了MATLAB在这些领域的应用。其中,非线性规划和整数规划介绍了有关约束条件的类型、求解方法和算法原理,从而帮助读者深入理解MATLAB数学型。 此外,本书也包含了大量的实例和应用程序,这些案例都由作者根据实际问题设计的,使读者更容易理解和学习。其中,网络最优化案例中,作者使用MATLAB进行数据分析和可视化展示,从而进一步加深了读者对MATLAB的理解。 总之,《MATLAB数学方法实践》(第三)电子提供了丰富的案例实践操作,既适合初学者学习,也适合已经有一定经验的人使用。这大大提高了学习者的数学水平,有助于应用MATLAB更快、更高效地解决实际问题。 ### 回答3: 《MATLAB数学方法实践(第三)》是一本全面介绍MATLAB数学的教材,旨在教授读者如何使用MATLAB进行数学实践应用。 本书首先介绍了MATLAB的基础知识和常用函数、数据结构、变量和运算符等,以及矩阵运算和数据向量化的重要性。接着,书中详细介绍了数学方法和过程,包括数学型、型求解、型评价和修改等。同时,本书也探讨了常用数学领域的应用,如线性规划、动力系统、微分方程、时间序列等。 本书还具有很强的实践性,书中提供了大量的案例和实例,让读者能够理论联系实际。本书也介绍了MATLAB在各个领域中的应用,如物理、工程、生物、金融等。 总之,《MATLAB数学方法实践(第三)》是一本很好的MATLAB入门教材,不仅有助于读者全面了解MATLAB的基础知识和应用,还能提高读者的数学实践能力。对于数学、工程、计算机、经济、物理等领域的同学和研究者都具有很大的参考价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HaGoq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值