|
楼主 |
发表于 2007-12-31 12:52
|
显示全部楼层
补充关于myr的定义程序
function myr=myr(eksitonmid)
%global m fi v2
format long
N=0;
b=0.3;
h=0.5;
n=500;
as=2e-2;
ass=2e-2;
d1=2e-2;
d2=1.2e-2;
As=1000;
Ass=0;
eksitonc=-1.64e-3;
eksitont=8.1e-5;
afa=2.03;
afd=1.36;
aft=0.7;
fc=-14.3;
ft=1.5;
fy=300;
Es=2e5;
zi=[-(h/2-h/n/2):h/n:(h/2-h/n/2)];
v1=length(zi);
fi=[0:1e-4:3e-4]';
v2=length(fi);
eksitonmidd=zeros(v2,v1);
for i=1:v2
eksitonmidd(i,1:v1)=eksitonmid(i);
end
eksiton=eksitonmidd-fi*zi;
sigmac=zeros(v2,v1);
for i=1:v2;
for j=1:v1;
if eksiton(i,j)>0.00015
sigmac(i,j)=0;
elseif eksiton(i,j)>eksitont
sigmac(i,j)=ft*(eksiton(i,j)/eksitont)/(aft*(eksiton(i,j)/eksitont-1)^1.7+(eksiton(i,j)/eksitont));
elseif eksiton(i,j)>0
sigmac(i,j)=ft*(1.2*(eksiton(i,j)/eksitont)-0.2*(eksiton(i,j)/eksitont)^6);
elseif eksiton(i,j)==0
sigmac(i,j)==0;
elseif eksiton(i,j)>=eksitonc
sigmac(i,j)=fc*(afa*(eksiton(i,j)/eksitonc)+(3-2*afa)*(eksiton(i,j)/eksitonc)^2+(afa-2)*(eksiton(i,j)/eksitonc)^3);
elseif eksiton(i,j)>=-3.3e-3
sigmac(i,j)=fc*(eksiton(i,j)/eksitonc)/(afd*(eksiton(i,j)/eksitonc-1)^2+(eksiton(i,j)/eksitonc));
else
sigmac(i,j)=0;
break
disp('over');
end
end
end
eksiton;
sigmac;
eksitonsla=eksitonmid+fi*(h/2-as-d1/2);
eksitonsya=eksitonmid-fi*(h/2-ass-d2/2);
sigmasla=zeros(v2,1);
sigmasya=zeros(v2,1);
for i=1:v2
if eksitonsla(i)>fy/Es
sigmasla(i)=fy;
elseif eksitonsla(i)<-fy/Es
sigmasla(i)=-fy;
else
sigmasla(i)=eksitonsla(i)*Es;
end
end
for i=1:v2
if eksitonsya(i)>fy/Es
sigmasya(i)=fy;
elseif eksitonsya(i)<-fy/Es
sigmasya(i)=-fy;
else
sigmasya(i)=eksitonsya(i)*Es;
end
end
F=(sigmasla*As+sigmasya*Ass)/1000;
C=1000*sum(sigmac,2)*(b*(h/n));
myr=F+C-N;
v=(-zi)';
m=1000*(b*(h/n))*(sigmac*v)+(sigmasla*As*(h/2-as-d1/2)-sigmasya*Ass*(h/2-ass-d2/2))/1000;
fid = fopen('exp1.txt','wt');
fprintf(fid,'%6.2f\n',m);
fclose(fid);
fid = fopen('exp2.txt','wt');
fprintf(fid,'%12.8f\n',fi);
fclose(fid);
eksitonmid
eksitonmidd;
eksiton;
m
myr;
eksitonsla; |
|