逻辑运算符的应用

24次浏览(过去30天)
拉胡尔Gulia
拉胡尔Gulia 2022年10月3日15:18
评论道: 明星黾 2022年10月3日20:27
嗨,团队,
我试图为这个简单的仓库图的每个部分分配一个颜色,有4个架子。
我必须为这个模型的每个部分分配一个唯一的值,即4个货架的位置,过道的位置,仓库的角落。
我尝试使用逻辑运算符为仓库模型的每个部分分配颜色。但我在正确地做这件事上遇到了问题。请帮助。
我的代码:
clc;
清除所有;
关闭所有;
X_pos_tmp = 0:0.05:10;
Y_pos_tmp = 0:0.05:5;
X_pos = repelem(x_pos_tmp,1,length(y_pos_tmp))';
Y_pos = repmat(y_pos_tmp,1,length(x_pos_tmp))';
Mat = [x_pos y_pos];
%%货架距离列
Tmp1 = 0 (1,length(mat))';
matTmp = [mat tmp1];
nx = 1:长度(垫)
在货架覆盖范围内添加数据
如果(垫(nx, 1) > = 1.1 & & matTmp (nx, 1) < = 1.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
matTmp(nx,3) = 50;
elseif (matTmp (nx, 1) > = 3.1 & & matTmp (nx, 1) < = 3.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
matTmp(nx,3) = 50;
elseif (matTmp (nx, 1) > = 5.1 & & matTmp (nx, 1) < = 5.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
matTmp(nx,3) = 50;
elseif (matTmp (nx, 1) > = 7.1 & & matTmp (nx, 1) < = 7.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
matTmp(nx,3) = 50;
在过道覆盖范围内
elseif (matTmp (nx, 1) > = 2.1 & & matTmp (nx, 1) < = 2.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
% matTmp (nx、3)= min ((matTmp (nx 1), 2), (3-matTmp (nx 1)));
matTmp(nx,3) = 100;
elseif (matTmp (nx, 1) > = 4.1 & & matTmp (nx, 1) < = 4.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
% matTmp (nx、3)= min ((matTmp (nx, 1) 4), (5-matTmp (nx 1)));
matTmp(nx,3) = 100;
elseif (matTmp (nx, 1) > = 6.1 & & matTmp (nx, 1) < = 6.9) & & (matTmp (nx, 2) > = 1.1 & & matTmp (nx, 2) < = 3.9))
% matTmp (nx、3)= min ((matTmp (nx, 1) 6), (7-matTmp (nx 1)));
matTmp(nx,3) = 100;
%转角通道数据
elseif (matTmp (nx, 1) > = 0 & & matTmp (nx, 1) < = 0.9) & & (matTmp (nx, 2) > = 0 & & matTmp (nx, 2) < = 5) %左上角过道
% matTmp(nx,3) = 1-matTmp(nx,1);
matTmp(nx,3) = 150;
elseif (matTmp (nx, 1) > = 7.9 & & matTmp (nx, 1) < = 10) & & (matTmp (nx, 2) > = 0 & & matTmp (nx, 2) < = 5) %右角
% matTmp(nx,3) = matTmp(nx,1)-8;
matTmp(nx,3) = 150;
%强烈LOS病例(东西方向)
elseif (matTmp (nx, 1) > = 1.1 & & matTmp (nx, 1) < = 7.9) & & (matTmp (nx, 2) > = 0 & & matTmp (nx, 2) < = 0.9))
% matTmp (nx、3)= min ((matTmp (nx, 2) 0)、(1-matTmp (nx 1)));
matTmp(nx,3) = 200;
elseif (matTmp (nx, 1) > = 1.1 & & matTmp (nx, 1) < = 7.9) & & ((matTmp (nx, 2) > = 4.1 & & matTmp (nx, 2) < = 5)))
% matTmp (nx、3)= min ((matTmp (nx, 2) 4), (5-matTmp (nx 1)));
matTmp(nx,3) = 200;
其他的
matTmp(nx,3) = 0;
结束
结束
% %的阴谋
data =重塑(matTmp(:,3),长度(x_pos_tmp),长度(y_pos_tmp));
图(1)
集(gca, DefaultTextFontSize, 14)
显示亮度图像(0:10,0:5,数据);% 0:0.5:18 0:0.1:30,
包含(“x [m]”,“字形大小”,14);
ylabel(“Y-distance [m]”,“字形大小”,14);
集(gca,‘YDir’,‘正常’);
一个= colorbar;
% a.Label.String = 'SINR [dB]';
ylabel(‘SINR (dB)”,“字形大小”,14)
colormap喷射;
% clim([20 90])
--------------------------------------------------------------------------------------------------------------------------------------------------------
输出:
这张图看起来应该像第一张图。期待任何建议。
谢谢你!
拉胡尔·辛格·古利亚

答案(1)

明星黾
明星黾 2022年10月3日16:09
也许像这样-
数字
持有
K = 1:4
Patch ([1 2 2 1]+2*(k-1), [1 1 4 4],“b”“FaceAlpha”, 0.5)
Text (1.5+2*(k-1), 2.5, sprintf(“货架% d 'k),“水平的”“中心”“绿色”“中间”“字形大小”, 8)
结束
持有
轴([0 10 0 5])
Ax = gca;
斧子。Color = [1 1 1]*0.9;
6个评论
明星黾
明星黾 2022年10月3日20:27
我的荣幸!

登录评论。

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map