# Definiing two functions (mathematica)

by rbnphlp
Tags: definiing, functions, mathematica
 P: 54 I need to define two functions for a molecule with speed s. a)it has a horizontal velocity between -s and s b) v , the vertical velocity between +Sqrt[s^2-u^2] and -Sqrt[s^2-u^2] This is what I have done for a) f[s_]:=RandomReal[{-s,s}] for b) g[s_,u_]:=RandomReal[{-Sqrt[s^2-u^2],+Sqrt[s^2-u^2]}] now , If I enter f[2] I get u, so I have s and u from first code. How do I use these values in the second code (without manually inputting them)? Thanks a bunch
 P: 1,666 You mean just g[s,f[s]] ?
P: 54
 Quote by jackmell You mean just g[s,f[s]] ?
Yes ,thats what I want ..But how do I put into mathematica ?

If just insert what you have written I get

RandomReal::unifr: "The endpoints specified the uniform distribution range are not real valued

I also Tried,

g[s_] := RandomReal[{-Sqrt[s^2 - f[s]^2], +Sqrt[s^2 - f[s]^2]}]
However , what it does in this case is , finds f[s] for -Sqrt[s^2 - f[s]^2] and +Sqrt[s^2 - f[s]^2] seperately , so I get different f[s] in that case..

Any ideas?

 P: 1,666 Definiing two functions (mathematica) I believe that's because the arguments to RandomReal have to be real. But for example if I entered: g[2,f[3]] the argument passed to Sqrt results in a complex number. Either need to make sure s^2-u^2 is real or either use RandomComplex.

 Related Discussions Math & Science Software 0 Math & Science Software 2 Math & Science Software 4 Math & Science Software 1 Math & Science Software 4