Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
im uploading two codes which have different outputs. Wats the difference between these two pieces of code. I mean , why there outputs are different . Shudn't outputs be same ?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
if true
% code
block=20*ones(200);
block1=60*ones(500);
block2=100*ones(500);
block3=150*ones(500);
block1(151:350,151:350)=block;
img1=uint8(block1);
subplot(2,3,1)
imshow(img1)
block2(151:350,151:350)=block;
img2=uint8(block2);
subplot(2,3,2)
imshow(img2)
block3(151:350,151:350)=block;
img3=uint8(block3);
subplot(2,3,3)
imshow(img3)
end
if true
% code
A=60*ones(500);
B=120*ones(500);
C=200*ones(500);
A(151:350,151:350)=20*ones(200);
subplot(2,3,1)
imshow(uint8(A))
B(151:350,151:350)=20*ones(200)
subplot(2,3,2)
imshow(uint8(A))
C(151:350,151:350)=20*ones(200)
subplot(2,3,3)
imshow(uint8(A))
end
0 Commenti
Risposte (3)
Guillaume
il 26 Feb 2015
Well, in your second piece of code, you're showing A three times. If you show A, B and C you get the same figure as in the first piece:
figure;
subplot(2,3,1);
imshow(uint8(A));
subplot(2,3,2);
imshow(uint8(B));
subplot(2,3,3);
imshow(uint8(C));
0 Commenti
sandhya
il 26 Feb 2015
Modificato: sandhya
il 26 Feb 2015
Rather your second code should be
if true
% code
A=60*ones(500);
B=120*ones(500);
C=200*ones(500);
A(151:350,151:350)=20*ones(200);
subplot(2,3,1)
imshow(uint8(A))
B(151:350,151:350)=20*ones(200)
subplot(2,3,2)
imshow(uint8(B))
C(151:350,151:350)=20*ones(200)
subplot(2,3,3)
imshow(uint8(C))
end
3 Commenti
sandhya
il 26 Feb 2015
The two codes will show different results because
In the first code you are subplotting three different images i.e block1,block2,block3
but in the second code your code subplots the same image i.e A three times...this is why you are getting wrong outputs....
0 Commenti
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!