From: Antonio <tritemio@gm...>  20060624 17:08:56
Attachments:
nonidtrasformer.sch
nonidtrasformer.dpl

Hi to the list, Doing some sweep simulation (see the attachments), I had the need to divide each element of a vector for a scalar, and obtain a vector as result. Is this possible in QUCS? I hit this problem while simulating a non ideal transformer, sweeping L2. If I want to calculate n (the transformation ratio, don't know if this is the proper term in english) for each L2 value I have to divide L1 which is a scalar by L2 which is a vector, see the attachments for more details. I'll try to explain the question in more general terms. In octave/matlab, if you do one of the 4 operations (+  * /) between a scalar and a vector (n) the scalar is treated as a vector (n) in which each element has the same value of the scalar. And the result is a vector (n). If this is not possible, would be nice to be able to export the dataset in a format easily readable by octave and (ideally) to re import the dataset after some elaboration... in this way the potentials of data elaboration would become unlimited. Only thoughts... Cheers, ~ Antonio 
From: Stefan Jahn <stefan@gr...>  20060626 06:20:33

Am Sa, 24.06.2006, 19:08, schrieb Antonio: > Hi to the list, Hello Antonio, > Doing some sweep simulation (see the attachments), I had the need to > divide each element of a vector for a scalar, and obtain a vector as > result. Is this possible in QUCS? I hit this problem while simulating > a non ideal transformer, sweeping L2. If I want to calculate n (the > transformation ratio, don't know if this is the proper term in > english) for each L2 value I have to divide L1 which is a scalar by L2 > which is a vector, see the attachments for more details. Well, in fact this should be possible. I'll look at the example and come up for a comment... > I'll try to explain the question in more general terms. In > octave/matlab, if you do one of the 4 operations (+  * /) between a > scalar and a vector (n) the scalar is treated as a vector (n) in which > each element has the same value of the scalar. And the result is a > vector (n). Yep. See above... It should be possible. > If this is not possible, would be nice to be able to export the > dataset in a format easily readable by octave and (ideally) to re > import the dataset after some elaboration... in this way the > potentials of data elaboration would become unlimited. Only > thoughts... Right now you can export it to CSV (comma separate values). Matlab/Octave is somewhere on my TODO list. Conversion from qucsdata to csv is done using the qucsconv command line tool. Cheers, Stefan. 
From: Antonio <tritemio@gm...>  20060626 18:09:44

Sorry, I again directed the reply to Stefan only. Forwarding to the list...  Forwarded message  From: Antonio <tritemio@...> Date: Jun 26, 2006 7:52 PM Subject: Re: [Qucshelp] equation: scalar  vector operations To: Stefan Jahn <stefan@...> Hi Stefan, On 6/26/06, Stefan Jahn <stefan@...> wrote: > Am Sa, 24.06.2006, 19:08, schrieb Antonio: > > > Hi to the list, > > Hello Antonio, > > > Doing some sweep simulation (see the attachments), I had the need to > > divide each element of a vector for a scalar, and obtain a vector as > > result. Is this possible in QUCS? I hit this problem while simulating > > a non ideal transformer, sweeping L2. If I want to calculate n (the > > transformation ratio, don't know if this is the proper term in > > english) for each L2 value I have to divide L1 which is a scalar by L2 > > which is a vector, see the attachments for more details. > > Well, in fact this should be possible. I'll look at the example and > come up for a comment... This is very good news. Unfortunately I'm not jet able to do such operations, is there a particular syntax? To trigger the error I see please modify the least equation to n = k * sqrt( L1 / L2 ) in this way I get this error during the simulation: vector 'L1' and 'L2' have different sizes while I would like a vector named n with all the calculated values. Cheers, ~ Antonio 
From: Antonio <tritemio@gm...>  20060626 20:48:07

Hi, On 6/26/06, Antonio <tritemio@...> wrote: [cut] >On 6/26/06, Stefan Jahn <stefan@...> wrote: [cut] > > Well, in fact this should be possible. I'll look at the example and > > come up for a comment... > > This is very good news. Unfortunately I'm not jet able to do such > operations, is there a particular syntax? > > To trigger the error I see please modify the least equation to > > n = k * sqrt( L1 / L2 ) > > in this way I get this error during the simulation: > > vector 'L1' and 'L2' have different sizes > > while I would like a vector named n with all the calculated values. I found the problem. If I use the "constant" sweep parameters I've set to define some "global variable" I get the error since these values although constants are treated as vectors and the simulator gives the dimension mismatch error. If I put directly the numeric values I got the correct result, but in this way I lose the gain to define such "global variables". I think would be a good thing to fix, otherwise... well I'll learn to live with it ;). Many thanks, at least I've found a workaround with your help :). Cheers, ~ Antonio 
From: Stefan Jahn <stefan@gr...>  20060724 05:40:07

Am Mo, 26.06.2006, 21:38, schrieb Antonio: > Hi, Hello Antonio, > [cut] >> > Well, in fact this should be possible. I'll look at the example and >> > come up for a comment... >> >> This is very good news. Unfortunately I'm not jet able to do such >> operations, is there a particular syntax? >> >> To trigger the error I see please modify the least equation to >> >> n = k * sqrt( L1 / L2 ) >> >> in this way I get this error during the simulation: >> >> vector 'L1' and 'L2' have different sizes >> >> while I would like a vector named n with all the calculated values. > > I found the problem. If I use the "constant" sweep parameters I've set > to define some "global variable" I get the error since these values > although constants are treated as vectors and the simulator gives the > dimension mismatch error. If I put directly the numeric values I got > the correct result, but in this way I lose the gain to define such > "global variables". I think would be a good thing to fix, otherwise... > well I'll learn to live with it ;). > > Many thanks, at least I've found a workaround with your help :). I just send Raimund a patch which enables the simulator to solve your n = k * sqrt( L1 / L2 ) equation, where k, L1 and L2 may be vectors with different size, but being multiples of each other. I fixed this for all twovector operations. Cheers, Stefan. 
From: Antonio <tritemio@gm...>  20060725 11:12:19

Hi, On 7/24/06, Stefan Jahn <stefan@...> wrote: [cut] > I just send Raimund a patch which enables the simulator to solve your > > n = k * sqrt( L1 / L2 ) > > equation, where k, L1 and L2 may be vectors with different size, but being > multiples of each other. I fixed this for all twovector operations. Great news! Many thanks for caring about this issue. Is it in the CVS jet or have I to wait some days? PS: I saw the new article about opamp macromodelling added to the workbook: it's really useful ;). > Cheers, Stefan. Cheers, ~ Antonio 
From: Stefan Jahn <stefan@gr...>  20060725 11:23:32

Am Di, 25.07.2006, 13:12, schrieb Antonio: > Hi, Hello Antonio, >> I just send Raimund a patch which enables the simulator to solve your >> >> n = k * sqrt( L1 / L2 ) >> >> equation, where k, L1 and L2 may be vectors with different size, but >> being >> multiples of each other. I fixed this for all twovector operations. > > Great news! Many thanks for caring about this issue. Is it in the CVS > jet or have I to wait some days? It's already in CVS. > PS: I saw the new article about opamp macromodelling added to the > workbook: it's really useful ;). Thank Mike for this article. :) Probably you can tell him a bit what you exactly like about it and what you miss... Cheers, Stefan. 