Lester Ingber
Lester Ingber

Reputation: 1

including internally created strings in octave system/unix command?

I have a script like:

#!/opt/bin/octave -qf
xin = dlmread(argv(){1},",");
tim = dlmread("Time");
fileout = [argv(){1} "-" "avg"];
## calcs to create xtemp and time matrices
dlmwrite("Time-avg",time);
dlmwrite(fileout,xtemp,",");
## ?? unix("paste -d',' Time-avg fileout > DATCOARSE");

This all works fine until the last line. I create fileout inside the script to correlate with the input datafile, and fileout prints out fine.

Is there some kind of dereferencing operator in octave to use "fileout" in the unix or system command?

Upvotes: 0

Views: 36

Answers (1)

Andy
Andy

Reputation: 8091

You can use sprintf to create the command string:

cmd_str = sprintf ("paste -d',' Time-avg %s > DATCOARSE", fileout);
unix (cmd_str)

But you don't have to use "paste" at all. You can just concatenate the matrices in octave

dlmwrite ("DATCOARSE", [time, xtemp], ",");

Upvotes: 1

Related Questions