handles for functions of several variables
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Stina Ravdna Lorås
el 18 de Mzo. de 2021
Comentada: Stina Ravdna Lorås
el 19 de Mzo. de 2021
Im trying to make function handles that make it possible to calculate functions with different values for x1 and x2, but I cannot make it work. Please help?
(This is not the entire code, and it is split into two files)
syms x1 x2
x0 = [-1; -1];
f = @f_function;
J = @J_function;
X = NewtonsMethod(f, J, x0, lim, N)
function f = f_function(x)
f=[(x1*x2-2);
((x1.^4/4) + (x2.^3/3) -1)];
end
function J = J_function(x)
J = jacobian(f, [x1,x2]);
end
File:NewtonsMethod
xn = x0; % initial estimate
n = 1; % iteration number
fn = f(xn); % save calculation
iterate = norm(fn,Inf) > tol;
while iterate
xn = xn - J(xn)\fn;
n = n+1;
X(:,n) = xn;
fn = f(xn);
0 comentarios
Respuesta aceptada
Walter Roberson
el 19 de Mzo. de 2021
syms x1 x2
x0 = [-1; -1];
fsym = f_function(x1,x2);
f = matlabFunction(fsym, 'vars', {[x1, x2]})
J = matlabFunction(jacobian(fsym), 'vars', {[x1, x2]})
X = NewtonsMethod(f, J, x0, lim, N)
function f = f_function(x1,x2)
f=[(x1*x2-2);
((x1.^4/4) + (x2.^3/3) -1)];
end
Más respuestas (1)
Jan
el 18 de Mzo. de 2021
Editada: Jan
el 18 de Mzo. de 2021
Do you get an error message?
What is x1 and x2 in your functions "f_function" and "J_function"? Do you mean: x(1) and x(2) ?
Be careful with the unary minus in vectors:
f=[(x1*x2-2);
((x1.^4/4) + (x2.^3/3) -1)];
% ^
This can confuse the parser. See:
[1 1] % [1, -1]
[1 -1] % [1, -1]
[1 - 1] % [2]
2 comentarios
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!