Date: Nov 21, 2012 7:51 PM
Author: Prasad P Iyer
Subject: Novice problem in mathematica syntax : Function of a function:

hi,

What I want to do is to : Plot Reflectivity:

Refelectivity is an expression ( or a function ) depending on nfilm which in turn depends on epsmodel( which in itself is a function of 3 parameters and a variable )

therefore :
epsmodel = f(a,b,c,d,x) (* result is a comlpex number *)
nfilm = sqrt[epsmodel]
reflectivity = ((nfilm - 1) / (nfilm +1))^2

I just want to plot reflectivity and see the variation in it when (a,b,c,x) varies ( using the Manipulate[] tool )

Please let me know how to do this in term of these functions ?


the exact formalism for which I got the error : variables are protected is shown below

epsmodel[w_, omega0_, gama_, epsinfi_, omegaP_] :=
epsinfi + (2 Pi*10^12 omegaP)^2/((2 Pi*10^12 omega0)^2 - (2 \
Pi*10^12*w)^2 + I*(2 Pi*10^12)^2 *gama*w);

nfilm[w1_, omega01_, gama1_, epsinfi1_, omegaP1_] :=
Sqrt[epsmodel[w1, omega01, gama1, omegaP1, epsinfi1]];

ReflectivityGaSb[w2_, omega02_, gama2_, epsinfi2_, omegaP2_] :=
Abs[((nfilm[w2, omega02, gama2, omegaP2, epsinfi2] - 1)/(
nfilm[w2, omega02, gama2, omegaP2, epsinfi2] + 1))^2];

Manipulate[
Plot[ReflectivityGaSb[w20, omega020, gama20, omegaP20,
epsinfi20], {w20, 0, 300}, PlotRange -> {0, 1}], {epsinfi20, 2,
25}, {omega020, 0, 300}, {gama20, 0, 300}, {omegaP20, 0, 300}]

Thanking you
Prasad P Iyer
PS. feel free to reply to ppiyer@outlook.com