在Octave中创建二维脉冲

时间:2015-06-24 02:57:24

标签: octave

我想在Octave中创建一个二维脉冲。它将包括 中间的一个方框,其值为1.0和0.0。二维数组的大小是512.如何在Octave中执行此操作?

1 个答案:

答案 0 :(得分:0)

鉴于此框的宽度和高度存储在widthheight中,并假设它们都是奇数用于对称,它非常简单:

row_half = floor(height/2);
col_half = floor(width/2);
pul = zeros(512,512);
pul(256-row_half:256+row_half, 256-col_half:256+col_half) = 1;

前两行代码确定定义框的宽度和高度的一半。接下来,我们使用中间(256,256)并确保我们从左右两侧宽度的一半,以及顶部和底部的一半高度。这会填满你的盒子的总面积,这是通过第四行的索引来完成的,我们将这些位置设置为1.

输出2D“脉冲”存储在变量pul中。上述代码的前提条件是确保您的宽度和高度完全包含在512 x 512网格中。如果没有,Octave会给你一个超出范围的错误。

实施例

假设我的宽度和高度均为101.如果我们做imagesc(pul);

,我们会得到这个脉冲

enter image description here