Matlab与数学建模

article/2025/9/16 17:11:18

一、学习目标。

(1)了解Matlab与数学建模竞赛的关系。

(2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险。

(3)掌握Matlab数学建模的回归算法。

二、实例演练。

1、谈谈你对Matlab与数学建模竞赛的了解。

Matlab在数学建模中使用广泛:MATLAB 是公认的最优秀的数学模型求解工具,在数学建模竞赛中超过 95% 的参赛队使用 MATLAB 作为求解工具,在国家奖队伍中,MATLAB 的使用率几乎 100%。虽然比较知名的数模软件不只 MATLAB。

人们喜欢使用Matlab去数学建模的原因:

(1)MATLAB 的数学函数全,包含人类社会的绝大多数数学知识。

(2)MATLAB 足够灵活,可以按照问题的需要,自主开发程序,解决问题。

(3)MATLAB易上手,本身很简单,不存在壁垒。掌握正确的 MATLAB 使用方法和实用的小技巧,在半小时内就可以很快地变成 MATLAB 高手了。

正确且高效的 MATLAB 编程理念就是以问题为中心的主动编程。我们传统学习编程的方法是学习变量类型、语法结构、算法以及编程的其他知识,因为学习时候是没有目标的,也不知道学的知识什么时候能用到,收效甚微。而以问题为中心的主动编程,则是先找到问题的解决步骤,然后在 MATLAB 中一步一步地去实现。在每步实现的过程中,遇到问题查找知识(互联网时代查询知识还是很容易的),定位方法,再根据方法,查询 MATLAB 中的对应函数,学习函数用法,回到程序,解决问题。在这个过程中,知识的获取都是为了解决问题的,也就是说每次学习的目标都是非常明确的,学完之后的应用就会强化对知识的理解和掌握,这样即学即用的学习方式是效率最高,也是最有效的方式。最重要的是,这种主动的编程方式会让学习者体验到学习的成就感的乐趣,有成就感,自然就强化对编程的自信了。这种内心的自信和强大在建模中会发挥意想不到的力量,所为信念的力量。

数学建模竞赛中的 MATLAB 水平要求:

要想在全国大学生数学建模竞赛中拿到国奖, MATLAB 技能是必备的。 具体的技能水平应达到:

1)了解 MATLAB 的基本用法,包括几个常用的命令,如何获取帮助,脚本结构,程序的分节与注释,矩阵的基本操作,快捷绘图方式;

2)熟悉 MATLAB 的程序结构,编程模式,能自由地创建和引用函数(包括匿名函数);

3)熟悉常见模型的求解算法和套路,包括连续模型,规划模型,数据建模类的模型;

4)能够用 MALTAB 程序将机理建模的过程模拟出来,就是能够建立和求解没有套路的数学模型。

要想达到如上要求, 不能按照传统的学习方式一步一步地学习, 而要结合上述提到的学习理念制定科学的训练计划。

2、已知股票的交易数据:日期、开盘价、最高价、最低价、收盘价、成交量和换手率,试用某种方法来评价这只股票的价值和风险。如何用MATLAB去求解该问题?(交易数据:点击此处获取数据)

解题步骤:

第一阶段:从外部读取数据

Step1.1:把数据文件sz000004.xls拖曳进‘当前文件夹区’,选中数据文件sz000004.xls,右键,将弹出右键列表,很快可发现有个“导入数据”菜单,如图 1 所示。

图1. 启动导入数据引擎示意图

Step1.2:单击“导入数据”这个按钮,则很快发现起到一个导入数据引擎,如图 4 所示。

图2. 导入数据界面

Step1.3:观察图 2,在右上角有个“导入所选内容”按钮,则可直接单击之。马上我们就会发现在 MATLAB 的工作区(当前内存中的变量)就会显示这些导入的数据,并以列向量的方式表示,因为默认的数据类型就是“列向量”,当然您可以可以选择其他的数据类型,大家不妨做几个实验,观察一下选择不同的数据类型后会结果会有什么不同。至此,第一步获取数据的工作的完成。

 

第二阶段:数据探索和建模

现在重新回到问题,对于该问题,我们的目标是能够评估股票的价值和风险,但现在我们还不知道该如何去评估,MATLAB 是工具,不能代替我们决策用何种方法来评估,但是可以辅助我们得到合适的方法,这就是数据探索部分的工作。下面我们就来尝试如何在 MATLAB 中进行数据的探索和建模。

Step2.1:查看数据的统计信息,了解我们的数据。具体操作方式是双击工具区(直接双击这三个字),此时会得到所有变量的详细统计信息。通过查看这些基本的统计信息,有助于快速在第一层面认识我们所正在研究的数据。当然,只要大体浏览即可,除非这些统计信息对某个问题都有很重要的意义。数据的统计信息是认识数据的基础,但不够直观,更直观也更容易发现数据规律的方式就是数据可视化,也就是以图的形式呈现数据的信息。下面我们将尝试用 MATLAB 对这些数据进行可视化。

由于变量比较多,所以还有必要对这些变量进行初步的梳理。对于这个问题,我们一般关心收盘价随时间的变化趋势,这样我们就可以初步选定日期(DateNum)和收盘价(Pclose)作为重点研究对象。也就是说下一步,要对这这两个变量进行可视化。

对于一个新手,我们还不知道如何绘图。但不要紧,新版 MATLAB 提供了更强大的绘图功能——“绘图”面板,这里提供了非常丰富的图形原型,如图 3 所示。

图3 MATLAB绘图面板中的图例

要注意,需要在工作区选中变量后绘图面板中的这些图标才会激活。接下来就可以选中一个中意的图标进行绘图,一般都直接先选第一个(plot)看一下效果,然后再浏览整个面板,看看有没有更合适的。下面我们进行绘图操作。

Step2.2:选中变量 DataNum 和 Pclose,在绘图面板中单机 plot 图标,马上可以得到这两个变量的可视化结果,如图 4 所示,同时还可以在命令窗口区看到绘制此图的命令:

>> plot(DateNum,Pclose)


http://chatgpt.dhexx.cn/article/fQVOMeZD.shtml

相关文章

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现,这使在解决各类复杂的问题变得非常简单。常用的数学软件有Mathematica、MATLAB、SAS等软件。MATLAB是“Matrix Laboratory"的缩写&#xff…

数学建模——matlab基本使用

一:命令窗口两个常用基本命令 清除工作区:clear。清屏:clc。 二:变量与基本运算 圆周率表示:pi。lnx代码化:log(x)。e^x代码化:exp(x) x代表次数。sin(x):sin(x);cos(x):cos(x);tan(x):tan(x…

MATLAB数学建模-规划模型总结| MATLAB求解

目录 1 线性规划问题(LP) 风格1 风格2 2 非线性规划 3 动态规划 A星算法 基于dijkstra的概率路线图 4 多目标规划 帕累托最优 支配(Dominace) 不可支配解集 帕累托最优解集 帕累托最优前沿面 线性加权法 约束转化法…

MATLAB--数学建模作图大全及代码说明

目录 1、二维曲线 2、二维渐变图 3、二维散点图 4、条形图 5、填充图 6、多Y轴图 7、三维曲线图 8、三维散点图 9、三维伪彩图 10、裁剪伪彩图 11、等高线图 12、三维等高线图 13、等高线填充图 14、三维矢量场图 15、伪彩图投影图 16、热图 17、分子模型图 1…

如何查询Opencv的版本

环境:Win10 方法: 参考文章上写的很详细,在这里重新编辑一下,保存下来: 1、找到OpenCV的安装主文件夹,在主文件夹中找到“build”文件夹。 2、进入build文件夹以后,在文件夹中找到名为“Ope…

Linux查看opencv 版本

命令如下: [plain] view plain copy print ? pkg-config --modversion opencv 库文件一般放在: /usr/local/lib (PS,系统装的OpenCV版本太多,查找也让人头疼) 头文件一般在: /usr/local/inc…

ubuntu系统下如何查看opencv版本

打开终端,在终端输入: pkg-config --modversion opencv 可以看出,我安装的是opencv 2.4.13版本的。

在pycharm中查看opencv版本

import cv2 print(cv2.__version__)运行后如下图为自己各自安装的版本:

linux下查看opencv版本

直接使用命令 pkg-config --modversion opencv

opencv查看版本路径

1、查看ubuntu下的OpenCV安装版本: pkg-config opencv --modversion 2、查看ubuntu的opencv安装路径: sudo find / -iname "*opencv*" 在全盘上不区分大小写,搜索带有关键字opencv的所有文件及文件夹都会输出到终端,如…

Windows查看OpenCV版本

打开命令提示符 winr 键打开运行窗口,输入cmd,即可看到弹出的命令提示符窗口输入指令 python import cv2 cv2.__version__得到结果

http 请求 返回状态码 405 的问题

状态码为405表示请求的方式不对, 请求的方式有get、post、head、put…… 常用的为post和get。 代码里面我刚刚开始的时候使用的是HttpPost发的请求,另外一边呢,刚刚开始的时候只有一个get请求在那等着呢。 等我看到405之后,哦&…

HTTP状态 405 - 方法不允许

错误描述: HTTP状态 405 - 方法不允许 类型 状态报告 消息 Request method ‘GET’ not supported 描述 请求行中接收的方法由源服务器知道,但目标资源不支持 此时的原因是请求类型错误,网页是get请求,但是实际上是post请求 解…

HTTP 405 Method Not Allowed问题的解决

项目中在提交表单时,提示“HTTP 405”错误——“Method Not Allowed” 这里显示的是,方法不被允许。也许经验丰富的开发人员一眼就明了当前的问题。 从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提…

http请求返回405 (Method Not Allowed)

一、问题描述 使用post请求json文件中的数据时,返回报错405(Method Not Allowed) 二、解决方法 由post请求改为get请求,请求静态资源时用get请求; 原因: 使用post请求并且发送的URL是一个具体的资源的时候例如JSON文件, 网站解…

http 301、302、304、400、405、415状态码解释

301 moved permanently、302 found、303 see other 301/302/303都表示重定向,所以放在一起讲解。 301表示永久重定向(301 moved permanently),表示请求的资源分配了新url,以后应使用新url。 302表示临时性重定向&am…

http 请求405 错误

问题 postman模拟请求springboot项目,显示台报错 详细问题 解决 由于springboot接口要求以post方式发送请求 对于postman模拟请求应当以post方式发送 原因 405错误表示方法不允许, 多数情况下, 405错误是由于GET,POST,DELETE,PUT等方法…

页面http 405错误排查

问题: 这两天pre环境前端发版后,pre就访问不到了,页面会报405错误 分析 HTTP 错误 405 405 不允许此方法 一般是方法是GET你用POST请求了 对于请求所标识的资源,不允许使用请求行中所指定的方法。请确保为所请求的资源设置了正确的…

Http405错误,方法类型也没有错,解决办法

405错误不一定是GET,POST,DELETE,PUT等方法类型不一致才可能导致的,也可能是URL的问题。 比如我的URL为http://localhost:8080/authority/list.action 由于web.xml设置了*.action的后缀过滤,这时如果我用SpringMVC的RequestMapping再去匹配这个action后缀…

Http状态405-方法不允许

Http状态405-方法不允许 1.问题与解决方法 错误描述:新创建一个简单的servlet项目。代码如下图: 启动Tomcat 浏览器输入项目正确路径。浏览器显示405错误。如下图: 解决方法:删除下列代码。 super.doGet(req.resp); super.doPo…