# MATLAB: How can i speed up the function

functionMATLABperformancespeedtable

Hello everybody,
I'm trying to increase the performance of my Matlab function. Input is a table with the same columns as airfoil_update.
The function splits the X-Coordinates of one AeroDataId at the minimum of X/C and does this for every AeroDataId in the table. Airfoil, the input table, will have a size of 131123421×4. But the fourth column "Upper" is empty and should be filled up with a 1, if the coordinate belongs to the upper airfoil and 0, if it belongs to the lower airfoil.
Thank you very much in advance.
function [airfoil_update] = splitAirfoil(airfoil)%% create table for upper and lower airfoilairfoil_update=array2table(zeros(0,4),'VariableNames',{'AeroDataId','X_C','CP','Upper'});%% vector with unique AeroDataIdsDataId_unique=unique(airfoil.AeroDataId);for i=1:1:size(DataId_unique)    %% temp vector filled with every point of specific AeroDataId    disp(DataId_unique(i,:));    AeroDataId=airfoil(airfoil.AeroDataId==DataId_unique(i,:),:);    %% find the minimum of X/C    [~, min_idx]=min(AeroDataId.X_C);    %% every point with same ID before minimum -> lower_airfoil -> Upper =0    airfoil_new=AeroDataId(1:min_idx,:);    airfoil_new.Upper(:,:)=0;    airfoil_update=[airfoil_update; airfoil_new];    %% every point with same ID after minimum = upper_airfoil -> Upper =1    airfoil_new=AeroDataId(min_idx+1:end,:);    airfoil_new.Upper(:,:)=1;    %% add new rows     airfoil_update=[airfoil_update; airfoil_new];    endend

airfoil_update