如何在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提供了几种从浮点数中去除小数部分的方法。在这里,我借助示例解释了所有用于去除小数的方法。