- Go to 'Model Settings' of Top Model from Toolstrip
- Search for 'Inf or NaN block output' using the search bar present above in the Configuration Parameters panel.
- Set the value of 'Inf or NaN block output' to 'error' (by default it would be 'none')
- Click Apply and OK. Run the model again.
PV Array Subsystem Error in Simulink, Matlab 2020b
22 次查看(过去 30 天)
显示 更早的评论
Hello all,
I`m facing a problem while scope-simulating the PV array, I-V and P-V characteristic curves attached as fig1.png.
The error is as follows:
An error occurred while running the simulation and the simulation was terminated
Caused by:
- Derivative of state '1' in block 'partialshadingwithconvertermodifiedscope/PV1/Diode Rsh/Transfer Fcn' at time 0.2 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
The following notes are to be taken into consideration:
- The PV array itself shows no problem when was simulated without the converter
- The addition of the DC-DC converter revealed the mentioned error
- I tried several advices from other questions/answers post about modifying the Solver configuration (i.e. selection fixed steps rather than variable, changing Solver type from auto to different ode~~, reducing error tolerance, decreasing the relative tolerance, NonAdaptive algorithm selection, etc.) but still the error is the same at different time intervals.
- I tried to break into the PV Array mask, by adding unit delay in Diode Rsh, after link disabling as attached in fig2.png but still same error.
- I was running actually the simulation after checking Break algebraic loop inside the PV array mask.
Any Solutions or recommendations? I`m using Matlab R2020b, Simulink.
Thanks in advanced.
0 个评论
回答(1 个)
Aditya Shah
2022-10-13
Hi!
A possible reason for getting this error is the incorrect implementation of the logic or the use of an unstable equation while creating the Simulink model. This happens if one of the blocks is generating either an Infinite or NaN value at some point in time, which gets passed to the block (mentioned in the error message) and thereby it generates the error message.
In order to find out which block was responsible for generating Infinite or NaN value you can set the configuration parameters by performing the steps below:
Now you can see an error in the 'Diagnostic Viewer' which points out the block that is creating Infinite or NaN value.
To avoid such errors, you can always check for any logical errors relating to that block (For ex. Division by zero) or equations that can be corrected.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Operators 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!