0

我有一个简单的情节问题。

在 x 轴上,值是 K,例如从 2 到 12,离散的。在 y 轴上,值是 C,例如从 1 到 10,离散的。

我的功能是分段的:

K 如果 K<2C; 如果 K>=2C,则 K+2C;

我想显示点(K,C)的值:

(1,1) 显示为 1 (1,2) 显示为 1 (2,1) 显示为 4 (2,2) 显示为 2 等。

我该怎么做?

非常感谢,

卡斯帕

4

1 回答 1

0

您可以使用ndgrid创建 K 和 C:

[K C] = ndgrid(2:12,1:10);

然后使用逻辑索引来计算单独的部分:

z=zeros(11,10);
ind = K>=(2*C);
z(~ind) = K(~ind);
z(ind) = K(ind)+2*C(ind);

然后绘制任何你想要的方式:

surf(C,K,z);

或者

image(z);

和别的....

于 2013-09-28T07:48:01.793 回答