"Runtime Error: Call to MATLAB function aborted: Domain error. To compute complex results, make at least one input complex, e.g. 'power(complex(a),b)'."
Mostrar comentarios más antiguos
Hello, I'm trying to solve the following system in Simulink. I have some coder.extrinsic('intpolyval') into the Embeeded Matlab Function to deal with function handles I need to use while exchanging variables between functions, for instance:
function sol=intpolyval(coeff,minx,maxx)
sol=integral(@(x) polyval(coeff,x),minx,maxx);
end
While i try to run my model I get the error in debugger:
"Runtime Error: Call to MATLAB function aborted: Domain error. To compute complex results, make at least one input complex, e.g. 'power(complex(a),b)'."
This only happens when there is a loop in the Simulink model, while the model is simple- everything goes all right. Did anyone have similiar problems? How have u worked arround it?
Respuesta aceptada
Más respuestas (1)
shulin hu
el 28 de Oct. de 2018
Editada: Walter Roberson
el 7 de Jul. de 2020
hello,have you solve it?I have the similar problem:
Call to matlab function aborted:Domain error,To compute complex results from real x,use 'log(complex(x))'
function y = fcn(u1,u2,t) %#codegen
if t>0.4
y=-2.875*t/log(1-(2.875*u1/u2));
end
2 comentarios
jose luis huayanay villar
el 7 de Jul. de 2020
hello,have you solve it?I have the similar problem:
An error occurred while running the simulation and the simulation was terminated
Caused by:
- Domain error. To compute complex results, make at least one input complex, e.g. 'power(complex(a),b)'.
Walter Roberson
el 7 de Jul. de 2020
function y = fcn(u1,u2,t) %#codegen
if t>0.4
y=-2.875*t/log(complex(1-(2.875*u1/u2)));
end
The original code would have had problems when u1 > u2 / 2.875 so that the log() would have been of a negative number.
Categorías
Más información sobre General Applications en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!