[Date Index]
[Thread Index]
[Author Index]
Re: Problem with If[] and %
*To*: mathgroup at smc.vnet.net
*Subject*: [mg5436] Re: Problem with If[] and %
*From*: von_Aschen at unidui.uni-duisburg.de (Harald von Aschen)
*Date*: Sat, 7 Dec 1996 00:26:11 -0500
*Organization*: Gerhard-Mercator-Universitaet GHS Duisburg Germany
*Sender*: owner-wri-mathgroup at wolfram.com
Hans Steffani <hans.steffani at e-technik.tu-chemnitz.de> wrote:
Hi Hans,
> If[ i^2+v^2>15, 15, i^2+v^2]
> Plot3D[ %,{i,-5,5},{v,-5,5}]
>
> does what I want. But i^2+v^2 is only an example for an
> other more complex function which is derived in the steps
> before.
>
> Therefore I test
>
> i^2+v^2
> If[ % >15,15,%]
> Plot3D[ %,{i,-5,5},{v,-5,5}]
>
> Which only leads to several errors.
Look on the results you get:
In[1]:= If[ i^2+v^2>15, 15, i^2+v^2]
Out[1]= 2 2 2 2
If[i + v > 15, 15, i + v ]
In[2]:= i^2+v^2
Out[2]= 2 2
i + v
In[3]:= If[ % >15,15,%]
Out[3]= If[% > 15, 15, %]
You see here the problem. You don't get the result you want to have.
My solution would be to use a replacement rule:
In[3]:= i^2+v^2
Out[3]= 2 2
i + v
In[4]:= If[ q >15,15, q] /. q -> %
Out[4]= 2 2 2 2
If[i + v > 15, 15, i + v ]
In[5]:= Plot3D[ %,{i,-5,5},{v,-5,5}]
You should use insteat of q any not used symbol (or the replacement
would be wrong). The q is then replaced in your expression by the
preceding result.
Kind regards, Harald
--
Harald von Aschen
eMail: von_aschen at uni-duisburg.de
Prev by Date:
**How can I use different symbols to reperesent my 2D data?**
Next by Date:
**Re: select a range of elements from a nested list**
Previous by thread:
**Re: Problem with If[] and %**
Next by thread:
**Integration of exp(-az)*sigma(t-to)*dz ??**
| |