Create Symbolic functions with existing function file

1 view (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!

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)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!