关于时间表排序循环的问题

2次观看(过去30天)
慢拉仪
慢拉仪 2020年5月12日
评论: 幼儿园萨哈尔 20月6日10月6日
我有一个Litle项目,我打算看到瑞典V2G的任何好处,只需使用一些基本价值。我已经做到了这个时间表,其中我有8760行,诸如[DateTime SpotPrices]的校友,基于NordPool上发布的XLXS文件,这是旧数据的方式。现在,Spotprices一天通过24h值一天通过API发布,因此为了使我的模拟有所了解,我将桌子转换为单独的24h循环表,如:
k = 1;
为了毫米= 1:24:8760-23%行将它们分开
y {k} = a(mm:mm + 23,:);%存储它们在单独的Y{k}中,其中k是1:36 65
k = k + 1;
结尾
s =重塑(Y, 365, (1);
清晰的K.
现在,我刚刚进行了一些函数来计算充电和驾驶距离,但为了使其更加“智能”,我想我需要看看哪个小时是最便宜的,以应用V2G功能并制作一些利润母鸡下面的外循环......目前我只是在内在的最循环中做一个disp(''),看看它是否应该工作。
然而,不要让我的休息工作,如果有人有更好的方式运行这件事,我就会批准这一投入。几周前,我刚刚开始与Matlab相当新的
我= 0;
g = 0;
q = 0;
为了m = 1:1:365
bi = sortrows ({m, 1},'Spotpris');%每天对s{k}排序
C = BI(1:6,:);%定义了一天中最便宜的6个小时
D = BI(7:12,:);%定义每天第6个第二天的时间
: E = bi(聪明);%定义每天最昂贵的最昂贵的时间
F = bi (19:24:);%定义了一天中最昂贵的6个小时
g = g + 1%保持一天
为了Q = 1:1:24%每小时运行1次迭代,最多24小时
我= I + 1记录时间
如果ismember (A.tid (tid(我,1)),C {1, g} .tid)%== true
disp ('收费!'
eleesif.ismember (A.tid (tid(我,1)),D {1, g} .tid)%== true
disp ('收费!!!如果需要SOC,Maby呢?
eleesif.ismember (A.tid (tid(我,1)),E {1, g} .tid)%== true
disp ('只有在SOC <0.3(乘车回家)或放电时,只能收取,如果SOC很酷,蝙蝠架很好'
eleesif.ISMember(A.TID(TID(I,1)),F {1,G} .TID)%== true
disp ('只有放电,如果SoC很酷,蝙蝠架是好'
别的g> = 2 && i> = 482天后%停止一切
打破
结尾
结尾
结尾
清晰的我是j k m g
(编辑)
3评论
幼儿园萨哈尔
幼儿园萨哈尔 20月6日10月6日
除了@Sindar提供的建议之外,肯定会有助于查看Timerange的文档参考。

登录评论。

答案(0)

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!