I’m getting the ‘Not enough input arguments’ error event though I am pretty sure I am giving all the arguments needed at all times
Created a Newton System Solver for Non-linear system, but when I try to run it for this function, I get that error for line 21 in the Slammer1 function. The Solver does work with other generic functions, and when I just input my initial guess (y0 = [5e4,0,0,0,5e4]) in Slammer1, it work as well. But when I try to join them together it falls apart. I’ve checked over and over again, I really have no idea what else to do. Thanks in advance.
function [x,it] = NewtonSystemSolver(k, tol, nmax, y0, F, J)
iterations = ones(k,nmax);
tols = ones(1,nmax);
for it=1:nmax
Fx = F(x);
Jx = J(x);
deltaX = -(JxFx);
x = x + deltaX;
iterations(1:k,it) = x;
tols(1,it) = norm(deltaX);
if norm(deltaX) < tol
iteradas = iterations(1:k,1:it);
tols = tols(1,1:it);
break
end
end
t = table([iterations;tols])
end
function Y = Slammer1(X)
M = 1;
p = 0.1;
beta1 = 0.0000009;
beta2 = 0.00000093;
sigma = 0.00002;
miu = 0.00001;
omega = 0.05;
gamma = 0.001;
theta = 0.005;
alpha1 = 0.0001;
alpha2 = 0.004;
m = omega + alpha1 + miu;
n = gamma + alpha2 + miu;
R0 = p*M*(beta1*n + beta2*omega) / ((sigma + miu)*m*n)
Sprime = p*M – beta1*X(1)*X(2) – beta2*X(1)*X(3) – (sigma + miu)*X(1);
Eprime = beta1*X(1)*X(2) + beta2*X(1)*X(3) – (omega + alpha1 + miu)*X(2);
Iprime = omega*X(2) – (gamma + alpha2 + miu)*X(3);
Qprime = alpha1*X(2) + alpha2*X(3) – (theta + miu)*X(4);
Vprime = (1 – p)*M + sigma*X(1) + gamma*X(3) + theta*X(4) – miu*X(5);
Y = [Sprime , Eprime , Iprime , Qprime , Vprime];
endCreated a Newton System Solver for Non-linear system, but when I try to run it for this function, I get that error for line 21 in the Slammer1 function. The Solver does work with other generic functions, and when I just input my initial guess (y0 = [5e4,0,0,0,5e4]) in Slammer1, it work as well. But when I try to join them together it falls apart. I’ve checked over and over again, I really have no idea what else to do. Thanks in advance.
function [x,it] = NewtonSystemSolver(k, tol, nmax, y0, F, J)
iterations = ones(k,nmax);
tols = ones(1,nmax);
for it=1:nmax
Fx = F(x);
Jx = J(x);
deltaX = -(JxFx);
x = x + deltaX;
iterations(1:k,it) = x;
tols(1,it) = norm(deltaX);
if norm(deltaX) < tol
iteradas = iterations(1:k,1:it);
tols = tols(1,1:it);
break
end
end
t = table([iterations;tols])
end
function Y = Slammer1(X)
M = 1;
p = 0.1;
beta1 = 0.0000009;
beta2 = 0.00000093;
sigma = 0.00002;
miu = 0.00001;
omega = 0.05;
gamma = 0.001;
theta = 0.005;
alpha1 = 0.0001;
alpha2 = 0.004;
m = omega + alpha1 + miu;
n = gamma + alpha2 + miu;
R0 = p*M*(beta1*n + beta2*omega) / ((sigma + miu)*m*n)
Sprime = p*M – beta1*X(1)*X(2) – beta2*X(1)*X(3) – (sigma + miu)*X(1);
Eprime = beta1*X(1)*X(2) + beta2*X(1)*X(3) – (omega + alpha1 + miu)*X(2);
Iprime = omega*X(2) – (gamma + alpha2 + miu)*X(3);
Qprime = alpha1*X(2) + alpha2*X(3) – (theta + miu)*X(4);
Vprime = (1 – p)*M + sigma*X(1) + gamma*X(3) + theta*X(4) – miu*X(5);
Y = [Sprime , Eprime , Iprime , Qprime , Vprime];
end Created a Newton System Solver for Non-linear system, but when I try to run it for this function, I get that error for line 21 in the Slammer1 function. The Solver does work with other generic functions, and when I just input my initial guess (y0 = [5e4,0,0,0,5e4]) in Slammer1, it work as well. But when I try to join them together it falls apart. I’ve checked over and over again, I really have no idea what else to do. Thanks in advance.
function [x,it] = NewtonSystemSolver(k, tol, nmax, y0, F, J)
iterations = ones(k,nmax);
tols = ones(1,nmax);
for it=1:nmax
Fx = F(x);
Jx = J(x);
deltaX = -(JxFx);
x = x + deltaX;
iterations(1:k,it) = x;
tols(1,it) = norm(deltaX);
if norm(deltaX) < tol
iteradas = iterations(1:k,1:it);
tols = tols(1,1:it);
break
end
end
t = table([iterations;tols])
end
function Y = Slammer1(X)
M = 1;
p = 0.1;
beta1 = 0.0000009;
beta2 = 0.00000093;
sigma = 0.00002;
miu = 0.00001;
omega = 0.05;
gamma = 0.001;
theta = 0.005;
alpha1 = 0.0001;
alpha2 = 0.004;
m = omega + alpha1 + miu;
n = gamma + alpha2 + miu;
R0 = p*M*(beta1*n + beta2*omega) / ((sigma + miu)*m*n)
Sprime = p*M – beta1*X(1)*X(2) – beta2*X(1)*X(3) – (sigma + miu)*X(1);
Eprime = beta1*X(1)*X(2) + beta2*X(1)*X(3) – (omega + alpha1 + miu)*X(2);
Iprime = omega*X(2) – (gamma + alpha2 + miu)*X(3);
Qprime = alpha1*X(2) + alpha2*X(3) – (theta + miu)*X(4);
Vprime = (1 – p)*M + sigma*X(1) + gamma*X(3) + theta*X(4) – miu*X(5);
Y = [Sprime , Eprime , Iprime , Qprime , Vprime];
end functions, newton, systems, equations MATLAB Answers — New Questions