【发布时间】:2014-02-20 09:33:52
【问题描述】:
假设W = [1 3 5; 2 1 5; 6 9 1] 和K = [0.2, 0.5, 0.3] 除了W 中至少一个元素 大于6 的那些元素之外,我如何用相同的颜色绘制k 中的所有元素?我需要 K(3) 以另一种颜色方式绘制 K(1) 和 K(2)
【问题讨论】:
假设W = [1 3 5; 2 1 5; 6 9 1] 和K = [0.2, 0.5, 0.3] 除了W 中至少一个元素 大于6 的那些元素之外,我如何用相同的颜色绘制k 中的所有元素?我需要 K(3) 以另一种颜色方式绘制 K(1) 和 K(2)
【问题讨论】:
您需要绘制两个系列。可以使用any/all函数来逐列检查逻辑条件:既然要逐行检查,我们需要使用W的转置。
exceptions = find(any(W' > 6));
normals = find(all(W' <= 6));
plot(exceptions, K(exceptions), 'b.')
hold on
plot(normals, K(normals), 'g.')
【讨论】:
如果你逐点绘制,你可以相应地改变颜色,例如这样的:
for i = 1:size(W,2)
if find(W>6)~=0
plot(i,K(i),'xb');hold on
else
plot(i,K(i),'xr');hold on
end
end
由于你给的信息不够,上面的代码需要根据W和K进行修改,....
【讨论】: