我是靠谱客的博主 真实自行车,这篇文章主要介绍MATLAB 语言基础知识 数据类型 数值类型 整数算术运算,现在分享给大家,希望可以做个参考。

本文说明如何对表示信号和图像的整数数据执行算术运算。

加载整数信号数据

加载由四种乐器发出的信号组成的测量数据集,并将数据中 8 位和 16 位的 A 至 D 结果保存为 int8、int16 和 uint16。时间存储为 uint16。

复制代码
1
2
3
4
5
load integersignal % Look at variables whos Signal1 Signal2 Signal3 Signal4 Time1
复制代码
1
2
3
4
5
6
7
8
Name Size Bytes Class Attributes Signal1 7550x1 7550 int8 Signal2 7550x1 7550 int8 Signal3 7550x1 15100 int16 Signal4 7550x1 15100 uint16 Time1 7550x1 15100 uint16

对数据绘图

首先,对两个信号绘图以查看信号范围。

复制代码
1
2
3
4
plot(Time1, Signal1, Time1, Signal2); grid; legend('Signal1','Signal2');

在这里插入图片描述

可能需要对这些值进行缩放以计算信号代表的实际物理值,例如电压。

处理数据

可以对整数执行标准算术运算,例如 +、-、* 和 /。假设要计算 Signal1 和 Signal2 的和。

复制代码
1
2
SumSig = Signal1 + Signal2; % Here we sum the integer signals.

现在,对和信号绘图并查看饱和位置。

复制代码
1
2
3
4
5
6
7
8
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

在这里插入图片描述

标记所示即信号饱和的位置。

加载整数图像数据

接下来,看一下对一些图像数据执行的算术运算。

复制代码
1
2
3
4
street1 = imread('street1.jpg'); % Load image data street2 = imread('street2.jpg'); whos street1 street2
复制代码
1
2
3
4
5
Name Size Bytes Class Attributes street1 480x640x3 921600 uint8 street2 480x640x3 921600 uint8

可以看出,图像为 24 位颜色,存储为三个 uint8 数据平面。

显示图像

显示第一个图像。

复制代码
1
2
3
4
5
cla; image(street1); % Display image axis equal axis off

在这里插入图片描述

显示第二个图像

复制代码
1
2
3
4
image(street2); % Display image axis equal axis off

在这里插入图片描述

缩放图像

可以按一个双精度常量缩放图像,但仍保持以整数形式存储图像。例如,

复制代码
1
2
3
duller = 0.5 * street2; % Scale image with a double constant but create an integer whos duller
复制代码
1
2
3
4
Name Size Bytes Class Attributes duller 480x640x3 921600 uint8
复制代码
1
2
3
4
5
6
7
8
9
10
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

在这里插入图片描述

添加图像

现在,将两个街道图像叠加在一起,并对重影结果绘图。

复制代码
1
2
3
4
5
6
7
8
combined = street1 + duller; % Add |uint8| images subplot(1,1,1) cla; image(combined); % Display image title('Combined'); axis equal axis off

在这里插入图片描述

最后

以上就是真实自行车最近收集整理的关于MATLAB 语言基础知识 数据类型 数值类型 整数算术运算的全部内容,更多相关MATLAB内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(120)

评论列表共有 0 条评论

立即
投稿
返回
顶部