# Solve nonlinear differential equation system

I'm trying to solve this system of differential equations but can't produce the result. Everything looks simple but the programme keeps giving the equations I typed and giving the message that function g1 appears with no arguments.

Code:

DSolve[{g1'[x] ==
41/(160*3.14^2)*g1[x]^3/x +
g1[x]^3/(16*3.14^2)^2/
x*(199/50*g1[x]^2 + 2.7*g2[x]^2 + 44/5*g3[x]^2 - 1.7*y[x]^2),
g2'[x] == -19/(6*16*3.14^2)*g2[x]^3/x +
g2[x]^3/(16*3.14^2)^2/
x*(0.9*g1[x]^2 + 35/6*g2[x]^2 + 12*g3[x]^2 - 3/2*y[x]^2),
g3'[x] == -7/(16*3.14^2)*g3[x]^3/x +
g3[x]^3/(16*3.14^2)^2/
x*(1.1*g1[x]^2 + 9/2*g2[x]^2 - 26*g3[x]^2 - 2*y[x]^2),
y'[x] == y[x]/
x*1/(16*3.14^2)*(9/2*y[x]^2 - 17/20*g1[x]^2 - 9/4*g2[x]^2 -
8*g3[x]^2)}, {g1[x], g2[x], g3[x], y[x]}, x]


There may be no closed form solution, but NDSolve can provide a numerical result for acceptable initial conditions:

eqs={g1'[x]==41/(160*3.14^2)*g1[x]^3/x+g1[x]^3/(16*3.14^2)^2/x*(199/50*g1[x]^2+2.7*g2[x]^2+44/5*g3[x]^2-1.7*y[x]^2),
g2'[x]==-19/(6*16*3.14^2)*g2[x]^3/x+g2[x]^3/(16*3.14^2)^2/x*(0.9*g1[x]^2+35/6*g2[x]^2+12*g3[x]^2-3/2*y[x]^2),
g3'[x]==-7/(16*3.14^2)*g3[x]^3/x+g3[x]^3/(16*3.14^2)^2/x*(1.1*g1[x]^2+9/2*g2[x]^2-26*g3[x]^2-2*y[x]^2),
y'[x]==y[x]/x*1/(16*3.14^2)*(9/2*y[x]^2-17/20*g1[x]^2-9/4*g2[x]^2-8*g3[x]^2)};
init={g1[1]==1,g2[1]==1,g3[1]==1,y[1]==1};
sol=NDSolveValue[{eqs,init},{g1[x],g2[x],g3[x],y[x]},{x,1,10}];

Plot[sol,{x,1,10}]


• Thanks a lot, David Keith. By the way, i want to x to run from 10^2 to 10^30 and be displayed like 10, 10^2, 10^4, 10^6,... but Mathematica only shows explicitly x values in terms of 10^19 and 10^20. Is there any way i can stretch the axis? – starfall07g May 15 '17 at 8:46
• @starfall07g You can use LogLogPlot to compress ranges. But for a numerical simulation out to 10^30 you might want to reformulate the equations in terms of logs. – David Keith May 16 '17 at 18:27
• Many thanks, @David Keith. This is very useful. – starfall07g May 19 '17 at 0:32