0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 function [p,dp] = funXor(xx)
0029
0030
0031 x1=xx(:,:,1);
0032 x2=xx(:,:,2);
0033 x3=xx(:,:,3);
0034 x4=xx(:,:,4);
0035 x5=xx(:,:,5);
0036 x6=xx(:,:,6);
0037 x7=xx(:,:,7);
0038 x8=xx(:,:,8);
0039 x9=xx(:,:,9);
0040
0041 p125=exp(-x1-x2-x5);
0042 p346=exp(-x3-x4-x6);
0043 p5=exp(-x5);
0044 p6=exp(-x6);
0045 p15=exp(-x1-x5);
0046 p36=exp(-x3-x6);
0047 p25=exp(-x2-x5);
0048 p46=exp(-x4-x6);
0049
0050 pae=exp(-x7./(1+p125)-x8./(1+p346)-x9);
0051 pa=1+pae;
0052 pbe=exp(-x7./(1+p5)-x8./(1+p6)-x9);
0053 pb=1+pbe;
0054 pce=exp(-x7./(1+p15)-x8./(1+p36)-x9);
0055 pc=1+pce;
0056 pcc=1-pc.^(-1);
0057 pde=exp(-x7./(1+p25)-x8./(1+p46)-x9);
0058 pd=1+pde;
0059 pdd=1-pd.^(-1);
0060
0061 p=1./pa.^2;
0062 p=pa.^2;
0063 if nargout==2
0064 dp=zeros(size(xx));
0065
0066 p125d1=-p125;
0067 p125d2=-p125;
0068 p125d5=-p125;
0069
0070 p346d3=-p346;
0071 p346d4=-p346;
0072 p346d6=-p346;
0073
0074 p5d=-p5;
0075
0076 p6d=-p6;
0077
0078 p15d1=-p15;
0079 p15d5=-p15;
0080
0081 p36d3=-p36;
0082 p36d6=-p36;
0083
0084 p25d2=-p25;
0085 p25d5=-p25;
0086
0087 p46d4=-p46;
0088 p46d6=-p46;
0089
0090 pad1=x7.*p125d1./(1+p125).^2.*pae.*pa;
0091 pad2=x7.*p125d2./(1+p125).^2.*pae;
0092 pad3=x8.*p346d3./(1+p346).^2.*pae;
0093 pad4=x8.*p346d4./(1+p346).^2.*pae;
0094 pad5=x7.*p125d5./(1+p125).^2.*pae;
0095 pad6=x8.*p346d6./(1+p346).^2.*pae;
0096 pad7=-pae./(1+p125);
0097 pad8=-pae./(1+p346);
0098 pad9=-pae;
0099
0100 pbd5=-x7.*p5d./(1+p5).^2.*pbe;
0101 pbd6=-x8.*p5d./(1+p6).^2.*pbe;
0102 pbd7=-pbe./(1+p5);
0103 pbd8=-pbe./(1+p6);
0104 pbd9=-pbe;
0105
0106 pcd1=-x7.*p15d1./(1+p15).^2.*pce;
0107 pcd3=-x8.*p36d3./(1+p36).^2.*pce;
0108 pcd5=-x7.*p15d5./(1+p15).^2.*pce;
0109 pcd6=-x8.*p36d6./(1+p36).^2.*pce;
0110 pcd7=-pce./(1+p15);
0111 pcd8=-pce./(1+p36);
0112 pcd9=-pce;
0113
0114 pccd1=pcd1./pcc.^2;
0115 pccd3=pcd3./pcc.^2;
0116 pccd5=pcd5./pcc.^2;
0117 pccd6=pcd6./pcc.^2;
0118 pccd7=pcd7./pcc.^2;
0119 pccd8=pcd8./pcc.^2;
0120 pccd9=pcd9./pcc.^2;
0121
0122 pdd2=-x7.*p25d2./(1+p25).^2.*pde;
0123 pdd4=-x8.*p46d4./(1+p46).^2.*pde;
0124 pdd5=-x7.*p25d5./(1+p25).^2.*pde;
0125 pdd6=-x8.*p46d6./(1+p46).^2.*pde;
0126 pdd7=-pce./(1+p25);
0127 pdd8=-pce./(1+p46);
0128 pdd9=-pce;
0129
0130 pddd2=pdd2./pcc.^2;
0131 pddd4=pdd4./pcc.^2;
0132 pddd5=pdd5./pcc.^2;
0133 pddd6=pdd6./pcc.^2;
0134 pddd7=pdd7./pcc.^2;
0135 pddd8=pdd8./pcc.^2;
0136 pddd9=pdd9./pcc.^2;
0137
0138 dp(:,:,1)=pad1;
0139 dp(:,:,2)=pad2;
0140 dp(:,:,3)=pad3;
0141 dp(:,:,4)=pad4;
0142 dp(:,:,5)=pad5;
0143 dp(:,:,6)=pad6;
0144 dp(:,:,7)=pad7;
0145 dp(:,:,8)=pad8;
0146 dp(:,:,9)=pad9;
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158 end
0159 end
0160