FSOLVE requires all values returned by functions to be of data type double.

1 visualización (últimos 30 días)
Hello. this is my code.it solves the first function and gives the values of x1(i,1).
but it does not go to solving the function of mysubfun1. and stops.
what should i do?
function x1 = supercriticalahmad
for i=1:2
x1(i,1) = fsolve(@mysubfun,0.1);
p2x1(i,1)=sqrt(1-(4.*x1(i,1).^2));
p1x1(i,1)=2.*asin(2.*x1(i,1))+4.*x1(i,1).*sqrt(1-(4.*x1(i,1).^2));
F1(i,1)=(p2x1(i,1)/p2xc(i,1))^(1/2).*(p1xc(i,1)/p1x1(i,1))^(3/2);
end
function xe=hoda
xe(i,1) = fsolve(@mysubfun1,0.1)
EDR(i,1)=xe(i,1)./xc(i,1)
function ff= mysubfun1(xe)
p1xe(i,1)=2.*asin(2.*xe)+4.*xe.*sqrt(1-(4.*xe.^2));
b(i,1)=1/(2.*xc(i,1).*(1+(p1xc(i,1)/(16.*xc(i,1).*p2xc(i,1))))); %b(i,1) haman R/H mib(i,1)ashad.
a0(i,1)=1;
a1(i,1)=(1/2).*b(i,1);
a2(i,1)=(1/8).*((b(i,1).^2)+4);
a3(i,1)=(1/16).*((b(i,1).^3)-(4.*b(i,1)));
a4(i,1)=(5/128).*((b(i,1).^4)-(8/5).*b(i,1).^2+(16/5));
a5(i,1)=(7/256).*(b(i,1).^5-(8/7).*b(i,1).^3-(16/7).*b(i,1));
a6(i,1)=(21/1024).*((b(i,1).^6)-(20/21).*b(i,1).^4-(16/21).*b(i,1).^2+(64/21));
a7(i,1)=(231/14336).*((b(i,1).^7)-(28/33).*b(i,1).^5-(112/231).*b(i,1).^3-(448/231).*b(i,1));
p3x1(i,1)=((a0(i,1).*xc(i,1))-(a1(i,1).*(xc(i,1).^2))-((4/3).*a2(i,1).*(xc(i,1).^3))...
-((8/4).*a3(i,1).*(xc(i,1).^4))-((16/5).*a4(i,1).*(xc(i,1).^5))-((32/6).*a5(i,1).*(xc(i,1).^6))...
-((64/7).*a6(i,1).*(xc(i,1).^7))-((128/8).*a7(i,1).*(xc(i,1).^8)));
ff=(32.*sqrt(2).*p1xe(i,1).*p3x1(i,1).*((x1(i,1)+(F1(i,1).^2.*p1x1(i,1))...
/(16.*p2x1(i,1))).^(1/2)).*(p2x1(i,1).^(1/2)./p1x1(i,1).^(5/2)))-F1(i,1);
end
end
disp('xc=')
disp(xc)
disp('Qstar=')
disp(Qstar)
disp('sc=')
disp(sc)
disp('x1=')
disp(x1)
disp('F1=')
disp(F1)
%disp('xe=')
%disp(xe)
%disp('EDR=')
%disp(EDR)
function f = mysubfun(x1)
Q=[0.000788
0.000866];
s=0.022;
n=0.012;
D=0.128;
xc=[0.123
0.131];
p1xc(i,1)=2.*asin(2.*xc(i,1))+4.*xc(i,1).*sqrt(1-(4.*xc(i,1).^2));
p2xc(i,1)=sqrt(1-(4.*xc(i,1).^2));
p1x1(i,1)=2.*asin(2.*x1)+4.*x1.*sqrt(1-(4.*x1.^2));
Qstar(i,1)=(p1xc(i,1).^(3/2))./(16.*sqrt(2).*p2xc(i,1).^(1/2));
Ac(i,1)=(D.^2/8).*p1xc(i,1);
Pc(i,1)=D.*(1+asin(2.*xc(i,1)));
Rc(i,1)=Ac(i,1)./Pc(i,1);
sc(i,1)=(n.^2.*Q(i,1).^2)./(Ac(i,1).^2.*Rc(i,1).^(4/3));
f=((p1xc(i,1)./p1x1(i,1)).^(10/3).*((1+asin(2.*x1))./(1+asin(2.*xc(i,1)))).^(4/3))-s/sc;
end
end

Respuestas (0)

Categorías

Más información sobre Energy Production en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by