why error occurring in the program, i already define the z1 correctly i think?

1 view (last 30 days)
clear
P = 12.67;
A = 0.1;
tc = 230E-6;
tp = 5.4E-9;
h = 10E-2;
w1 = 10E5;
w2 = 14E5;
w3 = 12E5;
w4 = 6E5;
w5 = 16E5;
k = 0.01;
time = 0:0.1E-4:10E-4;
%amplitude equation
func1 = @(z1,a1,a5,a2,o1,o5) (z1-A).*(a1./tp) + (k./tp).*a2.*cos(o1)+(k./tp).*a5.*cos(o5);
func2 = @(z2,a2,a3,a1,o2,o1) (z2-A).*(a2./tp) + (k./tp).*a3.*cos(o2)+(k./tp).*a1.*cos(o1);
func3 = @(z3,a2,a3,a4,o2,o3) (z3-A).*(a3./tp) + (k./tp).*a4.*cos(o3)+(k./tp).*a2.*cos(o2);
func4 = @(z4,a5,a4,a3,o4,o3) (z4-A).*(a4./tp) + (k./tp).*a5.*cos(o4)+(k./tp).*a3.*cos(o3);
func5 = @(z5,a1,a4,a5,o4,o5) (z5-A).*(a5./tp) + (k./tp).*a1.*cos(o5)+(k./tp).*a4.*cos(o4);
%gain equation
func6 = @(z1,a1) (P - z1.*((abs(a1))^2 + 1)).*(1/tc);
func7 = @(z2,a2) (P - z2.*((abs(a2))^2 + 1)).*(1/tc);
func8 = @(z3,a3) (P - z3.*((abs(a3))^2 + 1)).*(1/tc);
func9 = @(z4,a4) (P - z4.*((abs(a4))^2 + 1)).*(1/tc);
func10 = @(z5,a5) (P - z5.*((abs(a5))^2 + 1)).*(1/tc);
%phase difference equation
func11 = @(a1,a2,a3,a5,o1,o5,o2) w1 - (k./tp).*(a1./a2).*(sin(o1)) - (k./tp).*(a2./a1).*(sin(o1)) + (k./tp).*(a3./a2).*(sin(o2)) + (k./tp).*(a5./a1).*(sin(o5));
func12 = @(a2,a3,a4,a1,o2,o1,o3) w2 - (k./tp).*(a2./a3).*(sin(o2)) - (k./tp).*(a3./a2).*(sin(o2)) + (k./tp).*(a4./a3).*(sin(o3)) + (k./tp).*(a1./a2).*(sin(o1));
func13 = @(a3,a4,a5,a2,o3,o4,o2) w3 - (k./tp).*(a3./a4).*(sin(o3)) - (k./tp).*(a4./a3).*(sin(o3)) + (k./tp).*(a5./a4).*(sin(o4)) + (k./tp).*(a2./a3).*(sin(o2));
func14 = @(a4,a5,a1,a3,o4,o5,o3) w4 - (k./tp).*(a4./a5).*(sin(o4)) - (k./tp).*(a5./a4).*(sin(o4)) + (k./tp).*(a1./a5).*(sin(o5)) + (k./tp).*(a3./a4).*(sin(o3));
func15 = @(a4,a5,a1,a2,o4,o5,o1) w4 - (k./tp).*(a5./a1).*(sin(o5)) - (k./tp).*(a1./a5).*(sin(o5)) + (k./tp).*(a2./a1).*(sin(o1)) + (k./tp).*(a4./a5).*(sin(o4));
z1 = 0;
z2 = 0;
z3 = 0;
z4 = 0;
z5 = 0;
a1 = sqrt(P);
a2 = sqrt(P);
a3 = sqrt(P);
a4 = sqrt(P);
a5 = sqrt(P);
o1 = 0.01;
o2 = 0.01;
o3 = 0.01;
o4 = 0.01;
o5 = 0.01;
n = 100;
for i = 1:n
b1 = func1(z1(i),a1(i),a5(i),a2(i),o1(i),o5(i));
c1 = func2(z2(i),a2(i),a3(i),a1(i),o2(i),o1(i));
d1 = func3(z3(i),a2(i),a3(i),a4(i),o2(i),o3(i));
e1 = func4(z4(i),a5(i),a4(i),a3(i),o4(i),o3(i));
f1 = func5(z5(i),a1(i),a4(i),a5(i),o4(i),o5(i));
g1 = func6(z1(i),a1(i));
h1 = func7(z2(i),a2(i));
j1 = func8(z3(i),a3(i));
k1 = func9(z4(i),a4(i));
l1 = func10(z5(i),a5(i));
m1 = func11(a1(i),a2(i),a3(i),a5(i),o1(i),o5(i),o2(i));
n1 = func12(a2(i),a3(i),a4(i),a1(i),o2(i),o1(i),o3(i));
q1 = func13(a3(i),a4(i),a5(i),a2(i),o3(i),o4(i),o2(i));
r1 = func14(a4(i),a5(i),a1(i),a3(i),o4(i),o5(i),o3(i));
s1 = func15(a4(i),a5(i),a1(i),a2(i),o4(i),o5(i),o1(i));
b2 = func1(z1(i)+((g1*h)./2),a1(i)+((b1*h)./2),a5(i)+((f1*h)./2),a2(i)+((c1*h)./2),o1(i)+((m1*h)./2),o5(i)+((s1*h)./2));
c2 = func2(z2(i)+((h1*h)./2),a2(i)+((c1*h)./2),a3(i)+((d1*h)./2),a1(i)+((b1*h)./2),o2(i)+((n1*h)./2),o1(i)+((m1*h)./2));
d2 = func3(z3(i)+((j1*h)./2),a2(i)+((c1*h)./2),a3(i)+((d1*h)./2),a4(i)+((e1*h)./2),o2(i)+((n1*h)./2),o3(i)+((q1*h)./2));
e2 = func4(z4(i)+((k1*h)./2),a5(i)+((f1*h)./2),a4(i)+((e1*h)./2),a3(i)+((d1*h)./2),o4(i)+((r1*h)./2),o3(i)+((q1*h)./2));
f2 = func5(z5(i)+((l1*h)./2),a1(i)+((b1*h)./2),a4(i)+((e1*h)./2),a5(i)+((f1*h)./2),o4(i)+((r1*h)./2),o5(i)+((s1*h)./2));
g2 = func6(z1(i)+((g1*h)./2),a1(i)+((b1*h)./2));
h2 = func7(z2(i)+((h1*h)./2),a2(i)+((c1*h)./2));
j2 = func8(z3(i)+((j1*h)./2),a3(i)+((d1*h)./2));
k2 = func9(z4(i)+((k1*h)./2),a4(i)+((e1*h)./2));
l2 = func10(z5(i)+((l1*h)./2),a5(i)+((f1*h)./2));
m2 = func11(a1(i)+((b1*h)./2),a2(i)+((c1*h)./2),a3(i)+((d1*h)./2),a5(i)+((f1*h)./2),o1(i)+((m1*h)./2),o5(i)+((s1*h)./2),o2(i)+((n1*h)./2));
n2 = func12(a2(i)+((c1*h)./2),a3(i)+((d1*h)./2),a4(i)+((e1*h)./2),a1(i)+((b1*h)./2),o2(i)+((n1*h)./2),o1(i)+((m1*h)./2),o3(i)+((q1*h)./2));
q2 = func13(a3(i)+((d1*h)./2),a4(i)+((e1*h)./2),a5(i)+((f1*h)./2),a2(i)+((c1*h)./2),o3(i)+((q1*h)./2),o4(i)+((e1*h)./2),o2(i)+((n1*h)./2));
r2 = func14(a4(i)+((e1*h)./2),a5(i)+((f1*h)./2),a1(i)+((b1*h)./2),a3(i)+((d1*h)./2),o4(i)+((r1*h)./2),o5(i)+((s1*h)./2),o3(i)+((q1*h)./2));
s2 = func15(a4(i)+((e1*h)./2),a5(i)+((f1*h)./2),a1(i)+((b1*h)./2),a2(i)+((c1*h)./2),o4(i)+((r1*h)./2),o5(i)+((s1*h)./2),o1(i)+((m1*h)./2));
b3 = func1(z1(i)+((g2*h)./2),a1(i)+((b2*h)./2),a5(i)+((f2*h)./2),a2(i)+((c2*h)./2),o1(i)+((m2*h)./2),o5(i)+((s2*h)./2));
c3 = func2(z2(i)+((h2*h)./2),a2(i)+((c2*h)./2),a3(i)+((d2*h)./2),a1(i)+((b2*h)./2),o2(i)+((n2*h)./2),o1(i)+((m2*h)./2));
d3 = func3(z3(i)+((j2*h)./2),a2(i)+((c2*h)./2),a3(i)+((d2*h)./2),a4(i)+((e2*h)./2),o2(i)+((n2*h)./2),o3(i)+((q2*h)./2));
e3 = func4(z4(i)+((k2*h)./2),a5(i)+((f2*h)./2),a4(i)+((e2*h)./2),a3(i)+((d2*h)./2),o4(i)+((r2*h)./2),o3(i)+((q2*h)./2));
f3 = func5(z5(i)+((l2*h)./2),a1(i)+((b2*h)./2),a4(i)+((e2*h)./2),a5(i)+((f2*h)./2),o4(i)+((r2*h)./2),o5(i)+((s2*h)./2));
g3 = func6(z1(i)+((g2*h)./2),a1(i)+((b2*h)./2));
h3 = func7(z2(i)+((h2*h)./2),a2(i)+((c2*h)./2));
j3 = func8(z3(i)+((j2*h)./2),a3(i)+((d2*h)./2));
k3 = func9(z4(i)+((k2*h)./2),a4(i)+((e2*h)./2));
l3 = func10(z5(i)+((l2*h)./2),a5(i)+((f2*h)./2));
m3 = func11(a1(i)+((b2*h)./2),a2(i)+((c2*h)./2),a3(i)+((d2*h)./2),a5(i)+((f2*h)./2),o1(i)+((m2*h)./2),o5(i)+((s2*h)./2),o2(i)+((n2*h)./2));
n3 = func12(a2(i)+((c2*h)./2),a3(i)+((d2*h)./2),a4(i)+((e2*h)./2),a1(i)+((b2*h)./2),o2(i)+((n2*h)./2),o1(i)+((m2*h)./2),o3(i)+((q2*h)./2));
q3 = func13(a3(i)+((d2*h)./2),a4(i)+((e2*h)./2),a5(i)+((f2*h)./2),a2(i)+((c2*h)./2),o3(i)+((q2*h)./2),o4(i)+((e2*h)./2),o2(i)+((n2*h)./2));
r3 = func14(a4(i)+((e2*h)./2),a5(i)+((f2*h)./2),a1(i)+((b2*h)./2),a3(i)+((d2*h)./2),o4(i)+((r2*h)./2),o5(i)+((s2*h)./2),o3(i)+((q2*h)./2));
s3 = func15(a4(i)+((e2*h)./2),a5(i)+((f2*h)./2),a1(i)+((b2*h)./2),a2(i)+((c2*h)./2),o4(i)+((r2*h)./2),o5(i)+((s2*h)./2),o1(i)+((m2*h)./2));
b4 = func1(z1(i)+(g3*h),a1(i)+(b3*h),a5(i)+(f3*h),a2(i)+(c3*h),o1(i)+(m3*h),o5(i)+(s3*h));
c4 = func2(z2(i)+(h3*h),a2(i)+(c3*h),a3(i)+(d3*h),a1(i)+(b3*h),o2(i)+(n3*h),o1(i)+(m3*h));
d4 = func3(z3(i)+(j3*h),a2(i)+(c3*h),a3(i)+(d3*h),a4(i)+(e3*h),o2(i)+(n3*h),o3(i)+(q3*h));
e4 = func4(z4(i)+(k3*h),a5(i)+(f3*h),a4(i)+(e3*h),a3(i)+(d3*h),o4(i)+(r3*h),o3(i)+(q3*h));
f4 = func5(z5(i)+(l3*h),a1(i)+(b3*h),a4(i)+(e3*h),a5(i)+(f3*h),o4(i)+(r3*h),o5(i)+(s3*h));
g4 = func6(z1(i)+(g3*h),a1(i)+(b3*h));
h4 = func7(z2(i)+(h3*h),a2(i)+(c3*h));
j4 = func8(z3(i)+(j3*h),a3(i)+(d3*h));
k4 = func9(z4(i)+(k3*h),a4(i)+(e3*h));
l4 = func10(z5(i)+(l3*h),a5(i)+(f3*h));
m4 = func11(a1(i)+(b3*h),a2(i)+(c3*h),a3(i)+(d3*h),a5(i)+(f3*h),o1(i)+(m3*h),o5(i)+(s3*h),o2(i)+(n3*h));
n4 = func12(a2(i)+(c3*h),a3(i)+(d3*h),a4(i)+(e3*h),a1(i)+(b3*h),o2(i)+(n3*h),o1(i)+(m3*h),o3(i)+(q3*h));
q4 = func13(a3(i)+(d3*h),a4(i)+(e3*h),a5(i)+(f3*h),a2(i)+(c3*h),o3(i)+(q3*h),o4(i)+(e3*h),o2(i)+(n3*h));
r4 = func14(a4(i)+(e3*h),a5(i)+(f3*h),a1(i)+(b3*h),a3(i)+(d3*h),o4(i)+(r3*h),o5(i)+(s3*h),o3(i)+(q3*h));
s4 = func15(a4(i)+(e3*h),a5(i)+(f3*h),a1(i)+(b3*h),a2(i)+(c3*h),o4(i)+(r3*h),o5(i)+(s3*h),o1(i)+(m3*h));
z1(i+1) = z1(i) + (h/6)*(g1+(2*(g2+g3))+g4);
z2(i+1) = z2(i) + (h/6)*(h1+(2*(h2+h3))+h4);
z3(i+1) = z3(i) + (h/6)*(j1+(2*(j2+j3))+j4);
z4(i+1) = z4(i) + (h/6)*(k1+(2*(k2+k3))+k4);
z5(i+1) = z5(i) + (h/6)*(l1+(2*(l2+l3))+l4);
a1(i+1) = a1(i) + (h/6)*(b1+(2*(b2+b3))+b4);
a2(i+1) = a2(i) + (h/6)*(c1+(2*(c2+c3))+c4);
a3(i+1) = a3(i) + (h/6)*(d1+(2*(d2+d3))+d4);
a4(i+1) = a4(i) + (h/6)*(e1+(2*(e2+e3))+e4);
a5(i+1) = a5(i) + (h/6)*(f1+(2*(f2+f3))+f4);
o1(i+1) = o1(i) + (h/6)*(m1+(2*(m2+m3))+m4);
o2(i+1) = o2(i) + (h/6)*(n1+(2*(n2+n3))+n4);
o3(i+1) = o3(i) + (h/6)*(q1+(2*(q2+q3))+q4);
o4(i+1) = o4(i) + (h/6)*(r1+(2*(r2+r3))+r4);
o5(i+1) = o5(i) + (h/6)*(s1+(2*(s2+s3))+s4);
end
plot(time,o1);
hold on
plot(time,o2);
plot(time,o3);
plot(time,o4);
plot(time,o5);
hold off
  3 Comments

Sign in to comment.

Answers (1)

Torsten
Torsten on 14 Sep 2022
Where do you define
z1(1),z2(1),z3(1),z4(1),z5(1), x1(1),x2(1),x3(1),x4(1),x5(1), o1(1),o2(1),o3(1),o4(1),o5(1)
needed to start the updates
z1(i+1) = z1(i) + (h/6)*(g1+(2*(g2+g3))+g4);
z2(i+1) = z2(i) + (h/6)*(h1+(2*(h2+h3))+h4);
z3(i+1) = z3(i) + (h/6)*(j1+(2*(j2+i3))+j4);
z4(i+1) = z4(i) + (h/6)*(k1+(2*(k2+k3))+k4);
z5(i+1) = z5(i) + (h/6)*(l1+(2*(l2+l3))+l4);
x1(i+1) = x1(i) + (h/6)*(b1+(2*(b2+b3))+b4);
x2(i+1) = x2(i) + (h/6)*(c1+(2*(c2+c3))+c4);
x3(i+1) = x3(i) + (h/6)*(d1+(2*(d2+d3))+d4);
x4(i+1) = x4(i) + (h/6)*(e1+(2*(e2+e3))+e4);
x5(i+1) = x5(i) + (h/6)*(f1+(2*(f2+f3))+f4);
o1(i+1) = o1(i) + (h/6)*(m1+(2*(m2+m3))+m4);
o2(i+1) = o2(i) + (h/6)*(n1+(2*(n2+n3))+n4);
o3(i+1) = o3(i) + (h/6)*(q1+(2*(q2+q3))+q4);
o4(i+1) = o4(i) + (h/6)*(r1+(2*(r2+r3))+r4);
o5(i+1) = o5(i) + (h/6)*(s1+(2*(s2+s3))+s4);
?

Tags

Community Treasure Hunt

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

Start Hunting!