MATLAB Answers

Calling a function using ode45 in App Designer results in unrecognized function

15 views (last 30 days)
Pat Gipper
Pat Gipper on 7 Jan 2021
Answered: Pat Gipper on 8 Feb 2021
In a private method function in App Designer I am using an ode45 call that refers to another function defined within the same app and private method section. Code View underlines the function name saying "Use fra_int(app, ...) to call this function", this despite already including app as it is recommending. The code sample is shown below.
sol_id = ode45(@(ts,y) fra_int(app,ts,y,id,t), [min(t),max(t)], 0);
The function itself doesn't indicate any problems. The intent is to use ode45 to integrate the input "id" over the time span defined. Any suggestions? Thanks in advance!
function dydt = fra_int(~,ts,~,u,t)
% 1st derivative at time ts is linear interpolation over vectors t & u
dydt = interp1(t,u,ts);
end
  1 Comment
Pat Gipper
Pat Gipper on 7 Jan 2021
Solved my own problem. I inserted function fra_int prior to the end statement of the function making the call. Once I had done this I no longer needed to include the "app" in in the ode45 call, and the first "~" is removed from the function definition.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!