Matlab之整数运算

2025-10-01 23:54:10

1、加载整数信号数据。

负载测量数据集,包括来自四个仪器的信号,使用8位和16位A-to-D,结果将数据保存为int8、int16和uint16。时间存储为uint16。

在命令行窗口,输入如下命令:

load integersignal

% Look at variables

whos Signal1 Signal2 Signal3 Signal4 Time1

按“Enter键”。

如图1所示。

Matlab之整数运算

2、绘图数据。

首先,我们将绘制两个信号,以查看信号范围。

在命令行窗口,输入如下命令:

plot(Time1, Signal1, Time1, Signal2);

grid;

legend('Signal1','Signal2');

按“Enter键”。

如图2所示。

这里我们看到int8的值。

很可能需要对这些值进行缩放,以计算信号表示的实际物理值,例如伏特。

Matlab之整数运算

3、过程数据。

我们可以对诸如+、-、*和/等整数执行标准运算。假设我们希望找到信号1和信号2的和。

在命令行窗口,输入如下命令:

SumSig = Signal1 + Signal2; % Here we sum the integer signals.

按“Enter键”。

现在让我们绘制和信号图,看看它在哪里饱和。

在命令行窗口,输入如下命令:

cla;

plot(Time1, SumSig);

hold on

Saturated = (SumSig == intmin('int8')) | (SumSig == intmax('int8')); % Find where it has saturated

plot(Time1(Saturated),SumSig(Saturated),'rd')

grid

hold off

按“Enter键”。

如图3所示。

标记显示信号饱和的地方。

Matlab之整数运算

4、加载整数图像数据。

接下来我们将研究一些图像数据的算法。

在命令行窗口,输入如下命令:

street1 = imread('street1.jpg'); % Load image data

street2 = imread('street2.jpg');

whos street1 street2

按“Enter键”。

如图4所示。

这里我们看到的图像是24位颜色,存储为三个平面的uint8数据。

Matlab之整数运算

5、显示图像。

显示第一个图像。

在命令行窗口,输入如下命令:

cla;

image(street1); % Display image

axis equal

axis off

按“Enter键”。

如图5所示。

Matlab之整数运算

6、显示第二个图像。

在命令行窗口,输入如下命令:

image(street2); % Display image

axis equal

axis off

按“Enter键”。

如图6所示。

Matlab之整数运算

7、缩放图像。

我们可以用一个双精度常数来缩放图像,但要将图像保存为整数。例如,

在命令行窗口,输入如下命令:

duller = 0.5 * street2; % Scale image with a double constant but create an integer

whos duller

按“Enter键”。

如图7所示。

Matlab之整数运算

8、在命令行窗口,输入如下命令:

subplot(1,2,1);

image(street2);

axis off equal tight

title('Original');  % Display image

subplot(1,2,2);

image(duller);

axis off equal tight

title('Duller');    % Display image

按“Enter键”。

如图8所示。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢