## [Qucs-devel] Re: ASCO

 [Qucs-devel] Re: ASCO From: Stefan Jahn - 2006-01-30 12:40:26 ```On Fr, 27.01.2006, 09:01, asco developer wrote: Hello! > ... >> Attached the curves with original/first/second try from you. It looks >> really good and also shows the tradeoff thingy. I can't verify that >> any of these is an optimum or not. This is hopefully ensured by your >> software. I assume so. :-) > > These type of algorithms never guarantee that the best point is ever > found. You can just be reassured that "most of the times" you are > "close" to it. Which, at least for me is quite satisfactory. > > The idea when using ASCO (and similar approaches) is to use > mathematics to get a justification why is 1 and not 10 or 50. Then, > the software is used to see if a better trade off can be found, > without using some of the approximations we have used to derive the > equations. I see. >> A function like "at(S[2,1], 12e9)" (S21 at 12GHz) or "find(S[2,1], 1)" >> (frequency where S[2,1] is 1) just went up on my TODO list. :-) > > I can propose something like > 1) y, yval, yvalue... y(s(11), 1GHz) > 2) x, xval, xvalue... x(s(11), 2) > > which can be generalized to an > > y(vdb(node1), 5GHz) => magnitude in dB > y(v(node1), 5GHz) => magnitude > y(vp(node1), 5GHz) => phase at 5GHz > MAX(vdb(node1), 5GHz, 10GHz) => maximum > MIN(vdb(node1), 5GHz, 10GHz) => minimum > AVG(vdb(node1), 5GHz, 10GHz) => average > > Its like finding some scalable and logical language on how to measure > a given waveform which can be implemented gradually. Just some ideas! I put the following things onto my TODO list: yvalue (S[1,1], 12e9) xvalue (S[1,1], 1) max (S[1,1], 2e9: 5e9) min (S[1,1], 2e9: 5e9) avg (S[1,1], 2e9: 5e9) Whereas S[1,1] can be vectors, and matrix vectors with a single dependency only (in this case it is "frequency"). The range specification is max(), min() and avg() can be either: xval1:xval2 OR (values from xval1 to xval2) xval1: OR (values from xval1 to last) :xval2 OR (values from first to xval2) : (all values) The specified values are going to be inclusively. Each given x value *must* be in the dataset, otherwise the functions return an error. When given a y value (as in e.g. xvalue()) then the nearest x value will be returned. Or should be an appropriate interpolation be applied? Any more suggestions, objectives, comments? Thanks in advance, Stefan. ```