for i=1:b figure(i) X = floor(TimeWindow{i}(end)+5); %得到x轴长度 x = 0:1:X; Y =max(SE(:,2)+5); %得到Y长度 a=min(SE(:,1)); y =0:5:Y; axis([0 X a Y]); %得到时间窗窗口 set(gca,'xtick',x,'ytick',y,'GridLineStyle','-',... 'xGrid','on','yGrid','on'); hold on
时间: 2024-01-19 08:03:28 浏览: 27
这段代码使用了 MATLAB 的绘图功能,其中 `b` 是一个变量,代表要绘制的图形数量。
首先,通过 `figure(i)` 打开第 `i` 个绘图窗口。接着,根据 `TimeWindow{i}` 数组的最后一个元素计算出 `X`,即 x 轴的长度。然后,计算出 `SE` 数组第二列的最大值,再加上 5,得到 `Y`,即 y 轴的长度。
接下来,通过 `min(SE(:,1))` 计算出 `SE` 数组第一列的最小值,并将其作为 x 轴的起点。然后,使用 `0:5:Y` 生成 y 轴的刻度,使用 `0:1:X` 生成 x 轴的刻度,并设置坐标轴范围为 `(0, X, a, Y)`。
最后,通过 `set` 函数设置坐标轴的网格线样式为实线,打开 x 轴和 y 轴的网格线,并使用 `hold on` 命令使后续的绘图不清空当前窗口。
相关问题
task = data(2:end,4); tasknum = length(task); dist = zeros(tasknum+1,tasknum+1); for i = 1:tasknum+1 for j = 1:tasknum+1 dist(i,j) = sqrt(sum((local_data(i,:)-local_data(j,:)).^2)); end end maxload = data2.data(2); v = 60; runt = dist./v; timewindow = data(2:end,5:6); worktime = data(2:end,7);的伪代码
```
// 读入数据
data = 从 'c108.txt' 中读入数据
local_data = 从 data 中提取第2列和第3列
task = 从 data 中提取第4列
tasknum = 计算 task 的长度
// 计算距离矩阵
dist = 一个大小为 tasknum+1 x tasknum+1 的零矩阵
for i = 1 到 tasknum+1
for j = 1 到 tasknum+1
dist(i,j) = 计算 local_data(i,:) 和 local_data(j,:) 之间的距离
end
end
// 计算最大载重量、速度、时间矩阵和时间窗口、工作时间
maxload = 从 data2 中提取第2个数据
v = 60
runt = dist./v
timewindow = 从 data 中提取第5列和第6列
worktime = 从 data 中提取第7列
// 存储数据
caldata.runt = runt
caldata.task = task
caldata.dist = dist
caldata.timewindow = timewindow
caldata.worktime = worktime
caldata.maxload = 100
```
请加宽下面代码中的线条 for j=1:m t = Path{i}(j); %得到具体的栅格点 fill([TimeWindow{i}(j),TimeWindow{i}(j),TimeWindow{i}(j+1),TimeWindow{i}(j+1)],[t-1,t,t,t-1],C(i,:)); hold on
可以在 `fill` 函数外面加上 `plot` 函数来绘制线条,并使用 `linewidth` 参数来加宽线条。具体代码如下:
```
plot([TimeWindow{i}(j), TimeWindow{i}(j+1)], [t, t], 'color', 'k', 'linewidth', 2);
plot([TimeWindow{i}(j), TimeWindow{i}(j+1)], [t-1, t-1], 'color', 'k', 'linewidth', 2);
plot([TimeWindow{i}(j), TimeWindow{i}(j)], [t-1, t], 'color', 'k', 'linewidth', 2);
plot([TimeWindow{i}(j+1), TimeWindow{i}(j+1)], [t-1, t], 'color', 'k', 'linewidth', 2);
fill([TimeWindow{i}(j), TimeWindow{i}(j), TimeWindow{i}(j+1), TimeWindow{i}(j+1)], [t-1, t, t, t-1], C(i,:));
```
在上述代码中,首先使用 `plot` 函数绘制了四条线段,分别为水平线和垂直线,用来围绕 `fill` 函数填充的矩形。其中,`color` 参数设置线条颜色,`linewidth` 参数设置线条宽度。接着,使用 `fill` 函数填充矩形。
将上述代码替换原有的 `fill` 函数即可。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)