fsolve in codegen returns indexing error
Afficher commentaires plus anciens
Hello,
I am struggling with the code generation of a function containing the fsolve command (supported since R2020b). Since it is a rather new topic, I did not find any related entries.
This is the function i try to generate the mex-file for:
function [x] = test_function(a,b)
%#codegen
x = zeros(1);
opts = optimoptions('fsolve','Algorithm','levenberg-marquardt','Display','off');
% opts = optimoptions(opts,a.string,a.val);
fcn = @(in)feval(b,in);
rng default
x0 = double(0.00);x(1) = fsolve(fcn,x0,opts);
end
And this is how I setup the code generation:
cfg = coder.config('mex');
types = coder.getArgTypes('mytest','test_function')
codegen -config cfg -args types test_function
With the following function to get the coder.Types:
function out = mytest
a.val = 10e-5;
a.string = "FunctionTolerance";
b = 'myeq';
out = test_function(a,b);
end
The struct a has no purpose yet, but will later be used to setup the optimoptions.
Error Message after calling the codegen:
"??? Index expression out of bounds. Attempted to access element 1. The valid
range is 1-0."
In the Coder Report Viewer it sais, that the error occured in function projectBox. I would appreciate any thoughts on this.
Many Regards,
Max
3 commentaires
Max Bartholdt
le 18 Nov 2020
Mukund Sankaran
le 18 Nov 2020
Hi Max. Would it be possible for you to share the code for myeq ?
Max Bartholdt
le 19 Nov 2020
Modifié(e) : Max Bartholdt
le 19 Nov 2020
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Write Constraints dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!