Domain error. To compute complex results from real x, use 'log(complex(x))'
26 次查看（过去 30 天）
I am calculating v_model as
v_model=e0 + i*r - (k0/soc) - (k1*soc) + k2*(log(soc)) + k3*(log(1-soc))
Other all parameters I have given to the matlab function block which calculates the above equation.
At t=0 in simulink, i have set soc=0.995
But when it calculates log(1-soc) it gives domain error. When I connected physical blocks of substract and log it said input to log block is zero.
I don't know why simulink is taking 1-0.995 as zero.
Sai Pallav 2023-7-5
Could you please provide the MATLAB version and more details of the process you are running. The log function in 2023a version is working fine. For example,
>> soc = 0.995;
So, I don't think the problem is in the log function.