Mathematica plot question, dsolve

  • Thread starter Thread starter kptsilva
  • Start date Start date
  • Tags Tags
    Mathematica Plot
Click For Summary
SUMMARY

The discussion centers on solving a second-order differential equation using Mathematica, specifically the equation 2/3 a^2 b''[a] + (1 - w[a]) a b'[a] - (1 + w[a]) (1 - 3 c w[a]) b[a] with boundary condition b'[0.0001]=0. The variable w[a_] is defined as 2*a^(3*(1 + c))/(1 + 2*a^(3*(1 + c))) with c set to 1. The user aims to plot the function b[a]/b[0.0001] against a on a logarithmic scale from 10^-4 to 1000, but encounters errors in their code.

PREREQUISITES
  • Familiarity with Mathematica syntax and functions
  • Understanding of differential equations and boundary conditions
  • Knowledge of logarithmic scaling in plotting
  • Experience with the DSolve function in Mathematica
NEXT STEPS
  • Review Mathematica's DSolve documentation for solving differential equations
  • Learn about boundary value problems in Mathematica
  • Explore LogLinearPlot options and parameters in Mathematica
  • Investigate error handling and debugging techniques in Mathematica code
USEFUL FOR

Mathematica users, physicists, and mathematicians working with differential equations and graphical representations of mathematical functions.

kptsilva
Messages
33
Reaction score
0
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];

Please can anyone help me?
 
Physics news on Phys.org
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];
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
1K
Replies
1
Views
2K
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K