Hello,
I am using MathCad 15 for circuit component calculations and am intrested in entering in tolerances. For example, on a flback converter transformer design I am working on, I would like to enter in the minimum and maximum switching current, frequency, ect in order to find a best and worst case value for the components that will be chosen. As of now, I am using 2 equations.One with the max values in the numerators and min values in the denominator in order to find my max case, and vice versa for the minimum case. Does Mathcad 15 support an feature that mimics this?
Thanks,
Matt Mauro
Schweitzer Engineering Laboratories
If you search this forum you will find a handful of threads dealing with similar questions.
There is no solution out of the box which Mathcad would provide. The problem when you deal with tolerances is, that you don't necessarily get the max or min value of your goal function when you insert the max or min values for all input values. So possible approaches seen here so far work with numeric algorithms to minimize/maximize a function with certain constraints or use brute force and try a more or less dense grid of combinations of values to chose the min/max of all output values.
Right, I originally setup an array of my max and min values but the end result was obviously invalid due to that fact. I will just go ahead and calculate it how I have been (the brute force way). This would be a good tool to have in Mathcad. Developers take note!
-Matt
Matt Mauro wrote:
Right, I originally setup an array of my max and min values but the end result was obviously invalid due to that fact. I will just go ahead and calculate it how I have been (the brute force way). This would be a good tool to have in Mathcad. Developers take note!
-Matt
Brute force does only make sense with just a few parts as of the increasing calculation time. And you never know if your grid wasn't too coarse.
I once wrote a very general brute force routine for that purpose for someone who asked. It deals without modification with any function in as many variables as necessary. Arguments for resistances, voltages, etc. are vectors as dense or coarse as you like. But for many parts and very dense grids it runs "endless" and gets useless.
You find the routine here http://communities.ptc.com/message/199660#199660
or here http://communities.ptc.com/message/228123#228123
but unfortunately its in Prime format. If you can't read it and are interested, the best I could do is to provide a pdf printout, as there is no way to convert Prime to real Mathcad.
In case of more parts a better approach might be to use a solve block with maximize or minimize and add the ranges for resistances, voltages etc. as constraints in the block.
Check out the attached scan of an PTC Express newsletter from November 2009. It's not complete but it's enough information to be helpful.
Nice finding.
The problem with this approach is, that we just get three results for a circuit but the top and bottom of those are not the min an max values. They are just the results if ALL part are at their max resp. their min, but that doesn't mean that the resulting values are max and min.
Hi Matt,
maybe the attached helps you, or someone else.
I guess the limitations are:
- The assumption that the extremes of output occur when all component values are at one end of their tolerance range (so each component is either at the high, or at the low end, not somewhere in the middle). This is mostly the case for linear circuit functions. If this assumption is certainly not true for your circuit, I guess you're better of with a MonteCarlo analysis.
- Tolerances are symmetric and relative (in %, rather than in absolute Ohms, Farads or what have you).
- Size of array supported by Mathcad (7 million at least).
- Calculation speed of your PC.
- Capability of modelling your circuit in mathematical formulae.
- Your imagination.
Success!
Luc
Added an _2k version, because mathcad 2000 handles symbolics slightly differently from 11.
See please the last part of this Mathcad websheet
http://twt.mpei.ac.ru/mcs/worksheets/iapws/wspTCPT.xmcd
with Tolerances (an uncertainty) In Values
Or this one