Arrays 使用大小为1的输入必须为整数时出错?

Arrays 使用大小为1的输入必须为整数时出错?,arrays,matlab,math,image-processing,Arrays,Matlab,Math,Image Processing,大家好,我的错误代码有问题 r =[zeros(size(img2,1),size(img2,2)) ones(size(img2,1),size(img2,2)/2)]; 其中img2大小为[111 235] Error using ones Size inputs must be integers 我想要一个大小相同的图像,大概是因为size(img2,2)是一个奇数,所以size(img2,2)/2不是整数,因此会得到错误消息 您需要考虑在这些情况下该怎么做,或者将其四舍五入到最接近的

大家好,我的错误代码有问题

r =[zeros(size(img2,1),size(img2,2)) ones(size(img2,1),size(img2,2)/2)];
其中
img2
大小为
[111 235]

Error using ones
Size inputs must be integers

我想要一个大小相同的图像,大概是因为
size(img2,2)
是一个奇数,所以
size(img2,2)/2不是整数,因此会得到错误消息


您需要考虑在这些情况下该怎么做,或者将其四舍五入到最接近的整数,或者在除以2之前加/减1。

如果
size(img2,2)
是奇数(如您的示例中,
235
),则
size(img2,2)/2
不是整数,因此会显示错误消息。要生成与
img
大小相同的数组,请执行
zero(size(img))
。我不明白你为什么要用2除法。