优化下面这段代码:figure(5) for i=1:lim y_index(1,i)=(['AR',num2str(i)]); x_index(1,i)=(['MA',num2str(i)]); end H=headmap(x_index,y_index,reli_ts,'FontSize',12,'FontName','宋体'); H.Title = 'AIC定阶热力图';
时间: 2023-12-23 09:03:11 浏览: 174
可以优化的地方有如下几个:
1. 使用 preallocation 预分配数组空间,避免在循环中不断扩展数组导致的性能问题;
2. 将字符串拼接改为使用 sprintf 函数,这样可以提高字符串拼接的效率;
3. 将 H.Title 改为 H.Title.String,这是因为在 MATLAB R2014b 之后的版本中,Title 属性是一个对象类型,不能像之前的版本一样直接进行赋值。
优化后的代码如下所示:
```
lim = 10;
y_index = cell(1, lim);
x_index = cell(1, lim);
for i = 1:lim
y_index{i} = sprintf('AR%d', i);
x_index{i} = sprintf('MA%d', i);
end
H = headmap(x_index, y_index, reli_ts, 'FontSize', 12, 'FontName', '宋体');
H.Title.String = 'AIC定阶热力图';
figure(5);
```
阅读全文