How to write a symbolic variable funtion?

I followed the instruction for symbolic variables in this link: http://www.mathworks.com.au/help/symbolic/syms.html
But it gives me error instead a function with symbolic variable. Someone please help me! Thanks!
>> clear all
>> syms f(x, y)
Error using syms (line 61)
Not a valid variable name.
>> syms x
>> f(x) = [x x^2; x^3 x^4];
Error using mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in sym/double (line 936)
Xstr = mupadmex('symobj::double', S.s, 0);
Error in sym>privformatscalar (line 2707)
x = double(x);
Error in sym>privformat (line 2692)
s = privformatscalar(x);
Error in sym/subsasgn (line 1462)
[inds{k},refs{k}] = privformat(inds{k});
>>

 Accepted Answer

hi,
No the notation f(x) is used in other programming languages ,try :
syms x
f=[x x^2;x^3 x^4]
% automatically f is f(x)
here is second example :
syms x y
F=[cos(x) sin(y); -sin(y) cos(x)];

4 Comments

Im glad to hear your response But I need two variables in f which make it f(x y) and later on I want to substitute values of x and y into f function
ok, i edited the answer
Aggie W
Aggie W on 6 May 2013
Edited: Aggie W on 6 May 2013
What do I then obtain a matrix of f if x=complex(1,5) and y=complex(8,4)?
i think the variables must have the same size :
syms x y
F=[cos(x) sin(y); -sin(y) cos(x)];
X=exp(j*(0:5));
Y=exp(5*j*(0:5));
H=subs(F,{x,y},{X,Y})
I can not tell if they dont have the same size

Sign in to comment.

More Answers (1)

The notation syms f(x, y) is relatively new; R2011b I think it was (might be R2012a). Try this:
f = evalin(symengine, '(x,y) -> [x, x^2, x^3, x^4]')
Note: this will not produce the 2 x 2 array you were looking for, but if it produces a "proc" output then you could work on forming the proper array form at that time (once proof of concept has been worked out)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!