我有两个问题,需要你的帮助。 这是我的代码;
for k=13:32
for j=53:64
if semana1(1,13)*Condicao_compra_energia >= semana1(1,53) & sum(semana1(1,k))< 800
Custo_compra_semana1=semana1(1,k)*semana1(2,k);
Total_Cost=sum(custo_compra_semana1);
Potencia_comprada=sum(semana1,k);
Sold =Potencia_comprada*semana1(1,53);
Profit = Sold-Total_Cost;
else ...
end
end
我需要设置条件,以查看semana1(1,13)
和semana1(1,32)
之间的总和是否小于800.
但是当我把这个数字作为sum(semana1(1,k))
时,我得不到这些数字的总和,我怎么能解决这个问题呢?
我的第二个问题是在我放
后使用if条件Custo_compra_semana1 = semana1(1,k) * semana1(2,k);
Total_Cost = sum(Custo_compra_semana1);
Potencia_comprada=sum(semana1, k);
Sold =Potencia_comprada*semana1(1,53);
Profit = Sold-Total_Cost;
我需要获取custo_compra_semana1
的矩阵,而Total_Cost
应该是此矩阵之和的总值,但我在custo_compra_semana1
得到的不是矩阵和Total_Cost
仅提供custo_compra_semana1
的最后一个值。
答案 0 :(得分:1)
第一个问题:
为了设置正确的条件,你应该这样做:
sum(semana1(1,13:32))< 800
使用k
您只使用数组semana1
中的1个数字。
第二个问题:
我无法回应。由于相同的原因,您没有获得矩阵(您使用的是onl 1值)。另外,我不知道semana1
是否是矩阵,并且您对矩阵的哪个部分感兴趣。
答案 1 :(得分:1)
semana(1,k)是一个标量值,你应该指定一个范围
sum(semana1(1,13:32))< 800
要获得带有Custo_compra_semana1的矩阵,您需要乘以两个向量,而不是两个标量
Custo_compra_semana1=semana1(1,13:32)'*semana1(2,13:32);