# Getting error in this code.

1 view (last 30 days)

Show older comments

betasqr=0.2;

gamma=0.3;

psi = 0.001;

mu = 1.0;

sbar = 50;

A = @(x) (4+sbar)-(sbar*betasqr*gamma).*(x.*(1-x)).^0.5;

B = @(x) (1-(betasqr)*((x.*(1-x)).^(0.5)));

E = @(x) ((6*(2+sbar))-((2*betasqr*sbar*gamma)*((x.*(1-x)).^(0.5))));

G = @(x) (12*psi*(1+sbar)) + A/B;

C = @(x) E/G;

IntEbyG = integral(C,0,1)

##### 1 Comment

Jan
on 2 Jun 2022

Edited: Jan
on 2 Jun 2022

A simpler version - note that sqrt(x) is much cheaper than x^0.5:

betasqr = 0.2;

gamma = 0.3;

psi = 0.001;

mu = 1.0;

sbar = 50;

A = @(x) 4 + sbar - sbar*betasqr*gamma .* sqrt(x .* (1-x));

B = @(x) 1 - betasqr * sqrt(x .* (1-x));

E = @(x) 12 + 6 * sbar - 2*betasqr*sbar*gamma * sqrt(x .* (1-x));

G = @(x) 12 * psi * (1 + sbar) + A/B; % ERROR

C = @(x) E/G; % ERROR

IntEbyG = integral(C,0,1)

I've displayed the error message. This is very useful, if you ask a question, because solving a problem is much easier than guessing, what the problem is. Whenever you mention an error in the forum, attach a copy of the complete message.

### Accepted Answer

Jan
on 2 Jun 2022

A simpler version - note that sqrt(x) is much cheaper than x^0.5:

betasqr = 0.2;

gamma = 0.3;

psi = 0.001;

mu = 1.0;

sbar = 50;

A = @(x) 4 + sbar - sbar*betasqr*gamma .* sqrt(x .* (1-x));

B = @(x) 1 - betasqr * sqrt(x .* (1-x));

E = @(x) 12 + 6 * sbar - 2*betasqr*sbar*gamma * sqrt(x .* (1-x));

G = @(x) 12 * psi * (1 + sbar) + A(x) ./ B(x); % <-- bug fix

C = @(x) E(x) ./ G(x); % <-- bug fix

IntEbyG = integral(C,0,1)

The error message tells you, that / does not work for function handles. Append the argument.

##### 3 Comments

Image Analyst
on 2 Jun 2022

Jan
on 3 Jun 2022

I have more reputation points than I need for my daily living. I'd prefer cookies: 🍪

For other readers it is useful to mark a question as solved by accepting an answer.

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!