I am trying to solve a system of nonlinear simultaneous equations using the fsolve function. I keep getting the "Subscript indices must either be real positive integers or logicals" error message and have no idea why, and nothing I have found online has helped. The equations in question are as follows:
function [ F ] = func_tj( tj ) rhoi = [.02;.2;2;20;200;2000;20000;200000;2000000;20000000;200000000];Ei =[1.94E09;2.83E09;5.54E09;6.02E09;3.88E09;1.56E09;4.10E08;1.38E08;3.68E07;7.90E06;9.60E06]; Ee = 2.24E7;F(1) = -tj(1)+ rhoi(1) +rhoi(1)*Ei(1)/Ee + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5)*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(2) = -tj(2)+ rhoi(2) +rhoi(2)*Ei(2)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5)*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(3) = -tj(3)+ rhoi(3) +rhoi(3)*Ei(3)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5)*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(4) = -tj(4)+ rhoi(4) +rhoi(4)*Ei(4)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(5)*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(5) = -tj(5)+ rhoi(5) +rhoi(5)*Ei(5)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(6*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(6) = -tj(6)+ rhoi(6) +rhoi(6)*Ei(6)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(7) = -tj(7)+ rhoi(7) +rhoi(7)*Ei(7)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6)*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(8) = -tj(8)+ rhoi(8) +rhoi(8)*Ei(8)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6)*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(9) = -tj(9)+ rhoi(9) +rhoi(9)*Ei(9)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6)*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(10) = -tj(10)+ rhoi(10) +rhoi(10)*Ei(10)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6)*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(11)*Ei(11))/(Ee(rhoi(11)-tj(11))));F(11) = -tj(11)+ rhoi(11) +rhoi(11)*Ei(11)/Ee + (rhoi(1)*Ei(1))/(Ee(rhoi(1)-tj(1))) + (rhoi(2)*Ei(2))/(Ee(rhoi(2)-tj(2))) + (rhoi(3)*Ei(3))/(Ee(rhoi(3)-tj(3))) + (rhoi(4)*Ei(4))/(Ee(rhoi(4)-tj(4))) + (rhoi(5*Ei(5))/(Ee(rhoi(5)-tj(5))) + (rhoi(6)*Ei(6))/(Ee(rhoi(6)-tj(6))) + (rhoi(7)*Ei(7))/(Ee(rhoi(7)-tj(7))) + (rhoi(8)*Ei(8))/(Ee(rhoi(8)-tj(8))) + (rhoi(9)*Ei(9))/(Ee(rhoi(9)-tj(9))) + (rhoi(10)*Ei(10))/(Ee(rhoi(10)-tj(10)))); end
This is my code to solve the equations:
tj(0) = [0.0200000000000000;0.200000000000000;2;20;200;2000;20000;200000;2000000;20000000;200000000];tj = fsolve(func_tj(tj),tj(0));tj
I have tried using multiple different tj(0) however I consistently get the same error. I have arranged everything based on what I have found in the Matlab help files, with several of the different variations and tried using other nonlinear simultaneous equation functions, however it still does not change the outcome.
Best Answer