Cutting for loop connected with cell matrix

조회 수: 1 (최근 30일)
EldaEbrithil
EldaEbrithil 2020년 6월 23일
댓글: EldaEbrithil 2020년 6월 23일
Hi all
i have a for loop capable to solve multiple times an ODE system. It gives me, as solution for the system, a cell matrix Nx7(YSol) where each cell has dimensions Nx3. I want to obtain a cell matrix where each element of the third column of each cell is less than one, neglecting all the bigger values. I have tried something like that but with no success:
Nc=0.01;
P0=2.200000e+05;
T0=300;
Tt0=T0;
Pt0=P0;
L=0.1:0.7:1;
Mo1=[0.500000000000000,0.600000000000000,0.700000000000000];
ChT=[0.00289672891258433,0.00279011328296122,0.00270449699691686];
fT=[0.00438845212769167,0.00419291495433692,0.00403440372566407];
for i=1:length(L)
for j=1:length(Mo1)
Y0(j)={[Tt0,Pt0,Mo1(j)]};
ChT_cell(j)={ChT(j)};
ft_cell(j)={fT(j)};
Dall(i) ={[0:Nc:L(i)]};
end
end
Aeffettivafinal=7.828541323557411e-07;
Perimetro=0.011112388980385;
for i=1:length(L)
[~,siz(i)]=size(Dall{1,i});
end
for i=1:length(siz)
for iDom = 1:numel(Dall)
xRange = Dall{iDom};
for iInitial = 1:numel(Y0)
Ch=ChT_cell{iInitial};
Fc=ft_cell{iInitial};
[xSol{iDom,iInitial},YSol{iDom,iInitial}]=ode23(@(x,Y) ...
chambsinglebobb(x,Y,Ch,Aeffettivafinal,Perimetro,Fc),xRange,Y0{iInitial});
if YSol{iDom,iInitial}(1:siz(i),3)>1.00000000001
break;
end
end
end
end
The code has very long computational times, due to achievement of values equal 1 in the third column of the cells of the cell matrix. The creation of this break code has the purpose of avoiding such long times
Regards

답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by