一、实验目的及要求
- 练习用excel画图:凸函数、正太分布
- 用图解法和编程计算求解教材P28例子
- 练习excel公式与函数用法,用Solver解教材P28例子
附加练习:
用matlab画图、调用函数,求解教材P28例子
二、实验设备(环境)及要求
Microsoft Excel2016、matlab2017
三、实验内容
练习用excel画图:凸函数、正太分布
凸函数步骤:
①先在A列填充上一组X数据,从A2向下,是等差数列。
②在B2单元格输入公式=3000-A2^2,回车,然后在B列拖动填充柄,向下复制。求出整个A列X数值在B列Y所对应的函数值。
③选中A、B两列数值,执行插入-图表-XY散点图操作。
正态分布图步骤:
①给定一组数据,例如:1~51,共50个数据。
②选择一列,点击插入函数NORM.DIST,输入对应数值。
③选择B列,点击插入,散点图
用图解法和编程计算求解教材P28例子
图解法:
max S=2x1+5x2
x1 ≤4
x2≤3
s.t. x1+ 2x2≤8
x1≥0
x2≥0
编程计算:
代码如下:
#include<iostream>
using namespace std;
int main()
{
int x1,x2,S,max=0;
for(x1=0;x1<=4;x1++)
{
for(x2=0;x2<=3;x2++)
{
if(x1+2*x2<=8)
{
S=2*x1+5*x2;
if(S>max)
{
max=S;
}
}
}
}
cout<<"最大值为"<<max<<endl;
return 0;
}
输出结果:
练习excel公式与函数用法,用Solver解教材P28例子
Solver步骤:
①加载宏—规划求解加载项
②根据分析题目填写约束条件、目标函数
D2=B5
D3=C5
D4=B5+2*C5
F6= =2*B5+5*C5
③添加线性求解
④求解结果
用matlab画图、调用函数,求解教材P28例子
①
max S=2x1+5x2
x1 ≤4
x2≤3
s.t. x1+ 2x2≤8
x1≥0
x2≥0
将目标函数转化为求函数-S的最小值,根据目标函数和约束条件,可以得出目标函数系数矩阵f=[2;5],不等式约束系数矩阵A =[1 0;0 1;1 2 ],不等式约束常向量b=[4; 3; 8], 调用MATLAB中lingprog函数求出-S的最小值,其相反数就是MaxS
如下图所示:
>> f=[2;5];
A =[1 0;0 1;1 2 ];
b=[4; 3; 8];
[x,fmin]=linprog(-f,A,b)
Optimal solution found.
x =
2.0000
3.0000
fmin =
-19
则MaxS=19
四、实验结果
凸函数图:
正态分布图:
图解结果图:
编程计算结果图:
Solver求解结果图:
附加练习: 用matlab画图、调用函数结果
五、分析与讨论
通过这次实验,学会了Excel画正态分布图、凸函数图、熟悉了Excel的公式;初步掌握了线性规划的原理和解法,学会用图解法、编程法去求解,并利用计算机软件工具Excel的Solver线性规划求解,使计算过程大大简化,另外调用MATLAB中lingprog函数亦可求解。
更多推荐
运筹与决策(二)excel画图、公式与函数用法
发布评论