《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 751|回复: 0
收起左侧

[申请担保] 基于matlab分布式调度算法编程

[复制链接]
发表于 2015-3-30 18:56:56 | 显示全部楼层 |阅读模式
有偿任务基本信息
任务链接

隐藏内容

开始时间

隐藏内容

结束时间

2015-04-03

任务费用

800 元

担保费用

隐藏内容 元

违约金额

隐藏内容 元

项目总价

隐藏内容 元

任务发布者个人信息

任务承接者个人信息

论坛帐户

隐藏内容

论坛帐户

隐藏内容

真实姓名

隐藏内容

真实姓名

隐藏内容

手机固话

隐藏内容

手机固话

隐藏内容

QQ/MSN

隐藏内容

QQ/MSN

隐藏内容

常用邮箱

隐藏内容

常用邮箱

隐藏内容

付款方式

隐藏内容

付款方式

隐藏内容

户主姓名

隐藏内容

户主姓名

隐藏内容

付款账号

隐藏内容

付款账号

隐藏内容

温馨提示

1、请严格按照要求和流程填写表格和帖子内容 2、务必将帖子阅读权限设置为最高权限
3、将PDF版担保合同以帖子附件形式上传论坛 4、任务完成之后,请到本帖回复授权论坛付款

常用链接

有偿编程担保制度 技术资格认证制度 有偿编程收费标准 有偿任务担保合同
有偿任务发布版块 有偿担保制度流程 如何发布有偿任务 如何承接有偿任务
官方有偿编程团队 论坛推荐编程团队 技术论坛付款方式 技术论坛联系方式
分布式调度算法 软件:MATLAB   

QQ 1535484879  
下面的代码提供参考
clear all
close all

Amatr = diag([1.03,1.02,1.05]);
Bmatr = diag([0.6,0.7,0.8]);
Cmatr = eye(3);
Lmatr = diag([0.4,0.2,-0.2]);
Lmatr2 = diag([0.4,0.3,-0.1]);
x_init = [30,10,20]';
u_init = Lmatr * x_init;
u_init2 = Lmatr2 * x_init;
x_t = x_init;
x_t2 = x_t;
u_t = u_init;
u_t2 = u_init2;
seq_num = 24;
n_t = 0.1 * randn([3,seq_num]);
w_t = 0.1 * randn([3,seq_num]);
CostJ = zeros(1,seq_num+1);
SegmaMatr = diag([1,1,1]);
beta = 2;
beta2 = 3;
CostJ(1) = beta * mean(x_init'*SegmaMatr*x_init);
CostJ2(1) = 1.5 * mean(x_init'*SegmaMatr*x_init);
for tt = 1 : seq_num   
    x_tt = Bmatr * x_t + Bmatr * u_t +  n_t(:,tt);
    x_tt2 = Bmatr * x_t2 + Bmatr * u_t2 +  n_t(:,tt);
    u_t = Lmatr * x_t;
    u_t2 = Lmatr2 * x_t2;
    x_t = x_tt;
    x_t2 = x_tt2;
    XX(:,tt) = x_tt;
    XX2(:,tt) = x_tt2;
    CostJ(:,tt+1) = CostJ(tt) + beta * mean(x_t'*SegmaMatr*x_t);
    CostJ2(:,tt+1) = CostJ2(tt) + beta2 * mean(x_t'*SegmaMatr*x_t);
end

tt = 1 : seq_num+1;
XX = [x_init,XX];
XX2 = [x_init,XX2];
subplot(2,1,1);
plot(tt,XX(1,:),'-r*',tt,XX(2,:),'-ob',tt,XX(3,:),'-dk');
legend('x1','x2','x3');
title('分布式调度算法');
ylabel('电压偏差(V)');
grid on
subplot(2,1,2);
plot(tt,XX2(1,:),'-r*',tt,XX2(2,:),'-ob',tt,XX2(3,:),'-dk');
legend('x1','x2','x3');
xlabel('时间(s)');
ylabel('电压偏差(V)');
title('循环轮转调度算法');
grid on

figure
tt = 1:10;
plot(tt,CostJ(1:10),'-db',tt,CostJ2(1:10),'-or');
legend('分布式调度算法','循环轮转调度算法');
xlabel('时间(s)');
ylabel('成本');
grid on

figure
tt = 1:7;
plot(tt,XX(3,1:7),'-or',tt,XX2(3,1:7),'-+b');
legend('分布式调度算法','循环轮转调度算法');
xlabel('时间(t)');
ylabel('电压偏差(V)');
title('偏差下降速度');
grid on

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2020-8-6 06:35 , Processed in 0.051324 second(s), 12 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表