Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
fsolve works only if I run the code once
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi everyone! I get this error message and I thought I might have forgotten a * sign, but apparently it isn't so. What could be wrong?
Main:
% fsolve caller
aaaa=fsolve(@(Z) base_montante(Z,vet_1_base_montante,vet_2_base_montante),-ex_1);
function with vector of equations:
function F = base_montante(Z,vet_1_base_montante,vet_2_base_montante)
vet_3_base_montante=zeros(3,1);
ex_1=[1;
0;
0];
vet_3_base_montante(1)=Z(1);
vet_3_base_montante(2)=Z(2);
vet_3_base_montante(3)=Z(3);
F=[dot(vet_3_base_montante,vet_1_base_montante);
dot(vet_3_base_montante,vet_2_base_montante);
dot(vet_3_base_montante,-ex_1)-1];
vet_1_base_montante , ex, and vet_2_base_montante are pre-assigned vectors, so it should solve for the 3 components of vet_3_base_montante...
Here's the complete error message, though only the first line should be the cause for it all:
Subscript indices must either be real positive integers or logicals.
Error in @(Z)base_montante(Z,vet_1_base_montante,vet_2_base_montante)
Error in fsolve (line 219)
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
If I type "clear all" and run the code again, I get no error message and the results make sense. If I run it again, I get the same error I reported. By typing
dbstop if error
the debugger brings me to the "fsolve" code, and apparently there's a problem with the Jacobian, as what makes the code stop is at line 224 (little green arrow). But I don't know what that's about...
1 Kommentar
Stephen23
am 4 Apr. 2017
duplicate:
https://www.mathworks.com/matlabcentral/answers/333385-subscript-indices-must-either-be-real-positive-integers-or-logicals-fsolve-problem
Antworten (0)
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!