# Mathematica plot question, dsolve

1. Jun 2, 2012

### kptsilva

Hey guys,

I'm using Mathematica to plot some graphs and I'm having a bit of a hard time.

First I have to solve the following equation,

2/3 a^2 b''[a] + (1 - w[a]) a b'[a] - (1 + w[a]) (1 - 3 c w[a]) b[a]

Boundary condition b'[0.0001]=0
Where;

w[a_] := 2*a^(3*(1 + c))/(1 + 2*a^(3*(1 + c)));

(c=1) (c is a variable but let's consider a particular instance c=1)

a goes from 10^-4 to 1000 in a log scale.

I want to plot b[a]/b[0.0001] vs. a

I've so far written a simple code but it is with errors.

c = 1;
w[a_] := 2*a^(3*(1 + c))/(1 + 2*a^(3*(1 + c)));
fun = 2/3 a^2 b''[a] + (1 - w[a]) a b'[
a] - (1 + w[a]) (1 - 3 c w[a]) b[a]
F[a_] = DSolve[{fun == 0, b'[10^(-4)] == 0}, b, a]
L = LogLinearPlot[Evaluate[F[a]/F[0.0001]], {a, 10^-4, 10},
PlotRange -> All];

2. Jun 3, 2012

### tjackson3

Two things: In your DSolve[] command, change b to b[a]. Second, if it's not plotting properly, it's for two reasons. You're using a lin-log plot to plot the answer, and the answer has imaginary components. Also, you have a second order equation with only one boundary condition. I assume that the other involves the function decaying at infinity, which Mathematica doesn't really like

3. Jun 3, 2012

### kptsilva

I've changed b to b[a] and it works fine editing the log-lin plot command. I don't need two boundary conditions since I'm plotting b[a]/b[0.0001] so the constant cancels off. It's true, i have imaginary parts in my solution, i wonder if mathematica takes them into account for the plot