所以我有一个10x10矩阵 randMat ,它有1到4之间的随机整数和另一个零 map 的零,它的RGB值是四种颜色,即每种颜色一行,三列,红色,绿色和蓝色。
randMat = randi(4,10)
map = zeros(4,3);
使用for循环我已经为每一行地图分配了红色阴影的RGB值,红色值从1/4到4/4 = 1.因此每行应该有一个红色值i / 4和蓝色和绿色值为零。我还制作了地图色彩图
for i=1:4
map(i,1) = i/4;
end
colormap(map);
现在的问题是我想用4种红色可视化 randMat ,但它一直显示为蓝色。我错过了什么?
image(randMat)
axis off
axis square
答案 0 :(得分:0)
当您使用部分时,我能想象的唯一解释是您不运行生成色彩映射的部分。
clc
clear
close all
randMat = randi(4,10)
map = zeros(4,3)
%%
for i=1:4
map(i,1) = i/4;
end
colormap(map);
%%
image(randMat)
axis off
axis square
如果您运行第一部分然后运行最后一部分,则图像显示为蓝色。如果你随后运行所有三个它会显示为红色,当然如果你一起运行它也会显示为红色。我从自己的经验中知道,在使用部分时,通常只需使用 Crtl + Enter 来运行单个部分。所以只需确保运行所有相关部分。