Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
三维矩阵求和-Matlab蛮力_Matlab_Optimization_For Loop_Brute Force - Fatal编程技术网

三维矩阵求和-Matlab蛮力

三维矩阵求和-Matlab蛮力,matlab,optimization,for-loop,brute-force,Matlab,Optimization,For Loop,Brute Force,嗨,我有下面代码中的三维矩阵。我试图对每个“数字面板”和“数字涡轮机”组合的所有24个“n”元素求和 我下面所说的并不是三维空间的总和 对于数量为0:5的面板 for number_turbines = 0:2 for n = 1:24 % number of hours per day hourly_deficit(number_panels + 1, number_turbines + 1, n) = Demand(n) -... (PV_supply(n)*num

嗨,我有下面代码中的三维矩阵。我试图对每个“数字面板”和“数字涡轮机”组合的所有24个“n”元素求和

我下面所说的并不是三维空间的总和

对于数量为0:5的面板

for number_turbines = 0:2

    for n = 1:24 % number of hours per day



hourly_deficit(number_panels + 1, number_turbines + 1, n) = Demand(n) -...     
(PV_supply(n)*number_panels) - (WT_supply(n)*number_turbines);

if hourly_deficit(number_panels + 1, number_turbines + 1, n)< 0

            hourly_deficit(number_panels + 1, number_turbines + 1, n) = 0;

        end
daily_deficit(number_panels + 1, number_turbines + 1) = sum(sum(sum(hourly_deficit(:,:,:)))) 



        hourly_total_RES(number_panels + 1, number_turbines + 1, n) = PV_supply(n)*number_panels + WT_supply(n)*number_turbines;


        if hourly_total_RES(number_panels + 1, number_turbines + 1, n) < Demand(n),

            renewables_penetration(number_panels + 1, number_turbines + 1, n) = (hourly_total_RES(number_panels + 1, number_turbines + 1, n)) / Demand(n); % ratio of renewable energy supply to demand

        else
            renewables_penetration(number_panels + 1, number_turbines + 1, n) = 1 ;

        end
             peak_deficit(number_panels + 1, number_turbines + 1,n) = max(hourly_deficit(number_panels + 1, number_turbines + 1,n));
    end
数量为0:2的涡轮机的

对于n=1:24%的每天小时数
小时赤字(面板数量+1,涡轮机数量+1,n)=需求(n)-。。。
(光伏供电(n)*配电盘数量)-(WT供电(n)*涡轮机数量);
如果每小时亏损(面板数量+1,涡轮机数量+1,n)<0
每小时亏损(面板数量+1,涡轮机数量+1,n)=0;
结束
每日赤字(面板数量+1,涡轮机数量+1)=总和(总和(小时赤字总和(:,:,:))
每小时总资源(配电盘数量+1,涡轮机数量+1,n)=光伏供电(n)*配电盘数量+WT供电(n)*涡轮机数量;
如果每小时总资源(面板数量+1,涡轮机数量+1,n)<需求量(n),
可再生能源普及率(配电盘数量+1,涡轮机数量+1,n)=(每小时总资源(配电盘数量+1,涡轮机数量+1,n))/需求量(n);%可再生能源供需比
其他的
可再生能源普及率(面板数量+1,涡轮机数量+1,n)=1;
结束
峰值亏损(面板数量+1,涡轮机数量+1,n)=最大值(每小时亏损(面板数量+1,涡轮机数量+1,n));
结束
在MATLAB sum(X)中,将矩阵X的所有元素都添加到一维中。 如果只想计算一个特定维度的总和,请使用:

 S1=sum(X,dimension);
其中,三维矩阵的“尺寸”为1、2或3

如果要在两个维度上进行计算,则可以执行以下操作:

 S2=sum(S1,dimension);
这里的维数是1或2

根据您的代码,我认为如果您想在for循环中执行此操作,应该这样做:

for number_panels = 0:5
   for number_turbines = 0:2
      for n = 1:24 % number of hours per day
         hourly_deficit(number_panels + 1, number_turbines + 1, n) =...
           Demand(n) - (PV_supply(n)*number_panels) - (WT_supply(n)*number_turbines);

         if hourly_deficit(number_panels + 1, number_turbines + 1, n)< 0
           hourly_deficit(number_panels + 1, number_turbines + 1, n) = 0;
      end
      daily_deficit(number_panels + 1, number_turbines + 1) = ...
        sum(hourly_deficit(number_panels + 1, number_turbines + 1,:));
    end
 end
编号为0:5的面板的

对于数量=0:2的涡轮机
对于n=1:24%的每天小时数
每小时亏损(面板数量+1,涡轮机数量+1,n)=。。。
需求(n)-(光伏供电(n)*配电盘数量)-(WT供电(n)*涡轮机数量);
如果每小时亏损(面板数量+1,涡轮机数量+1,n)<0
每小时亏损(面板数量+1,涡轮机数量+1,n)=0;
结束
每日赤字(面板数量+1,涡轮机数量+1)=。。。
总和(每小时亏损(面板数量+1,涡轮机数量+1,:);
结束
结束
请看我添加到的“:”:
总和(每小时亏损(面板数量+1,涡轮机数量+1,:)

你是想计算一个3D矩阵的和吗?按照我创建它的方式,我试图在“n”维上求和,所以是的,我尝试对3D矩阵求和。我希望这能起作用,但它不能:每日(面板数量+1,涡轮机数量+1)=和(每小时)(数字\u面板+1,数字\u涡轮机+1),3)我刚收到你的代码,看起来你的for循环没有结束。如果你发布完整的代码,我可以帮助你。我在我的原始帖子中编辑了上面的代码,我仍然得到与你的建议不正确的相同答案。你的X是什么?它是一个3D矩阵吗?看看这个:总和(每小时\u赤字)(number_panels+1,number_turbines+1)),在sum()中只有一个元素,sum对您没有任何帮助。您是否尝试这样做:sum(sum(每小时_赤字(number_panels+1:number_turbines+1)))daily_赤字(number_panels+1,number_turbines+1)=sum(sum(每小时_赤字(number_panels+1,number_turbines+1)))因此,基本上,我试图对n维上的每个数字面板和数字涡轮机组合求和。因此,我应该得到一个数字涡轮机x数字面板矩阵,每个位置有一个元素,代表24个值的和