The function return the value "phi_dot" might be unset (warning)

7 次查看(过去 30 天)
This is only the last part of my code, i don't understand why matlab tells me the message "The function return the value "phi_dot" might be unset (warning)". Anyone can help me to find any solution, please?
(I don't put all the code because it works untill H=jacobian...)
A = jacobian(f,x);
%Linearizzazione delle uscite
H = jacobian(h,x);
%% Ricavo la PHI da utilizzare per il calcolo del gramiano
%condizione iniziale per l'equazione differenziale
F0 = eye(size(A)); %uso size(A) perchè phi non l'ho ancora definita e A e phi hanno stesse dimensioni
%definisco la funzione a cui applicare la ode
odefun = @(t,phi) state_sensitivity_matrix(t,phi,A);
%Calcolo la ode con vettori dei tempi pari a t (vedi inizio programma) e
%condizione iniziale F0 -> riportata in un vettore colonna solo e non a
%matrice
[T,F] = ode45(odefun,t,F0(:));
%Riporto le varie F (che sarebbero le phi) nel tempo in forma matriciale
F = reshape(F.',size(A(1)),size(A(2)),[]);
%% Funzione che apporta alcune modifiche per poter usare la ode45 con
%%matrici e sarà la stessa funzione da passare alla ode per risolvere
%%l'equazione differenziale
function phi_dot = state_sensitivity_matrix(t1,phi,A)
%Siccome phy ha la stessa dimensione di A, con reshape dico a matlab che
%phy è una matrice delle stesse dimensioni di A e la chiamo F
F = reshape(phi,size(A));
%Siccome l'equazione differenziale da risolvere è: phi_dot=A*phy inizio a
%calcolare il prodotto matriciale A*phy
AF = A*F;
%Adesso scrivo l'equazione differenziale vera e propria ma riscrivo A*phi
%come se fosse un vettore colonna solo dove ogni colonna viene riportata
%sotto alla precedente fino ad ottenere un vettore colonna
%per esempio [1 2; 3 4] diventerebbe [1 2 3 4]'
phy_dot = AF(:);
end

采纳的回答

Simone Besana
Simone Besana 2022-4-13
I found the error. This is a very stupid error. The problem was that in the function i wrote
function phi_dot=...
but in the end of the function i wrote
phy_dot = AF(:);
end
so it didn't matching....

更多回答(0 个)

标签

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!