matlab 解方程并比较值

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:59:24
y1=a*ve+s
y2=ve+((a-1)vx+s)(ve/vx)^u1
y3=(1-L)b/r+(a*v+b1-(1-L)b/r)(ve/v)^n2

ve=n2/(n2-1)*(1-t)b/r
vx=u2/(u2-1)*s/(1-a)
v=n2/(n2-1)*(1-t)(1-L)b/r

其中n2是0.5*(o^2)*(n^2)+(r-0.5*o^2)*n-r=0负根

u2是0.5*(o1^2)(u^2)+(r-0.5*o1^2)u-r=0的负根

有下面的参数组
(1)a=0.8,s=10,r=0.05,o=0.2,o1=0.1,t=0.3,b1=5,L=0.5

(2)a=0.8,s=10,r=0.05,o=0.4,o1=0.2,t=0.3,b1=5,L=0.5

(3)a=0.8,s=10,r=0.05,o=0.8,o1=0.2,t=0.3,b1=5,L=0.5

当b=2,5,10.........时,保证 a*av+s<b/r
比较y1,y2,y3的关系

b和b1是一个数吧?先算第一组。

clc;clear
a=0.8,s=10,r=0.05,o=0.2,o1=0.1,t=0.3,b1=5,L=0.5
%a=0.8,s=10,r=0.05,o=0.4,o1=0.2,t=0.3,b1=5,L=0.5
%a=0.8,s=10,r=0.05,o=0.8,o1=0.2,t=0.3,b1=5,L=0.5

nn=subs(solve('0.5*(o^2)*(n^2)+(r-0.5*o^2)*n-r=0','n'))
n2=nn(nn<0)
uu=subs(solve('0.5*(o1^2)*(u^2)+(r-0.5*o1^2)*u-r=0','u'))
u1=uu(uu>0)
u2=uu(uu<0)

ve=n2/(n2-1)*(1-t)*b1/r
vx=u2/(u2-1)*s/(1-a)
v=n2/(n2-1)*(1-t)*(1-L)*b1/r

y1=a*ve+s
y2=ve+((a-1)*vx+s)*(ve/vx)^u1
y3=(1-L)*b1/r+(a*v+b1-(1-L)*b1/r)*(ve/v)^n2

结果:
a =

0.8000

s =

10

r =

0.0500

o =

0.2000

o1 =

0.1000

t =

0.3000

b1 =

5

L =

0.5000

nn =

1.0000
-2.5000

n2