How to correct this?

tspan = [55. 121.]; % Range for the independent variable
y0 = [467.992; 0.0423866]; % Initial values for the dependent variables
function dYfuncvecdt = ODEfun(t,Yfuncvec);
T = Yfuncvec(1);
X = Yfuncvec(2);
NCp = 2504;
V = 3.265 + 1.854;
Nao = 9.0448;
UA = 35.83;
dH = -590000;
Nbo = 33;
k = 0.00017 * exp(11273 / 1.987 * (1 / 461 - (1 / T)));
Qr = UA * (T - 298);
Theata = Nbo / Nao;
ra = 0 - (k * Nao ^ 2 * (1 - X) * (Theata - (2 * X)) / (V ^ 2));
rate = 0 - ra;
Qg = ra * V * dH;
dTdt = (Qg - Qr) / NCp;
dXdt = (0 - ra) * V / Nao;
dYfuncvecdt = [dTdt; dXdt];
function dYfuncvecdt = ODEfun(t,Yfuncvec);
Error: Function definitions are not permitted in this context.

1 Comment

I exported this solution from polymath. They said that it can be copied directly after exporting.

Sign in to comment.

Answers (1)

Greg
Greg on 4 Jun 2018
Edited: Greg on 4 Jun 2018

0 votes

If the first non-comment line is not a function declaration (or a few other options such as classdef), the file is a script. Embedding functions in scripts was introduced in R2016b.
  • If you're running pre-R2016b, you can't do it, period.
  • If you're running R2016b or newer, you have to close each function with an end.

3 Comments

Greg
Greg on 4 Jun 2018
Also, you can't name them both ODEfun.
I'm running R2017a. I just exported this from polymath and they said that the code can be copied directly to the matlab editor.
Greg
Greg on 4 Jun 2018
No idea what polymath is, but I rarely find they said… to be reliable.
As Aakash asked, what exactly are you trying to do? Can you link to or upload this polymath reference?

Sign in to comment.

Categories

Find more on Text Analytics Toolbox in Help Center and File Exchange

Asked:

on 4 Jun 2018

Commented:

on 4 Jun 2018

Community Treasure Hunt

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

Start Hunting!