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

 采纳的回答

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.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by