Solve the equation for x

I am trying to solve this equation, but Matlab keep showing error in the equation.
please guide me, where am I making mistake?
syms x
p = 0.89;
a = 6.7;
v = 26.12;
r = 0.07;
L = 78.05;
s = 34.01;
n = 0.33;
m = 0.5;
w = 22.49;
b = -0.06;
T = 50;
fun = p.* exp.^(-exp.^((v-x)./a)) + r.* exp.^(-((x-m)./s).^(-L)) +(1-p-r).*exp((-(1+b.*((x-w)./n))).^(-1./b))-(1-1./T) ==0;
sol = solve(fun,x)

2 Comments

How is it different to your other question?
that equation was the mixed equation of PDF and this equation is a mixed equation of CDF. I kind a took integration.
Is it possible to solve this equation?

Sign in to comment.

 Accepted Answer

KSSV
KSSV on 25 Nov 2020
Edited: KSSV on 25 Nov 2020
Repalce
exp.^()
with smply:
exp()
Also element by element operation not reuqired:
fun = p* exp(-exp((v-x)/a)) + r* exp(-((x-m)/s)^(-L)) +(1-p-r)*exp((-(1+b*((x-w)/n)))^(-1./b))-(1-1/T) ==0;

1 Comment

thank you so much, equation problem solved but still showing error in sol = solve(fun,x)

Sign in to comment.

More Answers (1)

Make the changes suggested in the answer from KSSV and use vpasolve:
syms x
p = 0.89;
a = 6.7;
v = 26.12;
r = 0.07;
L = 78.05;
s = 34.01;
n = 0.33;
m = 0.5;
w = 22.49;
b = -0.06;
T = 50;
fun = p.* exp(-exp((v-x)./a)) + r.* exp(-((x-m)./s).^(-L)) +(1-p-r).*exp((-(1+b.*((x-w)./n))).^(-1./b))-(1-1./T) ==0;
sol = vpasolve(fun,x)
gives:
sol =
33.743940154221419170734691781397

1 Comment

really appreciated!!
Basically, this is return period equation. as I change the T values e.g (10,50,100,200), it should gives me different values. but If I put T<72, the answer comes in iota 'i' form.
any idea or suggestion?

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 25 Nov 2020

Commented:

on 25 Nov 2020

Community Treasure Hunt

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

Start Hunting!