syms variable also a variable of loop

Hi all,
I am using t as syms variable and also as the variable inside loop.I am not sure whether they are connected in the code below. They need to represent the same. Is there a way I can get rid of syms and keep integration part (y2) also inside the loop? Your suggestion will be highly appreciated.
Thanks
Dharma
.....................................................................................................................................
a=0.0799;
b=5.85;
N=2000;
dt=0.05;
%
syms x t
c2(x) = (dirac(x-1) + dirac(x-3)+dirac(x-5)+dirac(x-7)+dirac(x-9)+dirac(x-11))*4;
inner2 = c2(x)* exp(-10*(t-x));
y2 = matlabFunction(simplify(int(inner2, x, 0, t)));
%
t=zeros(N,1);
K=zeros(N,1);
t(1)=0;
K(1)=20;
for i=1:N
for j=1:N
t(i+1)=t(i)+dt;
K(i+1)=K(i)-a*dt*K(i)-b*dt*t(i)*y2(t(i))*K(i);
end
end

5 Comments

Code looks fine. But why you want two loops here?
for i=1:N
for j=1:N
t(i+1)=t(i)+dt;
K(i+1)=K(i)-a*dt*K(i)-b*dt*t(i)*y2(t(i))*K(i);
end
end
Wont a single loop work?
Thanks!
I was trying to make just one loop. Please ignore the another loop. But, I am trying to run integration part (pasted below) also inside loop so that there can be just one loop of t.
syms x t
c2(x) = (dirac(x-1) + dirac(x-3)+dirac(x-5)+dirac(x-7)+dirac(x-9)+dirac(x-11))*4;
inner2 = c2(x)* exp(-10*(t-x));
y2 = matlabFunction(simplify(int(inner2, x, 0, t)));
Is is feasible? Also, can I just get rid of syms x,t?
You can substittue the values of x and t in y2.
Could you please give the detail of such steps?
Thanks
Already you are doing it right?
y2(t(i))

Sign in to comment.

Answers (1)

It is working right but it takes longer time to run. I am trying to see if the integration can also be kept inside to see relatively shorter runtime.
Please let me know.

Asked:

on 11 Apr 2022

Answered:

on 12 Apr 2022

Community Treasure Hunt

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

Start Hunting!