如何在MATLAB中去除小数?


在数学中,存在几种类型的数值,例如整数(没有小数部分)、浮点数(有小数部分,用小数点分隔)等等。在一些数据分析和其他计算应用中,我们得到包含小数部分(即小数点后的数字)的浮点数。但我们只需要整数。因此,如果您使用MATLAB作为数据处理工具,则可以使用它来去除给定数字中存在的小数。

本教程主要用于解释使用MATLAB从给定数字中去除小数的不同方法。

使用MATLAB中的“fix”函数去除小数

在MATLAB中,有一个名为“fix”的内置函数,用于从给定的浮点数中去除小数部分,只保留整数部分。

语法

integer_number = fix(floating_point_number);

“fix”函数将给定的浮点数向零舍入,以去除小数部分并将其转换为整数。

示例

以下示例演示了使用“fix”函数去除数字中小数的MATLAB代码。

% MATLAB code to remove decimal using fix function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the fix function
N1_integer = fix(N1);
N2_integer = fix(N2);
N3_integer = fix(N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 5
N3 = 3.971
N3 Integer = 3

“fix”函数通过向零舍入去除了数字的小数部分。

使用MATLAB中的“round”函数去除小数

在MATLAB中,还有一个名为“round”的内置函数,可用于去除给定浮点数的小数部分,并获得最接近的整数。

语法

integer_number = round(floating_point_number);

示例

以下示例演示了使用“round”函数从给定数字中去除小数。

% MATLAB code to remove decimal using round function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the round function
N1_integer = round(N1);
N2_integer = round(N2);
N3_integer = round(N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 6
N3 = 3.971
N3 Integer = 4

可以看出,“round”函数去除了给定数字的小数部分,并将其四舍五入到最接近的整数。

使用MATLAB中的“floor”函数去除小数

在MATLAB中,“floor”函数也是一个内置函数,用于将浮点数向下舍入到最接近的整数。

语法

integer_number = floor(floating_point_number);

示例

以下示例演示了使用“floor”函数从给定数字中去除小数,将其向下舍入到最接近的整数。

% MATLAB code to remove decimal using floor function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the floor function
N1_integer = floor(N1);
N2_integer = floor(N2);
N3_integer = floor(N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 5
N3 = 3.971
N3 Integer = 3

可以看出,“floor”函数去除了给定数字的小数部分,并将其向下舍入到最接近的整数。

使用MATLAB中的“ceil”函数去除小数

在MATLAB中,“ceil”函数是一个内置函数,用于将浮点数向上舍入到最接近的整数。

语法

integer_number = ceil(floating_point_number);

示例

以下示例演示了使用“ceil”函数从给定数字中去除小数,将其向上舍入到最接近的整数。

% MATLAB code to remove decimal using ceil function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the ceil function
N1_integer = ceil(N1);
N2_integer = ceil(N2);
N3_integer = ceil(N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 5
N2 = 5.525
N2 Integer = 6
N3 = 3.971
N3 Integer = 4

很明显,“ceil”函数去除了输入小数的小数部分,并将其向上舍入到最接近的整数。

使用MATLAB中的“sprintf”函数去除小数

在MATLAB中,我们还可以使用“sprintf”函数来去除给定浮点数的小数部分,使其成为整数。

语法

integer_number = sprintf(format, floating_point_number);

这里,“format”参数表示数据的格式说明符。为了去除小数,我们在MATLAB中使用'%.f'作为格式说明符。

示例

以下示例演示了使用“sprintf”函数从给定数字中去除小数,以将其转换为整数。

% MATLAB code to remove decimal using sprintf function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the sprintf function
N1_integer = sprintf('%.f', N1);
N2_integer = sprintf('%.f', N2);
N3_integer = sprintf('%.f', N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 6
N3 = 3.971
N3 Integer = 4

在这个示例中,我们已经看到“sprint”函数也可以用来去除给定浮点数的小数。

使用MATLAB中的“num2str”函数去除小数

在MATLAB中,我们可以使用“num2str”函数去除浮点数的小数部分,使其成为整数。

语法

integer_number = num2str(floating_point_number, format_specifier);

这里,为了去除小数,我们在MATLAB中使用'%.0f'作为格式说明符。

示例

以下示例演示了使用“num2str”函数从给定数字中去除小数,以将其转换为整数。

% MATLAB code to remove decimal using num2str function
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part using the num2str function
N1_integer = num2str(N1, '%.0f');
N2_integer = num2str(N2, '%.0f');
N3_integer = num2str(N3, '%.0f');

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 6
N3 = 3.971
N3 Integer = 4

在这个示例中,我们已经看到“num2str”函数可以用来去除给定浮点数的小数。

使用MATLAB中的类型转换去除小数

在MATLAB中,我们还可以通过使用类型转换方法来去除给定数字的小数部分。在这种方法中,我们将数字的数据类型转换为整数数据类型,这将去除输入数字的小数部分。

语法

integer_number = int32(floating_point_number);

示例

以下示例演示了从给定数字中去除小数以将其转换为整数的过程。

% MATLAB code to remove decimal through type conversion
% Provide the input decimal numbers
N1 = 4.489;
N2 = 5.525;
N3 = 3.971;

% Remove the decimal part through type conversion
N1_integer = int32(N1);
N2_integer = int32(N2);
N3_integer = int32(N3);

% Display the input decimal numbers and obtained numbers without decimal part
disp(['N1 = ', num2str(N1)]);
disp(['N1 Integer = ', num2str(N1_integer)]);
disp(['N2 = ', num2str(N2)]);
disp(['N2 Integer = ', num2str(N2_integer)]);
disp(['N3 = ', num2str(N3)]);
disp(['N3 Integer = ', num2str(N3_integer)]);

输出

运行此代码时,将产生以下输出

N1 = 4.489
N1 Integer = 4
N2 = 5.525
N2 Integer = 6
N3 = 3.971
N3 Integer = 4

在这个示例中,我们演示了使用类型转换方法去除给定浮点数的小数。

结论

这就是关于在MATLAB中去除小数的全部内容。在本教程中,我解释了如何从数字中去除小数部分(小数部分或小数点右边的部分)。MATLAB提供了几种从浮点数中去除小数部分的方法。在这里,我借助示例解释了所有用于去除小数的方法。

更新于:2023年10月6日

977 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告