Can help me to correct the code for calculation for given condition of por_cr
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
por_cr= 0.22;
por = (0.1,0.2,0.3,0.5,0.34,0.12,0.1)';
Gt = (20,21,21,28,23,25,14)';
Kt = (32,33,31,28,33,29,,34)';
Pe = (14,14.4,15,14,14.2,15.5,14)';
poisson = 0.5.*((Kt-2.*Gt./3)./(Kt + Gt./3));
c =8;
Khm = ((c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(18*pi.*pi.*(1-poisson).^2)).^(1/3);
Ghm = ((5-4*poisson)./(5.*(2-poisson))).*(3.*(c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(2*pi.*pi.*(1-poisson).^2)).^(1/3);
Z = (Ghm./6).*((9*Khm + 8*Ghm)./(Khm + 2*Ghm));
if por<=por_cr
Kdryh = (((por./por_cr)./(Khm +4*Ghm/3)) + ((1-por./por_cr)./(Kt + 4*Ghm/3))).^(-1) - 4.*Ghm./3;
Gdryh = (((por./por_cr)./((1-por_cr).*(Ghm +Z))) + ((1-por./por_cr)./(Gt+Z))).^(-1) + Z;
elseif por>=por_cr
Kdryh = (((1-por)./(1-por_cr)).*(1./(Khm + 4.*Ghm./3)) + ((por - por_cr)./(1 - por_cr))./(4.*Ghm./3)).^(-1) - 4.*Ghm./3;
Gdryh= (((1-por)./(1-por_cr)).*(1./(Ghm+Z)) + ((por-por_cr)./(Z.*(1-por_cr)))).^(-1) -Z;
end
Kdryh;
Gdryh;
0 commentaires
Réponse acceptée
Torsten
le 2 Fév 2024
por_cr= 0.22;
por = [0.1,0.2,0.3,0.5,0.34,0.12,0.1]';
Gt = [20,21,21,28,23,25,14]';
Kt = [32,33,31,28,33,29,34]';
Pe = [14,14.4,15,14,14.2,15.5,14]';
poisson = 0.5.*((Kt-2.*Gt./3)./(Kt + Gt./3));
c =8;
Khm = ((c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(18*pi.*pi.*(1-poisson).^2)).^(1/3);
Ghm = ((5-4*poisson)./(5.*(2-poisson))).*(3.*(c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(2*pi.*pi.*(1-poisson).^2)).^(1/3);
Z = (Ghm./6).*((9*Khm + 8*Ghm)./(Khm + 2*Ghm));
for i = 1:numel(por)
if por(i)<=por_cr
Kdryh(i) = (((por(i)./por_cr)./(Khm(i) +4*Ghm(i)/3)) + ((1-por(i)./por_cr)./(Kt(i) + 4*Ghm(i)/3))).^(-1) - 4.*Ghm(i)./3;
Gdryh(i) = (((por(i)./por_cr)./((1-por_cr).*(Ghm(i) +Z(i)))) + ((1-por(i)./por_cr)./(Gt(i)+Z(i)))).^(-1) + Z(i);
else
Kdryh(i) = (((1-por(i))./(1-por_cr)).*(1./(Khm(i) + 4.*Ghm(i)./3)) + ((por(i) - por_cr)./(1 - por_cr))./(4.*Ghm(i)./3)).^(-1) -4.*Ghm(i)./3;
Gdryh(i)= (((1-por(i))./(1-por_cr)).*(1./(Ghm(i)+Z(i))) + ((por(i)-por_cr)./(Z(i).*(1-por_cr)))).^(-1) -Z(i);
end
end
Kdryh
Gdryh
5 commentaires
Torsten
le 3 Fév 2024
Maybe something like this:
por_cr= 0.22;
por = [0.1,0.2,0.3,0.5,0.34,0.12,0.1]';
Gt = [20,21,21,28,23,25,14]';
Kt = [32,33,31,28,33,29,34]';
Pe = [14,14.4,15,14,14.2,15.5,14]';
poisson = 0.5.*((Kt-2.*Gt./3)./(Kt + Gt./3));
c =8;
Khm = ((c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(18*pi.*pi.*(1-poisson).^2)).^(1/3);
Ghm = ((5-4*poisson)./(5.*(2-poisson))).*(3.*(c.^2).*((1-por_cr).^2).*(Gt.^2).*Pe./(2*pi.*pi.*(1-poisson).^2)).^(1/3);
Z = (Ghm./6).*((9*Khm + 8*Ghm)./(Khm + 2*Ghm));
Kdry1 = nan(size(por));
Kdry2 = Kdry1;
Gdry1 = Kdry1;
Gdry2 = Kdry1;
for i = 1:numel(por)
if por(i)<=por_cr
Kdry1(i) = (((por(i)./por_cr)./(Khm(i) +4*Ghm(i)/3)) + ((1-por(i)./por_cr)./(Kt(i) + 4*Ghm(i)/3))).^(-1) - 4.*Ghm(i)./3;
Gdry1(i) = (((por(i)./por_cr)./((1-por_cr).*(Ghm(i) +Z(i)))) + ((1-por(i)./por_cr)./(Gt(i)+Z(i)))).^(-1) + Z(i);
else
Kdry2(i) = (((1-por(i))./(1-por_cr)).*(1./(Khm(i) + 4.*Ghm(i)./3)) + ((por(i) - por_cr)./(1 - por_cr))./(4.*Ghm(i)./3)).^(-1) -4.*Ghm(i)./3;
Gdry2(i)= (((1-por(i))./(1-por_cr)).*(1./(Ghm(i)+Z(i))) + ((por(i)-por_cr)./(Z(i).*(1-por_cr)))).^(-1) -Z(i);
end
end
Kdry1
Kdry2
Gdry1
Gdry2
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!