Why this functions doesn't work on matlab coder
function [Rs] = Racineb(s)
imax=25;
emax=0.00001;
x=s;
if s<0
Rs='erreur';
disp('le paramètre entrée s doit être positif')
end
for i=1:imax
Rs=x-(x^2-s)/(2*x);
E=abs((Rs-x)/x);
x=Rs;
if E<emax
break
end
end
if E>emax
Rs='erreur';
disp('Le nombre de 25 itération a ete atteint sans avoir trouvé la solution')
end
It is saying that this assignment writes a 'double' value into a 'char' type. The problem is with Rs and x.
How can I resolve this problem? Thank you

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 18 de Oct. de 2016

0 votos

Don't convert Rs to a char!
Rs is a double here:
Rs=x-(x^2-s)/(2*x);
Here you convert it to a char.
Rs='erreur';
Use a different variable instead or set Rs to nan.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 18 de Oct. de 2016

Respondida:

el 18 de Oct. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by