[Matlab] Metodo di Newton per funzioni a valori vettoriali
Salve ragazzi, sapreste dirmi come procedere per implementare in Matlab tale metodo? Non so come comportarmi con le funzioni a valori vettoriali. Per quelle scalari, grazie alla function "inline" potevo inserire la funzione direttamente in input mettendola tra due apici ma qui non so proprio come fare
. Al posto della funzione in input dovrei dare un vettore?

Risposte
Non esiste alcuna differenza tra funzioni con input scalari e vettoriali da questo punto di vista.
Quindi, dato che prima ad esempio per $f(x)=x^2-1$ scrivevo newton('$x^2-1$',ecc) ora come dovreo comportarmi ad esempio per $f(x,y)=(x-y,2x-y)$ (esempio a caso)? Cioè cosa dovrei dare in input? Scusate ma non capisco

Ma hai provato a dare una occhiata alla sempre molto ricca documentazione di matlab?
Puoi usare inline come hai sempre fatto
oppure puoi usare le funzioni anonime
Puoi usare inline come hai sempre fatto
f = inline("[x - y, 2*x - y]", "x", "y")
oppure puoi usare le funzioni anonime
f = @(x, y) [x - y, 2*x - y]
Grazie infinite 
Hai ragione, errore mio, mi ero fermato alla prima parte dell'help di inline
EDIT: Ecco l'algoritmo. Sembra funzionare bene. Secondo voi può andare? Posso ridurre qualche riga di codice?

Hai ragione, errore mio, mi ero fermato alla prima parte dell'help di inline

EDIT: Ecco l'algoritmo. Sembra funzionare bene. Secondo voi può andare? Posso ridurre qualche riga di codice?
function [ x0,iter ] = newtonvect( f1,x0,tol,imax ) %UNTITLED3 Summary of this function goes here % Detailed explanation goes here f2=sym(f1); t=symvar(f2); j=jacobian(f1,t); r=symvar(j); val=subs(f1,t,x0); m=length(r); iter=0; while norm(val)>tol & iter<imax x1=x0(1:m); jac=subs(j,r,x1); z=Gausselpiv(jac,-val); x0=x0+z'; iter=iter+1; val=subs(f1,t,x0); end end
Ragazzi ho un problema. Supponiamo di avere la funzione $f(x,y)=(x-y,x+y^2)$. Lo jacobiano che calcola Matlab è $((1,-1),(1,2y))$. Come faccio allora in questo caso a valutarlo ad esempio in $(0,0)$ se la prima variabile non compare?
Anche se \(x\) non compare, Lo Jacobiano dovrebbe comunque essere una funzione da \(\mathbb R^2\) a \(GL(2)\) e dovrebbe quindi essere possibile passare due argomenti alla funzione. Ma non ho mai lavorato con gli strumenti di calcolo simbolico di matlab per cui non ti so dare molti consigli su questa cosa.
Ho risolto creando a parte una function che calcola Lo jacobiano sfruttando proprio la sua definizione

[xdom="Raptorista"]Sposto nella sezione più appropriata!
[/xdom]
