The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
 All Forums
 Origin Forum
 Origin Forum
 Deconvulsion/Separate Treatment of Rows

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
verenac Posted - 07/05/2011 : 10:37:15 AM
Origin Ver. 8.5.1G and Service Release (Select Help-->About Origin): SR2
Operating System:Windows XP

Hi,

I want to use OriginLab for imported measurement date, where in every measurement cycle several frequencies are applied and the information is stored row by row. After the last frequency of the 1st cycle, the next row is filled with data from the 1st frequency of cycle 2.

Now I would like to do some frequency dependent analysis, but the data is all "mixed" and I cannot figure out an appropriate way to apply row by row commands.

For now I manually split the file into subsheets for every frequency. e.g.:
wxt test:= Col(A)==10000 ow:=10kHz

This becomes quite annoying and I am strongly looking for a better way to handle the data!

A typical Example of what I would like to achieve is:
*) Smoothing/Filtering of data from each frequency
*) Normalizing each frequency with its background value (recorded in first measurement cycles)
*) Drawing a 3D plot of normalized data with axes time-frequency-impedance

Any help is very much appreciated!
Thanks!!
4   L A T E S T    R E P L I E S    (Newest First)
verenac Posted - 07/06/2011 : 07:16:59 AM
Thanks again so much, Sam!
That makes total sense.
Sam Fang Posted - 07/06/2011 : 06:26:31 AM
Suppose you want to normalize all columns in the current worksheet. you can run following script int Script Window.

for( int ii=1; ii<=wks.ncols; ii++)
{
    wcol(ii)=wcol(ii)/wcol(ii)[1];
}


Sam
OriginLab Technical Services
verenac Posted - 07/06/2011 : 05:14:01 AM
Thanks a lot Sam!
That was really useful

Unfortunately I am totally non-familiar with the OriginLab script syntax. Maybe someone could help me out with the code to loop over colums (a link to a similar example code would also be fine).

Thats what I planned to do (I know its rather pseudo-code than real OriginLab script ):

void FrequencyNormalization(Worksheet& ws, const int& fnum)
{
	new vector(fnum) normBases;	//allocate the space for a new array to store 1 double value for each frequency
	loop(i, 1, fnum)
	{
	   normBases.add(ws.Col(i)[1]); //for each column store the first value in the normBases array
	}
	loop(ii, 1, fnum)
	{
	   ws.Col(ii) /= normBases(ii); //Normalize all colums by dividing each value by the corresponding value of the normBases array
	}	
} 
Sam Fang Posted - 07/05/2011 : 11:19:25 PM
You can try 8.5.1's new feature Unstack Columns to separate data into columns by frequency.

Then perform smoothing and normalize for each column (You can use script to loop each column (frequency)).

Then use Stack Columns to stack frequencies into a column. And draw a 3D plot from the analyzed data.

Sam
OriginLab Technical Services

The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000