You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
function [ch,chda,chdb,chdc]=fitting_val(a0,b0,c0)
|
|
E = 1; m = 0.33;
|
|
p = E / ( (1+m) * (1-2*m) );
|
|
D = [p*(1-m) p*m p*m 0 0 0
|
|
p*m p*(1-m) p*m 0 0 0
|
|
p*m p*m p*(1-m) 0 0 0
|
|
0 0 0 p*(0.5-m) 0 0
|
|
0 0 0 0 p*(0.5-m) 0
|
|
0 0 0 0 0 p*(0.5-m)];
|
|
y0=[D(1,1),D(1,2),D(1,3),D(2,2),D(2,3),D(3,3),D(4,4),D(5,5),D(6,6)];
|
|
|
|
ch0=zeros([9,size(a0)]);
|
|
chda0=zeros([9,size(a0)]);
|
|
chdb0=zeros([9,size(a0)]);
|
|
chdc0=zeros([9,size(a0)]);
|
|
|
|
load('FittingParam.mat', 'paramFitting')
|
|
for i=1:9
|
|
b_reg = paramFitting(:,i);
|
|
[y,da,db,dc]=derivativeFromFitting(a0,b0,c0,b_reg);
|
|
ch0(i,:,:,:)=y.*(1+a0+b0+c0>0)+y0(i).*(1+a0+b0+c0<=0);
|
|
ch0(i,:,:,:)=max(ch0(i,:,:,:),y0(i)*1e-9);
|
|
chda0(i,:,:,:)=da.*(1+a0+b0+c0>0);
|
|
chdb0(i,:,:,:)=db.*(1+a0+b0+c0>0);
|
|
chdc0(i,:,:,:)=dc.*(1+a0+b0+c0>0);
|
|
end
|
|
|
|
ch=zeros([12,size(a0)]);
|
|
chda=zeros([12,size(a0)]);
|
|
chdb=zeros([12,size(a0)]);
|
|
chdc=zeros([12,size(a0)]);
|
|
idx = [1,2,3, 2,4,5, 3,5,6, 7,8,9];
|
|
for i=1:12
|
|
ch(i,:,:,:)=ch0(idx(i),:,:,:);
|
|
chda(i,:,:,:)=chda0(idx(i),:,:,:);
|
|
chdb(i,:,:,:)=chdb0(idx(i),:,:,:);
|
|
chdc(i,:,:,:)=chdc0(idx(i),:,:,:);
|
|
end
|
|
|
|
end
|