Hi. I have an expression like
f:=ax
or`
f[x_]:=ax
and next i have to put
f[x_,a_]:=f
or
f[x_,a_]:=f
but it doesn’t work.
Hi. I have an expression like
f:=ax
or`
f[x_]:=ax
and next i have to put
f[x_,a_]:=f
or
f[x_,a_]:=f
but it doesn’t work.
Yes. That shouldn’t work. You can’t define something as a constant value and as a function at the same time. At very least that would be very confusing and I’m not sure I know any programming language where it’s possible.
You want to write something like:
f[x_] := a x
f[x_,a_] := a x
Or if you want to be more clever, you can use default values (Patterns—Wolfram Documentation)
f[x_, a_:constantValue] := a x
Thank you for your reply. I explained better the problem i would to solve in the post called “Can I treat indexed objects as variables?”. I’ll be glad if you can help me
Does this help?
In[1]:= f[] = 3;
In[2]:= f[a_] := a^7
In[3]:= f[]
Out[3]= 3
In[4]:= f@5
Out[4]= 78125
Another take:
In[1]:= f[] := a x
In[2]:= f[x_, a_] := f[]
In[3]:= f[p, q]
Out[3]= a x