【发布时间】:2016-05-19 02:30:36
【问题描述】:
假设我有如下情况:
clc; clear;
n = 1001;
m = 1000;
X = linspace(0,1,n);
Y = linspace(0,1,n);
randcolor = rand(m,3);
colorcode = randi(m,m,m);
对于i = 1, ..., n 和j = 1, ...,n,我想绘制(X(i),Y(j)) 的点,其中(X(i),Y(j)) 的RBG 颜色为randcolor(colorcode(i,j),:)。我试图以愚蠢的方式做到这一点:首先声明
figure; hold on;
然后执行 2 个嵌套循环,每个 n 步,并使用plot 绘制单个点 n x n 次:
for i = 1:n
for j = 1:n
plot(X(i),Y(j),'Marker','o',...
'MarkerEdgeColor',randcolor(colorcode(i,j),:),...
'MarkerFaceColor',randcolor(colorcode(i,j),:));
end
end
这在技术上是可行的,但速度很慢,当 n 增加时,MATLAB 耗尽了我所有的内存。请问有什么更好的方法吗?
附言在我的实际问题中,colorcode 实际上并不是随机分配的。相反,它是根据填充的 Julia 集的一些散度标准分配的。
【问题讨论】:
标签: matlab matlab-figure