广告费用和效应

题目

某装饰公司欲以每桶二元的价格购入一批彩漆。现必须对彩漆的售价做出合理的决定。一般来说,售价越高,销售量就越少。经测算售价与销售量的关系如表一所示。但如果投入一定的广告费用后,销售量将会有所增长,增长量可由增长因子刻划。例如投入3万元的广告费增长因子为1.85;即投入3万元的广告费后,销售量将会是预售量的1.85倍。表二是广告公司提供的广告费与增长因子的关系。现请你帮装饰公司定出售价和投入广告的费用,使得所获得的利润最大。

表一 (元、千桶)

售价

2.00

2.50

3.00

3.50

4.00

4.50

5.00

5.50

6.00

预期销售量

41

38

34

32

29

28

25

22

20

表二

广告费(元)

0

10.000

20.000

30.000

40.000

50.000

60.000

70.000

增长因子

1.00

1.40

1.70

1.85

1.95

2.00

1.95

1.80

x---预期销售量 y----售价 z------广告费 k-----销售增长因子

s----实际销售量 s=k*x c-----油漆单价c=2 r----利润

matlab求解过程

首先根据数据求预期销售量和售价的关系,增长因子和广告费用的关系。根据数据画出图像可知

x=a0*y+a1;线性关系

k=b0*(z^2)+b1*z+b2;二次曲线增长因子和广告费用

要求值为

max r=(y-c)*s-z (售价-单价)*实际销售数量-广告费用

r=(y-c)*(k*x)-z=(y-c)*(b0*(z^2)+b1*z+b2)*(a0*y+a1)-z;

x=a0*y+a1;线性关系

>> tx=[2.00	2.50	3.00	3.50	4.00	4.50	5.00	5.50	6.00]

tx =

    2.0000    2.5000    3.0000    3.5000    4.0000    4.5000    5.0000    5.5000    6.0000

>> ty=[41	38	34	32	29	28	25	22	20]

ty =

    41    38    34    32    29    28    25    22    20

>> px=polyfit(tx,ty,1)

px =

   -5.1333   50.4222



k=b0*(z^2)+b1*z+b2;二次曲线增长因子和广告费用

>> tx=[0 10 20 30   40  50   60  70]
 

tx =

     0    10    20    30    40    50    60    70

>> ty=[1.00	1.40	1.70	1.85	1.95	2.00	1.95	1.80]

ty =

    1.0000    1.4000    1.7000    1.8500    1.9500    2.0000    1.9500    1.8000

>> pk=polyfit(tx,ty,2)

pk =

   -0.0004    0.0409    1.0187


变量为yz

r=(y-c)*(k*x)-z=(y-c)*(b0*(z^2)+b1*z+b2)*(a0*y+a1)*1000-z;

带入c=2、a0=-5.1333、a1=50.4222、b0=-0.0004、b1=0.0409、b2=1.0187

r=(y-2)*(-0.0004*(z^2)+0.0409*z+1.0187)*(-5.1333*y+50.4222)*1000-z;

要求r极大,是求-r极小。

-r=(y-2)*(-0.0004*(z^2)+0.0409*z+1.0187)*(-5.1333*y+50.4222)*1000-z;

.m文件

function [r,g]=fsolvefun(x)
%UNTITLED Summary of this function goes here
%   r=(y-c)*(k*x)-z=(y-c)*(b0*(z^2)+b1*z+b2)*(a0*y+a1)-z; c=2
% x1价格y  x2广告费用=z
% 求-r极小值
r=x(2)-(x(1)-2)*(-0.0004*(x(2)^2)+0.0409*x(2)+1.0187)*(-5.1333*x(1)+50.4222)*1000;
if nargout>1
     g(1)=-(1000*(-0.0004*(x(2)^2)+0.0409*x(2)+1.0187)*((-5.1333*2)*x(1)+2*5.1333+50.4222));
     g(2)=-((x(1)-2)*(-5.1333*x(1)+50.4222)*1000*(-0.0004*2*x(2)+0.0409)-1);%x2广告偏导hel

end


>> x0 =[ 2       10000]

x0 =

           2       10000

>> options=optimset('Display','iter','tolfun',1e-18,'GradObj','on');
>> [r,fval]=fminunc('fsolvefun',x0,options);


错误,不知道是什么原因?

>> [r,fval]=fminunc('fsolvefun',x0,options);
??? Error using ==> feval
Undefined function or method 'fsolvefun' for input arguments of type 'double'.

Error in ==> fminunc at 236
        [f,GRAD(:)] = feval(funfcn{3},x,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. FMINUNC cannot continue.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值