##MATLAB之Simulink(四)
##两位二进制数加法器
在上一节中,我们学习了全加器的原理并且进行了仿真,今天我们来做一个实例——两位二进制数的加法器。
由于全加器有三个输入,其中一个是由低位的进位输入进来的,但是最低位只有两个输入,所以两个最低位相加不能用加法器,那么应该如何相加呢?这里给大家介绍另一种加法器——半加器。
半加器定义:
两个1位二进制数相加,若只考虑了两个加数本身,而没有考虑由低位来的进位的运算称为半加,而实现半加运算的逻辑电路称为半加器。
也就是说,半加器仅适用于一位二进制数的相加,不需要考虑低位的进位。所以我们需要用到一个半加器和一个全加器,半加器用来计算两个低位的结果,全加器用来计算两个高位的结果,同时考虑低位的进位。
一般情况下,用A、B来表示两个一位二进制加数,用S表示A、B的和,C表示A、B的进位。
先来仿真一下半加器:
列出真值表
在这里插入描述
得出表达式:
在这里插入描述
在这里插入描述
根据表达式,很容易可以作出半加器的模型
(过程这里不再多说,不懂得朋友请看我的上一篇全加器的文章)
在这里插入描述我们假设输入的数分别为00、01、10、11,那么输入矩形波的设置应该是这样:
在这里插入描述我们用示波器连接两个输入和两个输入,观察仿真结果:
在这里插入描述
这里有四行波形,第一行为加数A,第二行为加数B,第三行为S,第四行为C。
不难看出,仿真结果与真值表相对应,半加器仿真成功!
接下来,我们直接将一个半加器和一个全加器合并在一起稍微修改,就可以得到一个两位二进制数的加法器:
在这里插入描述这里需要注意的是,半加器用来计算两个低位,全加器用来计算两个高位,全加器中的进位输入由半加器的进位输出连接。
在这幅图中,A0,A1表示两个低位,B0,B1表示两个高位。
我们用三个示波器分别表示第一个加数、第二个加数和结果。
接下来我们看仿真结果:
第一个加数:
在这里插入描述
第二个加数:
在这里插入描述结果:
在这里插入描述
注意:每幅图都是低位在上,高位在下。
我们进行验证,不难发现仿真结果正确。
这就是两位二进制加法器的仿真过程,掌握这个方法后很容易设计出多位二进制加法器,没错,只要增加几个全加器就可以了。
##以上就是本节的全部内容,后续内容会逐渐上传,相关源码也会统一上传,也可以到公众号私聊我要。
##不足之处请及时指出,相互学习
##不懂得小伙伴可以到我的公众号"歌者X"私信我,看到后会回复的,欢迎交流学习!
两个图像矩阵直接相减不就行了,搞什么循环,matlab最大的优势就是多数情况下可不使用循环就可以实现数组对应元素的运算,循环会使matlab运算效率降低。还有matlab的目录尽量避免使用中文,有时会产生不可预知的问题。
楼主你太狠了,5分要别人做这么多!
1图像的读入、显示及信息查询:
(1)I=imread ('lenajpg') %图像读入
imshow(I) %图像显示
(2)inf=imfinfo('lenajpg') % 图像信息查询
2图像的常用处理语句:
(1) X=rgb2gray(I) ; imshow(X) %彩色图像转灰度图像
(2)X2=grayslice(I,64) ; imshow(X2,hot(64)) %将灰度图像转为索引色图像
(3) X3=im2bw(X1) ; imshow(X3) %将图像转二值图像
3图像滤波:
clear all
g0=imread('lenatif')
g0 = g0(:,:,2); %三维转二维
figure(1);imshow(g0) ;title('原图') %如图 5
g1=imnoise(g0,'salt & pepper',02)
g1=im2double(g1);
figure(2);imshow(g1);title('加入椒盐噪声') %如图 6
h1=fspecial('gaussian',4,03)
g2=filter2(h1,g1,'same')
figure(3);imshow(g2);title('进行高斯滤波') %如图 7
h2=fspecial('sobel')
g3=filter2(h2,g1,'same')
figure(4);imshow(g3);title('进行sobel滤波') %如图 8
h3=fspecial('prewitt')
g4=filter2(h3,g1,'same')
figure(5);imshow(g4);title('进行prewitt滤波') %如图 9
h4=fspecial('laplacian',05);
g5=filter2(h4,g1,'same');
figure(6);imshow(g5);title('进行拉普拉斯滤波'); %如图 10
h5=fspecial('log',4,03);
g6=filter2(h5,g1,'same');figure(7);
imshow(g6);title('进行高斯拉普拉斯滤波'); %如图 11
h6=fspecial('average');
g7=filter2(h6,g1,'same');figure(8);
imshow(g7);title('进行均值滤波'); %如图 12
h7=fspecial('unsharp',03);
g8=filter2(h7,g1,'same');
figure(9);imshow(g8);title('进行模糊滤波'); %如图 13
h8=[0 -1 0;-1 5 -1;0 -1 0];
g9=filter2(h8,g1,'same');
figure(10);imshow(g9);title('进行高通高斯滤波'); %如图 14
h9=g1;g10=medfilt2(h9);
figure(11);imshow(g10);title('进行中值滤波'); %如图 15
以上就是关于matlab如何让两个加法器相减全部的内容,包括:matlab如何让两个加法器相减、matlab,将读入的两张图像的像素做循环相减,结果在命令行中,两个矩阵不停地显示当前矩阵求教大神!!!、matlab图像处理教程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)