x=imread('test.jpg');
imshow(x);
total = 0;
for i=1:2
for j=1:2
for k=1:2
total = total + abs(x(i,j,k));
end
end
end
total
Run Code Online (Sandbox Code Playgroud)
无论i,j,k的最大值是多少,上面的代码总共打印为255.请解释
use*_*217 10
它打印出255,因为matlab没有溢出整数,数据类型是uint8
a = repmat(uint8(100),5, 1)
a(1)+a(2)
a(1)+a(2)+a(3)
Run Code Online (Sandbox Code Playgroud)
输出将是200和255,因为Matlab将输出钳位在最大值,而不是环绕.如果你使用Dennis给出的sum函数,那么你会得到正确的值,因为Matlab会先转换为double
sum(a)
Run Code Online (Sandbox Code Playgroud)
应该给出500作为输出.
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |