• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Matlab Kodlarını VBA kodlarına çevirme

Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Arkadaşlar, aşağıdaki matlab kodlarını VBA kodlarına dönüştürmeye çalışıyorum ama çalıştıramadım. Yardımcı olmanız mümkün müdür?
c = 0.0017;
s = 0.163;
w = 0.0345;
R = 1.55;
N = 2;
Pi = 478000;
Pe = 10500;
rho= 1000;
mu = 0.001135969;
A = 2*3.142*R*c;
p = ones(1,N+1); p(1) = Pi; p(N+1) = Pe;
mdot = sqrt((Pi-Pe)*rho)*0.1*A
error=1;
for i=1:10000
Re = mdot/(3.142*2*R*mu);
gamma =((1-6.5*(c/s))- 8.638*(c/s) *(w/s))*(Re+((1-6.5*(c/s))- 8.638*(c/s) *(w/s))^(-1/(2.454*(c/s)+2.258*(c/s)*(w/s)^1.673)))^(2.454*(c/s)+2.258*(c/s)*(w/s)^1.673);
cd1 =(1.097-0.0029*w/c)*(1+(44.86*w/c)/Re)^(-0.2157)/sqrt(2);
tdc =cd1*0.925*gamma^.861;
p(2) = p(1)-(mdot/A)^2/(2*cd1^2*rho);

for j = 2:N-1
p(j+1) =p(j)-(mdot/A)^2/(2*tdc^2*rho);
end
mdot1 = A* tdc*sqrt(2*(rho*(p(N)-p(N+1))));
error = abs((mdot1-mdot)/mdot);
mdot=(mdot1-mdot)*0.1+mdot;
if(error<0.0001)
break;
end
end
disp('leakage rate in kg/s is : ');
mdot
disp('The pressure distribution is (in Pa) : ');
p
[CODE]Sub Makro1() ' Makro1 Makro Dim c As Double Dim s As Double Dim w As Double Dim R As Double Dim N As Double Dim Pi As Double Dim Pe As Double Dim rho As Double Dim mu As Double Dim A As Double Dim tdc As Double Dim Re As Double Dim mdot As Double Dim p() As Double Dim t As Integer c = Range("G6").Value s = Range("H6").Value w = Range("I6").Value R = Range("J6").Value N = 4 Pilk = Range("L6").Value Pe = Range("M6").Value rho = Range("N6").Value mu = Range("O6").Value A = 2 * 3.142 * R * c ReDim p(1 To N + 1) p(1) = Pilk p(N + 1) = Pe mdot = 0.1 * A * Sqr((Pilk - Pe) * rho) Hata = 1 For i = 1 To 10000 Re = mdot / (3.142 * 2 * R * mu) Gamma = ((1 - 6.5 * (c / s)) - 8.638 * (c / s) * (w / s)) * (Re + ((1 - 6.5 * (c / s)) - 8.638 * (c / s) * (w / s)) ^ (-1 / (2.454 * (c / s) - 2.258 * (c / s) * (w / s) ^ 1.673))) ^ (2.454 * (c / s) * (w / s) ^ 1.673) cd1 = (1.097 - 0.0029 * w / c) * (1 + (44.86 * w / c) / Re) ^ (-0.2157) / Sqr(2) tdc = cd1 * 0.925 * (Gamma) ^ 0.861 p(2) = p(1) - (mdot / A) ^ 2 / (2 * ((cd1) ^ 2) * rho) For j = 2 To N - 1 p(j + 1) = p(j) - (mdot / A) ^ 2 / (2 * (tdc) ^ (2) * rho) Next j mdot1 = A * tdc * Sqr(2 * (rho * p(N) - p(N + 1))) Hata = Abs((mdot1 - mdot) / mdot) mdot = (mdot1 - mdot) * 0.1 + mdot If (Hata < 0.0001) Then Exit For End If Next i MsgBox "Leakage rate in kg/s is " & CStr(mdot) & vbCrLf & "The pressure distribution in Pa is " & CStr(p), vbOKOnly, "Results" End Sub [/CODE]
 
Geri
Üst