Re: [Scilab-users] using csvRead

2016-10-13 Thread CRETE Denis
Hello Philipp,

In this case I first attempt to read first (e.g. with “mopen” and “getl”) and 
then split the strings with “tokens” where the feature of multiple separators 
exists.
Of course you can also use “cvsRead” with one separator and then use “tokens” 
to finish with the other separators.
HTH
Denis

[@@ THALES GROUP INTERNAL @@]

Unité Mixte de Physique CNRS / THALES
1 Avenue Augustin Fresnel
91767 Palaiseau CEDEx - France
Tel : +33 (0)1 69 41 58 52 Fax : +33 (0)1 69 41 58 78
e-mail :
 denis.cr...@thalesgroup.com 

http://www.trt.thalesgroup.com/ump-cnrs-thales
http://www.research.thalesgroup.com

De : users [mailto:users-boun...@lists.scilab.org] De la part de Philipp 
Mühlmann
Envoyé : vendredi 14 octobre 2016 00:08
À : International users mailing list for Scilab.
Objet : [Scilab-users] using csvRead

Dear Scilab users,
having a data file (*.cvs) containg following format:

HEADER-Line
dd.mm., HH:MM:SS.MS, value01, value02

dd = day
mm = month
 = year
HH = hour
MM = minute
SS = second
Ms = milli second
ValueXY = numerical value

Is it possible to use cvsRead in such a way to define the separator beeing ',' 
and ':' at the same time?
Background:

desired Matrix after reading the file is
M = [dd mm  HH MM SS MS value1 value2]

Thank you,
Philipp

--
In Kanada is' ka' na' da. Sonst wär' Kanada Jemanda.

There we have the salad.
___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] display grid but not the axis

2016-10-13 Thread Rafael Guerra
Hi Frieder,

The code below draws the missing vertical grid when there are no x-axis 
displayed on the subplot (see picture attached):

x1 = (-10:0.5:10)';
y1 = sin(x1);
y2= 5*cos(x2);
y3= y2/2+y1;

clf()
subplot(3,1,1)
plot2d(x1,y1,color('red'),strf="020");   //no box surrounding plot
a=gca();
a.x_location = 'top';
a.axes_visible = ['on','on'];
xgrid;
subplot(3,1,2)
plot2d(x1,y2,color('blue'),strf="020"); no box surrounding plot
a=gca();
a.axes_visible = ['off','on'];
xgrid;
x = [a.data_bounds(1,1),a.data_bounds(2,1)];
y = [a.data_bounds(1,2),a.data_bounds(2,2)];
x = (x(2)-x(1))*a.x_ticks.locations + x(1);
n= length(x);
for i=1:n
xpoly([x(i),x(i)],y);
e=gce();
e.line_style=3;
end
subplot(3,1,3)
plot2d(x1,y3,strf="020")
a=gca();
a.axes_visible = ['on','on'];
xgrid;


Regards,
Rafael

From: users [mailto:users-boun...@lists.scilab.org] On Behalf Of Friede
r Nikolaisen
Sent: Thursday, October 13, 2016 2:05 PM
To: mailto:users@lists.scilab.org
Subject: [Scilab-users] Fwd: Re: Fwd: plotxxyyy

 
Dear community,
thank you for you support. I get now wonderful plots.
 
There is still a feature missing: Plot two has not x grid. How to add a grid 
without a axis? (I tried a bit with newaxis... no success)
subplot(3, 1, 2)
co = color("blue"); 
plot2d(x1, y2, co);
b = gca();
b.font_color = co; 
b.foreground = co;
b.axes_visible(1) = "off"; xgrid(co, 1, 10)
 
 
 
This code works well now: 
subplot(3, 1, 3)
co=color("red");
plot2d(x1, y3, co); 
xgrid(co, 1, 10)
c = gca(); 
c.font_color = co; 
c.foreground = co; 
c.data_bounds = [min(x1),min(y3); max(x1),max(y3)+(max(y3)-min(y3))*0.45]
//c.axes_visible(1) = "off"; 
ylabel(string(kT(y_3)),"color",co)
xlabel('Sekunden')

x= (A(:,1) - A(1,1)) * 24 * 3600;
//Input parameters for plotting the measurement numbers with optional gaps and 
stacking to avoid overlapping 
nstack=5;//maximum number of stacked measurement numbers
hstack=0.3;//height of measurement number stack (relative to window height)
ybase=max(y3)*1; //base ordinate for measurement numbers
yspan=max(y3)-min(y3);
plot(x1(M),y3(M), 'ko') // fügt schwarze dots hinzu
for m=1:length(M) //Beschriftung

xstring(x1(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))  
 
set(handles.Anzeige, 'string', 'Diagrammbeschriftung ' + string(k) + ' von ' + 
string(A_size(1,1)))
end
 
 
If I have a few hours nothingelse to do, I will try to solve the prolbem with 
Denis sparse function. With out using a for loop, it will be faster. 
Best regards
Frieder
 
PS: I wanted to send two plots, but they are 111kB. I plead for a higher limit. 
 
___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Fwd: Re: Fwd: plotxxyyy

2016-10-13 Thread Jens Simon Strom

Hi FRieder,
The plots look really beautiful. Congratulation!

Normally you should always have an axis. To produce a grid without 
'grid' ('cax.grid=[1 1]', see 'axes_properties', 'grid' in the help 
pages) you can use


x=0:10;  y=-5:5;
[X,Y]=ndgrid(x,y);
xdel();
plot(X,Y)
plot(X',Y')

Kind regards
Jens

.---
Am 13.10.2016 14:05, schrieb Frieder Nikolaisen:


Dear community,

thank you for you support. I get now wonderful plots.

There is still a feature missing: Plot two has not x grid. *How to add 
a grid without a axis?* (I tried a bit with newaxis... no success)


subplot(3,  1,  2)
co  =  color("blue");  
plot2d(x1,  y2,  co);

b  =  gca();
b.font_color  =  co;  
b.foreground  =  co;

*b.axes_visible(1) = "off"; xgrid(co, 1, 10)*
  
  
  
This code works well now:

subplot(3,  1,  3)
co=color("red");
plot2d(x1,  y3,  co);  
xgrid(co,  1,  10)
c  =  gca();  
c.font_color  =  co;  
c.foreground  =  co;  
c.data_bounds  =  [min(x1),min(y3);  max(x1),max(y3)+(max(y3)-min(y3))*0.45]

//c.axes_visible(1) ="off";
ylabel(string(kT(y_3)),"color",co)
xlabel('Sekunden')

x=  (A(:,1)  -  A(1,1))  *  24  *  3600;
//Input parameters for plotting the measurement numbers with optional gaps and 
stacking to avoid overlapping
nstack=5;//maximum number of stacked measurement numbers
hstack=0.3;//height of measurement number stack (relative to window height)
ybase=max(y3)*1;  //base ordinate for measurement numbers
yspan=max(y3)-min(y3);
plot(x1(M),y3(M),  'ko')  // fügt schwarze dots hinzu
for  m=1:length(M)  //Beschriftung
 xstring(x1(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))
set(handles.Anzeige,  'string',  'Diagrammbeschriftung'  +  string(k)  +  '  von'  +  string(A_size(1,1)))

end
  
  
If I have a few hours nothingelse to do, I will try to solve the prolbem withDenis sparse function. With out using a for loop, it will be faster.

Best regards
Frieder
  
PS: I wanted to send two plots, but they are 111kB. I plead for a higher limit.
  


On 2016-10-12 20:15, Jens Simon Strom wrote:

Hallo Frieder,
If you insert
  plot(x(M),y(M),'go') after//Writing measurement numbers


you get circle marks at the selected points to ease their correlation to 
the measurement number.

Kind regards
Jens
---


Am 12.10.2016 18:16, schrieb Jens Simon Strom:

Hallo Frieder,
You can independently combine stack and skip of the
measurement numbers by the code below.

//Plotting measurement numbers with optional gaps and optional stacking 
to avoid overlapping
//Generating dummy measurement data x,y and plotting them
dx=0.5:50;// increment of x
x=cumsum(dx);
y=sind(x);
yspan=max(y)-min(y);
nM=length(x);//number of measurements
xdel();
plot(x,y,'r')
plot(x,y,'b+')

//Input parameters for plotting the measurement numbers with optional 
gaps and stacking to avoid overlapping
nstack=6;//maximum number of stacked measurement numbers
hstack=0.1;//height of measurement number stack (relative to span). 
hstack=0: no stacking independent of nstack
ybase=-1;  //base ordinate for measurement numbers
step=2;// step=1: no gap, step=2: every second measurement number, etc.

//Writing measurement numbers
M=1:step:nM;//opted measurement numbers
   for  m=1:length(M)   
   xstring(x(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))

end


"How can I move the lettering above the plot (or at least to the bottom, 
next to the x-axis)?"By data_bounds (see axes_properties in the help pages) you can 
enlarge the y-axis beyond the y data span at will.The y-level of the lettering is 
controlled by the input variable 'ybase' (see code above).


Kind regards
Jens

-

Am 12.10.2016 14:01, schrieb Frieder Nikolaisen:

Hello everybody,

I did solve the Problem with showing only 10 line numbers,
by using IF.

printer=1

for  k=1:A_size(1,1)  //Beschriftung
 *if k>A_size(1,1)*(printer/10) then*  
 printer  =  printer  +  1
 xstring(x(k),y3(1),string(k))
 // xstring(x,y,str,[angle,[box]])
 end  
set(handles.Anzeige,  'string',  'Diagrammbeschriftung'  +  string(k)  +  '  von'  +  string(A_size(1,1)))

end

  


The line numbering is connected to the y-axis. How can I move the 
lattering aboth the plot (or at least the bottom, next to the x-axis)? 
(attached plot: subplot_with_line_number_2_tenth.gif)


[Scilab-users] Fwd: Re: Fwd: plotxxyyy

2016-10-13 Thread Frieder Nikolaisen
 

Dear community, 

thank you for you support. I get now wonderful
plots. 

There is still a feature missing: Plot two has not x grid. HOW
TO ADD A GRID WITHOUT A AXIS? (I tried a bit with newaxis... no success)


subplot(3, 1, 2)
co = color("blue"); 
plot2d(x1, y2, co);
b =
gca();
b.font_color = co; 
b.foreground = co;
B.AXES_VISIBLE(1) = "OFF";
XGRID(CO, 1, 10)

This code works well now: 

subplot(3, 1,
3)
co=color("red");
plot2d(x1, y3, co); 
xgrid(co, 1, 10)
c = gca();

c.font_color = co; 
c.foreground = co; 
c.data_bounds =
[min(x1),min(y3);
max(x1),max(y3)+(max(y3)-min(y3))*0.45]
//c.axes_visible(1) = "off";

ylabel(string(kT(y_3)),"color",co)
xlabel('Sekunden')

x= (A(:,1) -
A(1,1)) * 24 * 3600;
//Input parameters for plotting the measurement
numbers with optional gaps and stacking to avoid overlapping

nstack=5;//maximum number of stacked measurement
numbers
hstack=0.3;//height of measurement number stack (relative to
window height)
ybase=max(y3)*1; //base ordinate for measurement
numbers
yspan=max(y3)-min(y3);
plot(x1(M),y3(M), 'ko') // fügt schwarze
dots hinzu
for m=1:length(M) //Beschriftung

xstring(x1(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))

set(handles.Anzeige, 'string', 'Diagrammbeschriftung ' + string(k) + '
von ' + string(A_size(1,1)))
end

If I have a few hours nothingelse to
do, I will try to solve the prolbem with Denis sparse function. With out
using a for loop, it will be faster. 

Best regards 
Frieder 

PS: I
wanted to send two plots, but they are 111kB. I plead for a higher
limit. 

On 2016-10-12 20:15, Jens Simon Strom wrote: 

> Hallo
Frieder,
> If you insert 
> plot(x(M),y(M),'go') after //Writing
measurement numbers
> 
> you get circle marks at the selected points to
ease their correlation to the measurement number.
> 
> Kind regards
>
Jens
> ---
> 
>
Am 12.10.2016 18:16, schrieb Jens Simon Strom: 
> 
>> Hallo Frieder,
>>
You can independently combine stack and skip of the measurement numbers
by the code below. 
>> 
>> //Plotting measurement numbers with optional
gaps and optional stacking to avoid overlapping
>> //Generating dummy
measurement data x,y and plotting them
>> dx=0.5:50;// increment of x
>>
x=cumsum(dx);
>> y=sind(x);
>> yspan=max(y)-min(y);
>>
nM=length(x);//number of measurements
>> xdel();
>> plot(x,y,'r')
>>
plot(x,y,'b+')
>> 
>> //Input parameters for plotting the measurement
numbers with optional gaps and stacking to avoid overlapping 
>>
nstack=6;//maximum number of stacked measurement numbers
>>
hstack=0.1;//height of measurement number stack (relative to span).
hstack=0: no stacking independent of nstack 
>> ybase=-1; //base
ordinate for measurement numbers
>> step=2;// step=1: no gap, step=2:
every second measurement number, etc.
>> 
>> //Writing measurement
numbers
>> M=1:step:nM;//opted measurement numbers
>> for m=1:length(M)

>>
xstring(x(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))
>>
end
>> 
>> "How can I move the lettering above the plot (or at least to
the bottom, next to the x-axis)?" By data_bounds (see axes_properties in
the help pages) you can enlarge the y-axis beyond the y data span at
will. The y-level of the lettering is controlled by the input variable
'ybase' (see code above). 
>> 
>> Kind regards
>> Jens
>>
-
>>

>> Am 12.10.2016 14:01, schrieb Frieder Nikolaisen: 
>> 
>>> Hello
everybody, 
>>> 
>>> I did solve the Problem with showing only 10 line
numbers, by using IF. 
>>> 
>>> printer=1
>>> 
>>> for k=1:A_size(1,1)
//Beschriftung
>>> IF K>A_SIZE(1,1)*(PRINTER/10) THEN 
>>> printer =
printer + 1
>>> xstring(x(k),y3(1),string(k)) 
>>> //
xstring(x,y,str,[angle,[box]])
>>> end 
>>> set(handles.Anzeige,
'string', 'Diagrammbeschriftung ' + string(k) + ' von ' +
string(A_size(1,1)))
>>> end
>>> 
>>> The line numbering is connected to
the y-axis. How can I move the lattering aboth the plot (or at least the
bottom, next to the x-axis)? (attached plot:
subplot_with_line_number_2_tenth.gif)
>>> 
>>> About Jens help: 
>>>

>>> I attached three plots: the stacks Picture are with the Code of
Jens. Stacking is really nice, but I do not need every line number. With
921 data Points, it is already unreadable again. But thanks for your
ideas, the Code is great for learningn anyway. 
>>> 
>>> Cheers
>>> 
>>>
Frieder 
>>> 
>>> On 2016-10-12 11:48, Jens Simon Strom wrote: 
>>>

 Hello Frieder,
 Your plots look better now. You can avoid
overlapping of measurement numbers by sawtooth stacking them. See
example code below.
 
 xdel();
 //Generating dummy
measurements x,y
 dx=0.5:50;
 x=cumsum(dx);
 y=sind(x);

nM=length(x);//number of measurements
 plot(x,y,'r')

plot(x,y,'b+')
 //Plotting the measurement numbers in stacks to
avoid overlapping 
 nstack=6;//number of stacked 

Re: [Scilab-users] inserting data into a bigger matrix

2016-10-13 Thread Rafael Guerra
Hi Denis,

Thanks for sharing a neat and mind-blowing solution.
It is much faster and with huge memory savings.

Kind regards,
Rafael

From: users [mailto:users-boun...@lists.scilab.org] On Behalf Of CRETE Denis
Sent: Wednesday, October 12, 2016 3:32 PM
To: Users mailing list for Scilab 
Subject: Re: [Scilab-users] inserting data into a bigger matrix

Hello,
Assuming input data are stored in
I = [0,0,0,1; 10, 0, 3, 1;15, 30, 0, 1;18, 0, 45, 0;36, 57, 28, 0];
there might be also a solution using the “sparse” function:

Nb_Dat=size(I);
Time= I(:,1);
ij=[1+ones(Nb_Dat(2),1).*.Time,(1:Nb_Dat(2))'.*.ones(Time)] ;
sp=sparse(ij,I);
// Display full Matrix
full(sp)

and it may be more efficient (?) writing it on a single line:
sp2=sparse([1+ones(size(I,'c'),1).*. I(:,1),(1: 
size(I,'c'))'.*.ones(I(:,1))],I);

HTH.
Denis

De : users [mailto:users-boun...@lists.scilab.org] De la part de Philipp 
Mühlmann
Envoyé : mercredi 12 octobre 2016 14:55
À : Users mailing list for Scilab
Objet : Re: [Scilab-users] inserting data into a bigger matrix

charming...exactly what I need.

2016-10-12 14:45 GMT+02:00 Rafael Guerra 
>:
Hi Philipp,

Does the simple code here below meet the requirements?

I = [0,0,0,1; 10, 0, 3, 1;15, 30, 0, 1;18, 0, 45, 0;36, 57, 28, 0];
ix1=I(1,1);
ix2=I($,1);
ix=ix1:ix2;
M=zeros(length(ix),4);
M(1:$,1) = ix';
M(I(:,1)+1,:)=I;

PS:
It should be easy to adapt it for a general time series consisting of floats 
and constant time-sampling.

Regards,
Rafael

From: users 
[mailto:users-boun...@lists.scilab.org] 
On Behalf Of Philipp Mühlmann
Sent: Wednesday, October 12, 2016 2:16 PM
To: International users mailing list for Scilab. 
>
Subject: [Scilab-users] inserting data into a bigger matrix

Dear Scialb users,


how to insert time based data into a pre-defined Matrix without using a 
for-loop?

The data points are not equally spaced in time.


example:
// assuming DATA includes 5 data Points
// each dat Point consists of 4 variable
// first variable = time

//datafile could look like

Time, Var1, Var2, Var3
0, 0, 0, 1
10, 0, 3, 1
15, 30, 0, 1
18, 0, 45, 0
36, 57, 28, 0

Assume that a timestep of 1 second is wanted.

desired result should look like this:

M =
0 0 0 1
1 0 0 0
2 0 0 0
3 0 0 0.
...
10 0 3 1
...
15 30 0 1
...
18 0 45 0
...
36 57 28 0

so "M" is bigger than the original dataset.

Again, I think I could do this using for-loops.
This could be OK for small dataset, but maybe become slow for huge data sets (> 
100'000 data points).

Thanks,
Philipp




Thanks,
Philipp





--
In Kanada is' ka' na' da. Sonst wär' Kanada Jemanda.

There we have the salad.

___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users



--
In Kanada is' ka' na' da. Sonst wär' Kanada Jemanda.

There we have the salad.
___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Fwd: plotxxyyy

2016-10-13 Thread Frieder Nikolaisen
 

Hi Jens and Samuel, 

thanks. I am going to include your tips.


Best regards 

Frieder 

On 2016-10-12 20:15, Jens Simon Strom wrote:


> Hallo Frieder,
> If you insert 
> plot(x(M),y(M),'go') after
//Writing measurement numbers
> 
> you get circle marks at the selected
points to ease their correlation to the measurement number.
> 
> Kind
regards
> Jens
>
---
> 
> Am
12.10.2016 18:16, schrieb Jens Simon Strom: 
> 
>> Hallo Frieder,
>> You
can independently combine stack and skip of the measurement numbers by
the code below. 
>> 
>> //Plotting measurement numbers with optional
gaps and optional stacking to avoid overlapping
>> //Generating dummy
measurement data x,y and plotting them
>> dx=0.5:50;// increment of x
>>
x=cumsum(dx);
>> y=sind(x);
>> yspan=max(y)-min(y);
>>
nM=length(x);//number of measurements
>> xdel();
>> plot(x,y,'r')
>>
plot(x,y,'b+')
>> 
>> //Input parameters for plotting the measurement
numbers with optional gaps and stacking to avoid overlapping 
>>
nstack=6;//maximum number of stacked measurement numbers
>>
hstack=0.1;//height of measurement number stack (relative to span).
hstack=0: no stacking independent of nstack 
>> ybase=-1; //base
ordinate for measurement numbers
>> step=2;// step=1: no gap, step=2:
every second measurement number, etc.
>> 
>> //Writing measurement
numbers
>> M=1:step:nM;//opted measurement numbers
>> for m=1:length(M)

>>
xstring(x(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m)))
>>
end
>> 
>> "How can I move the lettering above the plot (or at least to
the bottom, next to the x-axis)?" By data_bounds (see axes_properties in
the help pages) you can enlarge the y-axis beyond the y data span at
will. The y-level of the lettering is controlled by the input variable
'ybase' (see code above). 
>> 
>> Kind regards
>> Jens
>>
-
>>

>> Am 12.10.2016 14:01, schrieb Frieder Nikolaisen: 
>> 
>>> Hello
everybody, 
>>> 
>>> I did solve the Problem with showing only 10 line
numbers, by using IF. 
>>> 
>>> printer=1
>>> 
>>> for k=1:A_size(1,1)
//Beschriftung
>>> IF K>A_SIZE(1,1)*(PRINTER/10) THEN 
>>> printer =
printer + 1
>>> xstring(x(k),y3(1),string(k)) 
>>> //
xstring(x,y,str,[angle,[box]])
>>> end 
>>> set(handles.Anzeige,
'string', 'Diagrammbeschriftung ' + string(k) + ' von ' +
string(A_size(1,1)))
>>> end
>>> 
>>> The line numbering is connected to
the y-axis. How can I move the lattering aboth the plot (or at least the
bottom, next to the x-axis)? (attached plot:
subplot_with_line_number_2_tenth.gif)
>>> 
>>> About Jens help: 
>>>

>>> I attached three plots: the stacks Picture are with the Code of
Jens. Stacking is really nice, but I do not need every line number. With
921 data Points, it is already unreadable again. But thanks for your
ideas, the Code is great for learningn anyway. 
>>> 
>>> Cheers
>>> 
>>>
Frieder 
>>> 
>>> On 2016-10-12 11:48, Jens Simon Strom wrote: 
>>>

 Hello Frieder,
 Your plots look better now. You can avoid
overlapping of measurement numbers by sawtooth stacking them. See
example code below.
 
 xdel();
 //Generating dummy
measurements x,y
 dx=0.5:50;
 x=cumsum(dx);
 y=sind(x);

nM=length(x);//number of measurements
 plot(x,y,'r')

plot(x,y,'b+')
 //Plotting the measurement numbers in stacks to
avoid overlapping 
 nstack=6;//number of stacked measurement
numbers
 hstack=0.2;//height of measurement number stack (relative
to window height)
 ybase=-0.9; //base ordinate for measurement
numbers
 yspan=max(y)-min(y);
 for m=1:nM//measurement
number

xstring(x(m),ybase+(modulo(m,nstack)-1)*hstack*yspan/nstack,string(m))

end
 Kind regards
 Jens

--


 Am 12.10.2016 10:52, schrieb Frieder Nikolaisen: 
 
>
Hello, 
> 
> thank you for all the feedback and help. It's
really great. 
> 
> I used the idea of Jens Simon Strom combined
with some help from last week: 
> 
> //Datensätze 
> x1 =
(A(:,1) - A(1,1)) * 24 * 3600;
> y1 = A(:,y_1);
> y2 =
A(:,y_2);
> y3 = A(:,y_3);
> drawlater()
> 
> subplot(3,
1, 1)
> co = color("green"); 
> plot2d(x1, y1, co);
> a =
gca();
> b.font_color = co; 
> a.foreground = co;
>
ylabel(string(kT(y_1)),"color",co)
> a.x_location = 'top';
>

> subplot(3, 1, 2)
> co = color("blue"); 
> plot2d(x1, y2,
co);
> b = gca();
> b.font_color = co; 
> b.foreground =
co;
> ylabel(string(kT(y_2)),"color",co)
> b.axes_visible(1) =
"off"; 
> //b.marings = [0.1 0.1 0.3 0.5]; 
> //b.filled =
"off"; 
> subplot(3, 1, 3)
> co=color("red");
> plot2d(x1,
y3, co); 
> c = gca();