两天前我问过这个问题。现在我重新推导出公式并编写新代码。但是在使用integral2时我仍然遇到同样的错误。
clear
clc
% parameter settings
syms KI c r phi
KId = 0.000005;
G = 76.0;
nu = 0.31;
Vh = 2;
NA = 6.02214129*10^23;
b = 3.52*sqrt(6)/6;
A0 = G*b^2*(2-nu)/(8*pi*(1-nu));
lambda = 2;
m = 2.2;
kapa = 1.0;
beff = b;
delta2 = 1.0;
D = 1.9*10^(-14);
kB = 1.38064852*10^(-23);
R = 8.3144598;
E = 250;
Rc = 2*b;
for c0=0.0000005:0.0000005:0.0001
for T=1:1:300
for rou=b:b:10*b
for theta=0:0.01*pi:pi
h = (5*(1+nu)*D*Vh*cos(theta/2)*KI^2/(12*sqrt(2*pi)*kB*NA*T*KId))^(2/5);
B0 = G*Vh*c*h^2/(2*pi*(1-nu));
sigma1122 = ((cos(2*theta)*rou^2 + cos(2*phi)*r^2 - cos(theta - phi)*2*rou*r)*((sqrt(rou/r) + sqrt(r/rou))*cos((theta + phi)/2) - 2) + (sin(2*theta)*rou^2 - sin(2*phi)*r^2 - sin(theta - phi)*2*rou*r)*(sqrt(rou/r) - sqrt(r/rou))*sin((theta + phi)/2))*B0/((cos(2*theta)*rou^2 + cos(2*phi)*r^2 - cos(theta - phi)*2*rou*r)^2 + (sin(2*theta)*rou^2 - sin(2*phi)*r^2 - sin(theta - phi)*2*rou*r)^2); % 2*(psiHc+conj(psiHc));
sigma12 = KI*sin(theta)*cos(theta/2)/(2*sqrt(2*pi*rou));
c = c0*exp(((1+nu)*sigma1122/3-2*E*Vh*(c-c0)/(9*(1-nu)))*Vh/(R*T));
fun = @(r,phi) c*sin(2*phi)/r;
eq = pi*rou*A0*(log(8*rou*m/(lambda*b))-2)+kapa*G*beff^2*delta2-0.5*b*pi*rou^2*(sigma12-(G*Vh/(2*pi*(1-nu)*NA))*integral2(fun,0,Rc,0,2*pi));
solve(eq==0,KI);
end
end
end
end
错误信息是:
警告:系统不一致。解决方案不存在。
在symengine(第57行)
在sym / privBinaryOp(第903行)
在/(第297行)
在@(r,phi)c * sin(2 * phi)/ r
中在integral2Calc> integral2t / tensor(第228行)
在integral2Calc> integral2t(第55行)
在integral2Calc(第9行)
在整数2(第106行)
在KIpredictor(第44行)
使用integral2Calc> integral2t / tensor(第231行)
时出错输入函数必须返回'double'或'single'值。找到'sym'。
integral2Calc中的错误> integral2t(第55行)
[Qsub,esub] =张量(thetaL,thetaR,phiB,phiT);
integral2Calc中的错误(第9行)
> [q,errbnd] = integral2t(fun,xmin,xmax,ymin,ymax,optionstruct);
整数2错误(第106行)
> Q = integral2Calc(fun,xmin,xmax,yminfun,ymaxfun,opstruct);
KIpredictor出错(第44行)
> eq =
pi*rou*A0*(log(8*rou*m/(lambda*b))-2)+kapa*G*beff^2*delta2-0.5*b*pi*rou^2*(sigma12-(G*Vh/(2*pi*(1-nu)*NA))*integral2(fun,0,Rc,0,2*pi));
我认为这个问题是由于被积函数的复杂性。附图的详细描述在附图中。 formula