fsolve in codegen returns indexing error
Mostra commenti meno recenti
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 Commenti
Max Bartholdt
il 18 Nov 2020
Mukund Sankaran
il 18 Nov 2020
Hi Max. Would it be possible for you to share the code for myeq ?
Max Bartholdt
il 19 Nov 2020
Modificato: Max Bartholdt
il 19 Nov 2020
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Write Constraints in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!