Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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 vue (au cours des 30 derniers jours)
Amir
Amir le 26 Fév 2015
Clôturé : MATLAB Answer Bot le 20 Août 2021
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

Réponses (3)

Guillaume
Guillaume le 26 Fév 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));

sandhya
sandhya le 26 Fév 2015
Modifié(e) : sandhya le 26 Fév 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 commentaires
Amir
Amir le 26 Fév 2015
Thanks to both of u for pointing out the mistake.
sandhya
sandhya le 26 Fév 2015
kindly vote for my answer if it really helped you... thankyou

sandhya
sandhya le 26 Fév 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....

Cette question est clôturée.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by