MATLAB Answers

Create Symbolic functions with existing function file

3 views (last 30 days)
Dear all.
I have created a function to represent a dynamical system with variables z=[x1,y1,x2,y2,...xn,yn] as following:
Alpha, beta, gamma and S are constants. Now l have a new script and l want to call this function in my new script as a symbolic function but MATLAB reterened me error said that ''undefined z''. Could you tell me that how l can create a symbolic function using the function l have. Thank you very much!

  0 Comments

Sign in to comment.

Accepted Answer

David Hill
David Hill on 17 Jun 2020
It should work, you just need to pass a symbolic z to the function. It would help in the future if you created code that we could copy and paste.
syms x1 y1 x2 y2 x3 y3 x4 y4;
z=[x1,y1,x2,y2,x3,y3,x4,y4];
f=coupledOscillatorsFun(z,1,2,3,4);

  2 Comments

Penglin Cai
Penglin Cai on 18 Jun 2020
Thank you sir. But what if i want to do for n variables (very large z vector)?
Walter Roberson
Walter Roberson on 18 Jun 2020
n = 4;
x = sym('x', [1 n]);
y = sym('y', [1 n]);
z = [x; y];
z = z(:);
f = coupledOscillatorsFun(z, 1, 2, 3, 4);

Sign in to comment.

More Answers (0)

Products


Release

R2019b