This is the code. Could anyone run it and give me some suggestion about the error 'DOUBLE cannot convert the input expression into a double array' ? Cheers!
if true % DD =
1.2000 0.6000 1.6000 0.5000 1.3000 1.4000 100.0000 1.2000 0.6000 1.6000 0.5000 1.3000 1.6000 100.0000 1.2000 0.6000 1.6000 0.5000 1.3000 1.8000 100.0000 1.2000 0.8000 1.6000 0.7000 1.2000 1.4000 100.0000 1.2000 0.6000 1.4000 0.7000 1.2000 1.4000 100.0000 1.3000 0.6000 1.6000 0.7000 1.3000 1.4000 100.0000 1.3000 0.6000 1.6000 0.7000 1.3000 1.4000 100.0000 1.4000 0.4000 1.6000 0.6000 1.5000 1.4000 100.0000 1.4000 1.6000 0.4000 0.8000 1.1000 1.2000 100.0000 1.4000 1.8000 0.4000 0.8000 1.1000 1.2000 100.0000 1.4000 2.0000 0.4000 0.8000 1.1000 1.2000 100.0000 1.2000 2.2000 0.3000 0.8000 1.1000 1.2000 100.0000 1.5000 1.6000 0.4000 0.6000 1.1000 1.3000 100.0000 1.5000 1.3000 0.4000 0.6000 1.5000 1.3000 100.0000 1.2000 2.0000 0.7000 0.8000 1.1000 1.2000 100.0000 1.1000 2.0000 0.7000 0.8000 1.1000 1.2000 100.0000 0.5000 1.3000 1.5000 1.4000 0.6000 0.8000 100.0000 0.4000 1.5000 1.5000 1.4000 0.6000 0.8000 100.0000 1.1000 0.5000 1.5000 0.4000 1.2000 1.5000 100.0000 1.1000 0.5000 1.5000 0.4000 1.2000 1.7000 100.0000 1.1000 0.5000 1.5000 0.6000 1.1000 1.3000 100.0000 1.3000 0.3000 1.5000 0.5000 1.4000 1.3000 100.0000 1.1000 0.5000 1.6000 0.4000 1.2000 1.5000 100.0000 1.1000 0.5000 1.7000 0.4000 1.2000 1.5000 100.0000 1.1000 0.6000 1.5000 0.4000 1.2000 1.5000 100.0000 1.3000 0.5000 1.5000 0.4000 1.2000 1.5000 100.0000 1.1000 0.5000 1.6000 0.4000 1.2000 1.5000 100.0000 1.1000 0.8000 1.6000 0.7000 1.2000 1.5000 100.0000 1.1000 0.5000 1.5000 0.4000 1.4000 1.7000 100.0000 1.1000 0.6000 1.5000 0.4000 1.2000 1.7000 100.0000 1.1000 0.5000 1.5000 0.4000 1.2000 1.7000 100.0000 1.1000 0.5000 1.5000 0.4000 1.2000 1.7000 100.0000 1.1000 0.5000 1.5000 0.8000 1.2000 1.7000 100.0000 1.1000 0.5000 1.5000 0.4000 1.2000 1.7000 100.0000 1.1000 0.9000 1.5000 0.4000 1.2000 1.7000 100.0000 1.8000 0.5000 1.5000 0.4000 1.2000 1.7000 100.0000 0.9000 0.5000 1.5000 0.8000 1.2000 1.3000 100.0000 1.1000 0.6000 1.5000 0.8000 1.2000 1.7000 100.0000 0.8000 0.5000 1.8000 0.8000 1.2000 1.7000 100.0000rn=size(DD,1);sub=[0.25,0.25,0.25,0.08]p1=sub(1);p2=sub(2);p3=sub(3);r=sub(4);eutotal=zeros(rn,5);eu=zeros(1,rn); for i=1:rn; d1=DD(i,1:3)-1;d2=DD(i,4:6)-1;edw=DD(i,7);syms x; %f=@(x)
f=p1*(d1(1,1)-d2(1,1))*exp(-r*x*(d1(1,1)-d2(1,1)))... +p2*(d1(1,2)-d2(1,2))*exp(-r*x*(d1(1,2)-d2(1,2)))... +p3*(d1(1,3)-d2(1,3))*exp(-r*x*(d1(1,3)-d2(1,3)));y=solve(f,x)isempty(y);if isempty(y) PF(1,1)=10;elsePF=double(y);end endend
Best Answer