Hello,
I am not sure how to fix my function in my script.
Attached is a sample of my code:
clc; clear all;ti = 0; tf = 15; global I11 I22 I33 Mx My Mz w10 w20 w30 eps10 eps20 eps30 eps40... C110 C120 C130 C210 C220 C230 C310 C320 C330 IC K0I11 = 160; I22 = 400;I33 = 400;Mx = 0;My = 0;Mz = 45;w10 = 2;w20 = -1;w30 = 1;eps10 = 0;eps20 = 0;eps30 = 0;eps40 = 1;K0 = eps10^2+eps20^2+eps30^2+eps40^2;C110 = 1-2*eps20^2-2*eps30^2;C120 = 2*(eps10*eps20-eps30*eps40);C130 = 2*(eps30*eps10+eps20*eps40);C210 = 2*(eps10*eps20+eps30*eps40);C220 = 1-2*eps30^2-2*eps10^2;C230 = 2*(eps20*eps30-eps10*eps40);C310 = 2*(eps30*eps10-eps20*eps40);C320 = 2*(eps20*eps30+eps10*eps40);C330 = 1-2*eps10^2-2*eps20^2;IC = [w10 w20 w30... eps10 eps20 eps30 eps40... C110 C120 C130 C210 C220 C230 C310 C320 C330];opts = odeset('RelTol', 1*10^(-10),'AbsTol', 1*10^(-10)); [t, y] = ode45(@(t,y) DynEqn1(t,y,I11,I22,I33,Mx,My,Mz), [ti tf], IC, opts);N = sqrt(sum(y(:,4:7).^2,2)); kap = acosd(1-2*y(:,5)^2-2*y(:,7)^2);phi1 = acosd((2*(y(:,4)*y(:,5)+y(:,6)*y(:,7)))/sind(kap));phi2 = asind((2*(y(:,6)*y(:,4)-y(:,5)*y(:,7)))/sind(kap));if phi1==phi2 phi = phi1;elseif phi1==180-phi2 phi = phi1;elseif -phi1==phi2 phi = -phi1;elseif -phi1==180-phi2 phi = -phi1;else disp('Something is wrong with phi')figure (1)plot(t,phi)figure (2)plot(t,kap)figure (3)plot(y(:,11),y(:,14))function soln = DynEqn1(t,y,I11,I22,I33,Mx,My,Mz)w1 = y(1);w2 = y(2);w3 = y(3);eps1 = y(4);eps2 = y(5);eps3 = y(6);eps4 = y(7);C11 = y(8);C12 = y(9);C13 = y(10);C21 = y(11);C22 = y(12);C23 = y(13);C31 = y(14);C32 = y(15);C33 = y(16);w1_dot = (Mx - w2*w3*(I33-I22))/I11;w2_dot = (My - w1*w3*(I11-I33))/I22;w3_dot = (Mz - w1*w2*(I22-I11))/I33;eps1_dot = .5*(w1*eps4-w2*eps3+w3*eps2);eps2_dot = .5*(w1*eps3+w2*eps4-w3*eps1);eps3_dot = .5*(-w1*eps2+w2*eps1+w3*eps4);eps4_dot = -.5*(w1*eps1+w2*eps2+w3*eps3);C11_dot = C12*w3-C13*w2;C12_dot = C13*w1-C11*w3;C13_dot = C11*w2-C12*w1;C21_dot = C22*w3-C23*w2;C22_dot = C23*w1-C21*w3;C23_dot = C21*w2-C22*w1;C31_dot = C32*w3-C33*w2;C32_dot = C33*w1-C31*w3;C33_dot = C31*w2-C32*w1;soln = [w1_dot; w2_dot; w3_dot; ... eps1_dot; eps2_dot; eps3_dot; eps4_dot; ... C11_dot; C12_dot; C13_dot; C21_dot; C22_dot; C23_dot; C31_dot; C32_dot; C33_dot];end
I get this at the line where I begin the function:
Function definitions are not permitted in this context.
I double checked that I had the correct number of initial conditions that match the number of solutions I defined.
Furthermore, this code was basicaly just an edit from a previous code of mine, where all I did was add C11 through C33 and C11_dot through C33_dot in the function.
I also defined some more variables and plotted different things, but none of that is inside the function, so I don't think that is the issue.
Any help is appreciated, thank you.
Best Answer