算法第二弹-线性规划之投资的收益和风险分析及代码实现

来源:互联网 发布:医疗软件实施工程师 编辑:程序博客网 时间:2024/05/15 18:12

嘻嘻,当你看到这篇文章的时候,是的,我又更新啦!初学小白的我对于如宇宙黑洞般一样神秘的算法,分享给大家一些小小的感受,第二弹!

算法和数学息息相关,巧妙的逻辑往往建立在数学上,今天结合线性规划,谈谈投资中收益与风险等因素的相互关系,为决策者在实际生活中提供参考依据,以及用Matlab实现的方法。学以致用,所以这是一篇实用贴!大笑


题目:


----------------------------------------------------------------------分割线---------------------------------------------------------------------

以下是数学建模过程:

一.符号说明


二.基本假设


三.模型的分析与建立


四.模型简化



五.模型一的求解


六.结果分析



-------------------------------------------------至此模型的分析就告一段落啦,嘻嘻------------------------------------------------------

单纯形法是求解线性规划问题最常用最有效的算法之一,此处介绍一种好用的工具,将将-Matlab(可用于算法开发、数据可视化、数据分析以及数值计算,此外,还能创建用户界面以及调用其他语言(包括C\C++\Fortran)编写的程序

Matlab解法:

//编写M文件;将M文件存盘,并命名为xxx.m;在Matlab指令窗运行xxx即可得所求结果clc,cleara=0;hold on                                  //实现新的plot命令产生的图形画在原来的图形上while a<0.05    c=[-0.05,-0.27,-0.19,-0.185,-0.185]         //规范化max->min    A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];    b=a*ones(4,1);    Aeq=[1,1.01,1.02,1.045,1.065];          //等式约束条件的系数    beq=1;                             //等式约束条件右边    LB=zeros(5,1);                       //变量允许的最低取值    [x,Q]=linprog(c,A,b,Aeq,beq,LB);        //线性规划函数    Q=-Q;                             //求得最大收益    plot(a,Q,’*r’);                       //Matlab中绘制二维曲线,其中’*r’表示线型点为加号,颜色为红色(具体可查“matlab中plot函数全部功能”)    a=a+0.001;                        //以进行循环搜索endxlabel(‘a’),ylabel(‘Q’)                    //标注


 “山河平静辽阔,无一点贪嗔痴爱,而我们匆匆忙忙,都还在路上”---《路上书》

文艺的say goodbye~~~再见偷笑

下期见❥(^_-)






原创粉丝点击