"Struct contents reference from a non-struct array object" error in fzero
1 回表示 (過去 30 日間)
古いコメントを表示
A bit of background: I have a few versions of Matlab on my computer (2012a and 2014a). I recently started having problems with commands that used to work, an example being fzero. When I run it, I get the error "Struct contents reference from a non-struct array object." Strangely, this happens both on my primary version (2014a) and backup version (2012a). I also installed 2016a to test it and it's also giving the same error.
>> X = fzero(@(x) sin(3*x),2)
Struct contents reference from a non-struct array object.
Error in fzero (line 167)
error(message(errStruct.identifier));
Does anyone have any idea what's going on or how to fix this?
採用された回答
Steven Lord
2016 年 10 月 26 日
Make sure you're calling the version of the fzero function included in the release of MATLAB that you're using.
which -all fzero
Also make sure you haven't overloaded the fcnchk function.
which -all fcnchk
その他の回答 (1 件)
Jan
2016 年 10 月 26 日
You can set a breakpoint in the "[FunFcn,errStruct] = fcnchk(..." line of fzero (should be line ~165 - I have another Matlab version). Then step into fcnchk and check, what's going on there. It this the function inside the folder \funfun\ ?
If not, it is most likely a user-defined function (as Steven has mentioned before). Avoid shadowing built-in function and add user-defined paths at the bottom of the Matlab path only. See http://de.mathworks.com/matlabcentral/fileexchange/27861-uniquefuncnames for a tool to identify user-defined functions, which accidently shadow builtin functions.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!