(adsbygoogle = window.adsbygoogle || []).push({}); 1. The problem statement, all variables and given/known data

Hi,

I'm writing a little Matlab function that solves an equation with the help of a function handle.The equation is

x(t) = exp(-a*t)*x0 + exp(-a*t) * int(exp(a*s)*y(s), s=0..t)

I have tried it with two following functions

2. The attempt at a solution

function #1

function ode = ode1sol(a, x0, y, tol)

% if tol is not given

if nargin == 3

tol = 1e-6;

end

t = 0:1:10;

% sub3 being a subfunction

ode = sub3(a,x0,y,t,tol);

function #2

function x = sub3(a,x0,y,t,tol)

f = @(s) exp(a*s) .* y(s);

for i = 1:length(t)

x(i) = exp(-a*t(i))*x0 + exp(-a*t(i)) .* quad(f,0,t(i),tol);

end

--

when I write

t=0:1:10;

ode1sol(1,1,sin(6*t))

Matlab gives me this error

??? Subscript indices must either be real positive integers or logicals.

Error in ==> sub3>@(s)exp(a*s).*y(s) at 5

f = @(s) exp(a*s) .* y(s);

Error in ==> quad at 77

y = f(x, varargin{:});

Error in ==> sub3 at 8

x(i) = exp(-a*t(i))*x0 + exp(-a*t(i)) .* quad(f,0,t(i),tol);

Error in ==> ode1sol at 13

ode = sub3(a,x0,y,t,tol);

I'm confusing the indices somehow but I don't know why...

**Physics Forums | Science Articles, Homework Help, Discussion**

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Homework Help: Matlab help, function handle

Can you offer guidance or do you also need help?

Draft saved
Draft deleted

**Physics Forums | Science Articles, Homework Help, Discussion**