你给的Q1显示要串联的数组的维度不一致。
时间: 2024-04-16 11:29:07 浏览: 24
非常抱歉给出的Q1代码有误。确实,我在修改过程中没有注意到维度不一致的问题。
为了使Q1*x的结果与p_c对应,我们需要使用一个更灵活的方法来构建Q1。下面是修改后的代码:
```matlab
Q1 = zeros(24, 576);
for i = 1:4
Q1((i-1)*24+1:i*24, (i-1)*144+49:(i-1)*144+72) = eye(24); % 对应 p_buy
Q1((i-1)*24+1:i*24, (i-1)*144+121:(i-1)*144+144) = eye(24); % 对应 p_sell
Q1((i-1)*24+1:i*24, (i-1)*144+193:(i-1)*144+216) = eye(24); % 对应 p_g
Q1((i-1)*24+1:i*24, (i-1)*144+265:(i-1)*144+288) = diag(p_c(:, i)); % 对应 p_c
Q1((i-1)*24+1:i*24, (i-1)*144+337:(i-1)*144+360) = eye(24); % 对应 p_ch
Q1((i-1)*24+1:i*24, (i-1)*144+409:(i-1)*144+432) = eye(24); % 对应 p_dis
end
C = [C, Q1*x <= p_g_int];
```
在这个修改后的代码中,我们使用循环来逐个填充Q1的对应位置。在每个循环中,我们通过计算得到当前列索引,然后根据p_buy、p_sell、p_g和p_c的维度将对应矩阵插入到Q1中。
这样修改后,Q1的构造方式将适应576列,并且Q1*x的结果与p_c对应。非常抱歉之前的错误造成的困扰,感谢你的指正。如果还有其他问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)