When the variables of the equation are zero, the equation cannot be solved and results in reading 'Value' must be a double scalar within the range of 'Limits'.

3 views (last 30 days)
app.RADARAoEditField_2.Value = ((app.TOTALOSTIMEEditField.Value - app.TOTALDOWNTIMEEditField_4.Value)/app.TOTALOSTIMEEditField.Value)*100;
app.TOTALOSTIMEEditField.Value and app.TOTALDOWNTIMEEditField_4.Value, both values reads, 1x1 double = 0
But zero is causing an error in this function. Please advise.

Answers (1)

Steven Lord
Steven Lord on 2 Dec 2021
I'm guessing you have a NumericEditField in your app. What are the values for the properties Value and Limits of your edit field?
fig = uifigure;
ef = uieditfield(fig, 'numeric');
ef.Limits = [0 1];
If you tried to set the Value property to a value that is outside your limits then you will receive an error. If I take that sample code above and add this line:
ef.Value = 2; % greater than the upper Limits
I receive the error "'Value' must be a double scalar within the range of 'Limits'." 2 is greater than 0, but it is not less than 1.
  2 Comments
shnrndll
shnrndll on 3 Dec 2021
Thank you Steve. Within my app designer the limit for the variable, app.RADARAoEditField_2.Value is -Inf, Inf
Therefore all values should work. Please advise if you have other ideas. This issue only happens for the value of 0 but (+/-)infiniti should cover all ranges.

Sign in to comment.

Categories

Find more on Develop uifigure-Based Apps in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!