如何在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 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.