# How to get the length of flame front

3 ビュー (過去 30 日間)
LEONG SING YEW 2020 年 3 月 13 日

Hi everyone, does anyone know how to code for measuring the length of flame front as seen in the picture above?
My lecturer suggest to me use everyone point (x,y) of the respective temperature to calculate the distance, i'm very new to coding, i appreaciate any help
Here is my csv attachments and matlab code for this 2D surf contour plot
filename = '40um.csv';
X_Data = Data(:,2);
Y_Data = Data(:,1);
T_Data = Data(:,6);
T_Data(T_Data>400)=300; %more than 400K equal to 300
[x,~,xi]=unique(X_Data*1e3/2); %convert m to mm
[y,~,yi]=unique(Y_Data*1e3/2); %option: divide by 2 to use for validations
subs=[xi yi];%use the indices instead of values as coordinates
[X,Y]=ndgrid(x,y);%generate the grid surf() expects
val=T_Data;
M=accumarray(subs,val,[],[],NaN);%fill missing with NaN
surf(X,Y,M);
surf(-X,Y,M); %Reflection along y-axis
colormap jet
view(0,90),xlabel("x/R (mm)"+newline),ylabel("y/R (mm)"+newline)
xlim([-2 2]); ylim([-0.5 3.4]); c=colorbar;
title(c,"Temperature",'FontSize',9,'FontWeight','bold'); title('0\circ');
##### 1 件のコメント表示 なし非表示 なし
LEONG SING YEW 2020 年 3 月 13 日
here is the csv attachment

サインインしてコメントする。

### 採用された回答

darova 2020 年 3 月 14 日
You have to find first value in each column
ii = zeros(columns,1)
jj = 1:columns;
for j = 1:columns
ii(j) = find(M(:,j)>200,1,'last');
end
L = hypot(diff(jj),diff(ii));
##### 1 件のコメント表示 なし非表示 なし
LEONG SING YEW 2020 年 3 月 21 日

thanks i work it out with another method, i post here if anyone find it useful
[A B]=size(T_Data);
X_new = zeros(A,1); Y_new = zeros(A,1);
for i = 1:A;
if T_Data(i,:)>350;
X_new(i) = X_Data(i); %retain the value
Y_new(i) = Y_Data(i);
else
continue
end
end
XY = [X_new*1e3 Y_new*1e3];
rows = find(XY(:,2)==0);
XY(rows,:)=[]; %eliminate rows with value zeros
[~,idx] = unique(XY(:,2)); %which rows have a unique first value
XY = XY(idx,:); %retain them
[~,idy] = unique(XY(:,1));
XY = XY(idy,:);
X = XY(:,1);
Y = XY(:,2);
L = sum(hypot(diff(X),diff(Y))); %length of flame
hold on
plot(-X,Y); plot(X,Y);

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeLogical についてさらに検索

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by