matlab分析供应商和零售商的利润变化情况

server/2025/1/12 18:20:04/
clear
clc
close alla = 100;          % 基本市场需求
v = 0.6;          % 线下渠道所占市场份额
k = 7;            % 保鲜成本参数
eta = 2;          % 营销成本参数
lambda = 0.5;     % 营销水平弹性系数
delta = 0.8;      % 保鲜水平弹性系数
e = 6;            % 营销水平
w = 20;           % 批发价格
gamma = 0.4;      % 渠道交叉价格弹性系数
phi = 0.3;        % 线上渠道佣金率
alpha = 0.5:0.05:1.5;      % 供应商成本参数谎报因子%计算pispis1=ones(size(alpha)).*(a.^2.*k.*(4.*v.^2 - (-1 + v).^2.*gamma.^2) -2.*w.*delta.^2.*(v.*(2 + gamma) ...+w.*(1 + gamma).*(3 + gamma) - e.*(2 + gamma).*lambda) -k.*(8.*w.^2.*(-1 + gamma.^2) ...+ 8.*w.*(v.*gamma + e.*lambda) +e.*gamma.*lambda.*(4.*v + e.*gamma.*lambda)) ...+ 2.*a.*((-(-1 + v)).*w.*(2 + gamma).*delta.^2 + k.*(-4.*(v.^2 + w - v.*w) ...+ 2.*(-1 + v).*v.*gamma + e.*(-1 + v).*gamma.^2.*lambda)))..../(8.*k.*(-2 + gamma.^2) + 2.*(2 + gamma).^2.*delta.^2);
pis2=-((2.*w.*(4.*k.*alpha.*(-2 + gamma.^2) + (2 + gamma).^2.*delta.^2).*...(a.*k.*alpha.*(4 - gamma.^2 + v.*(-4 + gamma.*(2 + gamma))) ...+ a.*(-1 + 2.*v).*(2 + gamma).*delta.^2 + w.*(1 + gamma).*(4.*k.*alpha.*(-1 + gamma) ...+ (4 + gamma).*delta.^2) -e.*(2 + gamma).*(k.*alpha.*(-2 + gamma) + delta.^2).*lambda) ...+ 2.*(a.*k.*alpha.*(v.*(-2 + gamma) - gamma).*(-2 + gamma.^2) +w.*(1 + gamma).*(2 + gamma) ....*delta.^2 - e.*k.*alpha.*gamma.*(-2 + gamma.^2).*lambda).*(2.*a.*k.*alpha.*(v.*(-2 + gamma) ...- gamma) - w.*(2 + gamma).*delta.^2 - 2.*k.*alpha.*gamma.*(2.*w + e.*lambda)) ...+k.*(-4.*w.*(1 + gamma).*delta + (2 + gamma).*delta.*(-2.*a.*v + a.*(-1 + v).*gamma ...- e.*gamma.*lambda)).^2)./(2.*(4.*k.*alpha.*(-2 + gamma.^2) + (2 + gamma).^2.*delta.^2).^2));
pis3=ones(size(alpha)).*(a.^2.*(k.*(-2 +4.*(-1 + v).*v.*(-1 + gamma)) + (1 - 2.*v).^2.*delta.^2) ...+e.^2.*(-2.*k + delta.^2).*lambda.^2 -2.*e.*(1 + gamma).*(2.*k.*(-1 + gamma) + delta.^2) ....*lambda.*phi + (1 +gamma).*(2.*k.*(-1 + gamma) + (1 + gamma).*delta.^2).*phi.^2 + 2.*a.* ...(e.*(delta.^2 - 2.*(k + k.*v.*(-1 + gamma) + v.*delta.^2)).*lambda +(1 + gamma).* ...(2.*k.*(-1 + v).*(-1 + gamma) + (-1 +2.*v).*delta.^2).*phi))..../(8.*(1 + gamma).*(k.*(-1 + gamma) + delta.^2));
pis4=(-8.*k.^2.*alpha.^3.*(1 + gamma).*delta.^2.*(a +   e.*lambda + (-1 + gamma).*phi).^2 ...-(a.*(4.*k.^2.*(-1 + v).*alpha.^2.*(-1 + gamma) +  2.*k.*alpha.*(1 + v - 2.*alpha +v.*alpha ...- (-1 + v).*(-1 + alpha).*gamma).*  delta.^2 + (-1 + v + alpha -v.*alpha).*delta.^4) ...+  e.*(-4.*k.^2.*alpha.^2.*(-1 + gamma) +  2.*k.*alpha.*(1 -2.*alpha + (-1 + alpha).*gamma) ....*delta.^2 + (-1 + alpha).*delta.^4).*lambda +(4.*k.^2.*alpha.^2.*(-1 + gamma) + 2.*k.*alpha ....*(-1 + 2.*alpha + 3.*gamma -2.*alpha.*gamma).*delta.^2 - (-1 + alpha).*delta.^4).*phi) ....*(a.*(4.*k.^2.*alpha.^2.*(-1 + v - v.*gamma) + 2.*k.*alpha.*(1 - v -v.*alpha + (-1 +v) ....*(-1 + alpha).*gamma).*delta.^2 + (-1 + v).*(-1 + alpha).*delta.^4) ...+  e.*(-4.*k.^2.*alpha.^2 +  2.*k.*alpha.*(1 + gamma - alpha.*gamma).*delta.^2 ...- (-1 + alpha).*delta.^4).*lambda + (-4.*  k.^2.*alpha.^2.*(-1 + gamma.^2) ...-  2.*k.*alpha.*(1 + gamma).*delta.^2 + (-1 + alpha).*delta.^4).*phi) ...+ (a.*(4.*k.^2.*alpha.^2.*(-v + (-1 + v).*gamma) +  2.*k.*alpha ....*(-1 + v +v.*alpha - (-1 + v).*(-1 + alpha).*gamma).*  delta.^2 + (-1 + v + alpha - v.*alpha) ....*delta.^4) -  e.*(2.*k.*alpha.*gamma + delta.^2).*(2.*  k.*alpha - (-1 + alpha).*delta.^2) ....*lambda +  2.*k.*alpha.*(1 + gamma).*delta.^2.*phi - (-1 + alpha).*delta.^4.*phi) ....*(a.*(4.*k.^2.*v.*alpha.^2.*(-1 + gamma) + 2.*k.*alpha.*(-1 + v +v.*alpha - (1 +v) ....*(-1 + alpha).*gamma).*delta.^2 - (1 + v).*(-1 + alpha).*delta.^4) +  e.*delta.^2 ....*(delta.^2 - alpha.*(2.*k.*(1 + (-1 + alpha).*gamma) + delta.^2)).*lambda ...+(4.*k.^2.*alpha.^2.*(-1 + gamma).*gamma -2.*k.*alpha.*(-1 + gamma ....*(1 - 2.*alpha +2.*(-1 + alpha).*gamma)).*delta.^2 - (-1 + alpha) ....*(-1 +2.*gamma).*delta.^4).*phi))./   (4.*(1 + gamma).*(4.*k.^2.*alpha.^2 ....*(-1 + gamma) +  2.*k.*alpha.*(1 + alpha + gamma - alpha.*gamma).*delta.^2 ...- (-1 + alpha).*delta.^4).^2);
%计算pir
pir1=ones(size(alpha)).*-((e.^2.*eta)./2) + (4.*k.*w.*(-1 + gamma.^2) + a.*k.*(4 - gamma.^2 + v.*(-4 + 2.*gamma + gamma.^2)) +a.*(-1 + 2.*v).*(2 + gamma).*delta.^2 + w.*(4 + 5.*gamma + gamma.^2).*delta.^2 -e.*k.*(-4 + gamma.^2).*lambda - e.*(2 + gamma).*delta.^2.*lambda).^2/(4.*k.*(-2 + gamma.^2) + (2 + gamma).^2.*delta.^2).^2;
pir2=-(e.^2.*eta)./2+ ((a.*k.*alpha.*(4 - gamma.^2 + v.*(-4 + gamma.*(2 + gamma))) + a.*(-1 + 2.*v).*(2 + gamma).*delta.^2 + w.*(1 + gamma).*(4.* k.*alpha.*(-1 + gamma) + (4 + gamma).*delta.^2) - e.*(2 + gamma).*(k.*alpha.*(-2 + gamma) + delta.^2).*lambda).^2)./(4.* k.*alpha.*(-2 + gamma.^2) + (2 + gamma).^2.*delta.^2).^2;
pir3=ones(size(alpha)).*(1./(4.*(k.*(-1 + gamma) + delta.^2))).*(-2.*e.^2.*(k.*(-1 + gamma) + delta.^2).*eta +  e.*(2.*k.*(-1 + gamma) + delta.^2).*lambda.*phi -phi.*(2.*a.*k.*(-1 + v).*(-1 + gamma) + a.*(-1 + 2.*v).*delta.^2 +2.*k.*(-1 + gamma).*phi + (1 + gamma).*delta.^2.*phi));
pir4=((-e.^2).*(4.*k.^2.*alpha.^2.*(-1 + gamma) + 2.*k.*alpha.*(1 + alpha + gamma - alpha.*gamma).*delta.^2 - (-1 + alpha).*delta.^4).*eta + e.*(4.*k.^2.*alpha.^2.*(-1 + gamma) + 2.*k.*alpha.*(-1 + 2.*alpha + gamma - alpha.*gamma).*delta.^2 - (-1+ alpha).*delta.^4).*lambda.*phi +phi.*(a.*(-4.*k.^2.*(-1 + v).*alpha.^2.*(-1 + gamma) +2.*k.*alpha.*(-1 - v + 2.*alpha - v.*alpha +(-1 + v).*(-1 + alpha).*gamma).*delta.^2 + (-1 + v).*(-1 + alpha).*delta.^4) +(-4.*k.^2.*alpha.^2.*(-1 + gamma) + 2.*k.*alpha.*(1 + 2.*alpha.*(-1 + gamma) - 3.*gamma).*delta.^2 + (-1 + alpha).*delta.^4).*phi))./(8.*k.^2.*alpha.^2.*(-1 + gamma) + 4.*k.*alpha.*(1 + alpha + gamma - alpha.*gamma).*delta.^2 - 2.*(-1 + alpha).*delta.^4);
figure;
plot(alpha, pis1, '-*', 'displayName', '\pi_s^{RN}', 'color', 'r');
hold on;
plot(alpha, pis2, '--', 'displayName', '\pi_s^{RY}', 'color', 'g');
hold on;
plot(alpha, pis3, '-s', 'displayName', '\pi_s^{AN}', 'color', 'b');
hold on;
plot(alpha, pis4, '-o', 'displayName', '\pi_s^{AY}', 'color', 'm');
hold on;
ylabel('\pi_s');
xlabel('\alpha');
legend('\pi_s^{RN}','\pi_s^{RY}','\pi_s^{AN}','\pi_s^{AY}');figure;
plot(alpha, pir1, '-*', 'displayName', '\pi_s^{RN}', 'color', 'r');
hold on;
plot(alpha, pir2, '--', 'displayName', '\pi_s^{RY}', 'color', 'g');
hold on;
plot(alpha, pir3, '-s', 'displayName', '\pi_s^{AN}', 'color', 'b');
hold on;
plot(alpha, pir4, '-o', 'displayName', '\pi_s^{AY}', 'color', 'm');
hold on;
ylabel('\pi_r');
xlabel('\alpha');
legend('\pi_r^{RN}','\pi_r^{RY}','\pi_r^{AN}','\pi_r^{AY}');

这段MATLAB代码主要实现了以下功能:

  1. 参数初始化:定义了一系列用于后续计算的参数,包括市场需求、渠道份额、成本参数、弹性系数等。
  2. 计算供应商利润:通过复杂的数学公式计算了四种不同情况下供应商的利润(pis1, pis2, pis3, pis4),这些情况可能对应不同的市场策略或条件。
  3. 计算零售商利润:同样通过复杂的数学公式计算了四种不同情况下零售商的利润(pir1, pir2, pir3, pir4)。
  4. 绘制利润曲线:使用 plot 函数分别绘制了供应商利润和零售商利润随 alpha(供应商成本参数谎报因子)变化的曲线。每个图形包含四条曲线,分别对应四种不同的情况,并使用 legend 为曲线添加了标签。

具体步骤如下:

参数初始化

a = 100;          % 基本市场需求
v = 0.6;          % 线下渠道所占市场份额
k = 7;            % 保鲜成本参数
eta = 2;          % 营销成本参数
lambda = 0.5;     % 营销水平弹性系数
delta = 0.8;      % 保鲜水平弹性系数
e = 6;            % 营销水平
w = 20;           % 批发价格
gamma = 0.4;      % 渠道交叉价格弹性系数
phi = 0.3;        % 线上渠道佣金率
alpha = 0.5:0.05:1.5;      % 供应商成本参数谎报因子

计算供应商利润

pis1 =... % 复杂公式计算第一种情况下供应商利润
pis2 =... % 复杂公式计算第二种情况下供应商利润
pis3 =... % 复杂公式计算第三种情况下供应商利润
pis4 =... % 复杂公式计算第四种情况下供应商利润

计算零售商利润

pir1 =... % 复杂公式计算第一种情况下零售商利润
pir2 =... % 复杂公式计算第二种情况下零售商利润
pir3 =... % 复杂公式计算第三种情况下零售商利润
pir4 =... % 复杂公式计算第四种情况下零售商利润

绘制供应商利润曲线

figure;
plot(alpha, pis1, '-*', 'displayName', '\pi_s^{RN}', 'color', 'r');
hold on;
plot(alpha, pis2, '--', 'displayName', '\pi_s^{RY}', 'color', 'g');
hold on;
plot(alpha, pis3, '-s', 'displayName', '\pi_s^{AN}', 'color', 'b');
hold on;
plot(alpha, pis4, '-o', 'displayName', '\pi_s^{AY}', 'color', 'm');
hold on;
ylabel('\pi_s');
xlabel('\alpha');
legend('\pi_s^{RN}','\pi_s^{RY}','\pi_s^{AN}','\pi_s^{AY}');

绘制零售商利润曲线

figure;
plot(alpha, pir1, '-*', 'displayName', '\pi_s^{RN}', 'color', 'r');
hold on;
plot(alpha, pir2, '--', 'displayName', '\pi_s^{RY}', 'color', 'g');
hold on;
plot(alpha, pir3, '-s', 'displayName', '\pi_s^{AN}', 'color', 'b');
hold on;
plot(alpha, pir4, '-o', 'displayName', '\pi_s^{AY}', 'color', 'm');
hold on;
ylabel('\pi_r');
xlabel('\alpha');
legend('\pi_r^{RN}','\pi_r^{RY}','\pi_r^{AN}','\pi_r^{AY}');

通过这些曲线,用户可以直观地观察到在不同的供应商成本参数谎报因子 alpha 下,供应商和零售商的利润变化情况,从而为市场策略的制定提供参考。


http://www.ppmy.cn/server/157819.html

相关文章

C#Struct堆栈

Struct若其内部含有堆对象,Struct的该对象放在堆上; Struct当做参数传递时,其堆属性作为引用传递,值属性还是作为值传递; struct TS { public int[] t1; public int t2; } public void TF1(TS t) { int[] t1 t.t1; …

探索微软 M365 安全:全方位守护数字世界

在当今这个科技呈井喷式飞速发展,数字化浪潮以汹涌澎湃、锐不可当之势席卷全球的时代,企业与个人仿若置身于一片浩瀚无垠、信息奔涌的海洋之中,尽情畅享着技术革新所带来的无穷无尽便利。然而,恰如平静海面下潜藏着暗礁与汹涌暗流,网络安全问题恰似隐匿在暗处、随时可能给…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8(You Only Look Once)和OpenCV实现车道线和车辆检测,目标是创建一个可以检测道路上的车道并识别车辆的系统,并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…

机器学习中特征选择的重要性

机器学习中特征选择的重要性 特征选择(Feature Selection)是机器学习过程中不可忽视的一个重要步骤。它的核心目标是从数据集中挑选对模型预测最重要的特征,同时剔除无关或冗余的特征。以下从多个角度详细解释特征选择的重要性: …

c#版本、.net版本、visual studio版本之间的对应关系

最近这几年一直没用过c#开发,都是从事Qt c开发工作,回想一下之前c#还要追溯到2019年,算算时间大概都已过去4,5年了,时间飞快。 2019真是个神奇的数字,vs2019是我用的时间最长的一个IDE,新冠起始…

【STM32】利用SysTick定时器定时1s

1.SysTick简单介绍 SysTick定时器是一个24位的倒计数定时器,当计数到0时,将从RELOAD寄存器中自动重装载定时初值,开始新一轮计数。 SysTick定时器用于在每隔一定的时间产生一个中断,即使在系统睡眠模式下也能工作。 关于SysTic…

maven多模块项目编译一直报Failure to find com.xxx.xxx:xxx-xxx-xxx:pom:1.0-SNAPSHOT in问题

工作中项目上因为多版本迭代,需要对不同迭代版本升级版本号,且因为项目工程本身是多模块结构,且依然多个其他模块工程。 在将工程中子模块的pom.xml中版本号使用变量引用父模块中定义的版本号时,一直报Failure to find com.xxx.x…

Web3 游戏 2024:牛市下的缺席者?

2024 年,Web3 游戏行业呈现复杂态势,在取得重大进展的同时也面临诸多挑战。虽然日活跃用户数激增超 300%,传统游戏公司也开始具体布局该领域,但从市场表现来看,该板块市值仅增长 60.5%,显著落后于 Meme 币和…