Re: [R] Plotting one dot in a graph

2010-08-12 Thread TGS
Yes, I'm playing around with other things but the points() function is what I 
was looking for. Thanks

On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:43 PM, TGS wrote:

 I'd like to plot a point at the intersection of these two curves. Thanks
 
 x - seq(.2, .3, by = .01)
 f - function(x){
   x*cos(x)-2*x**2+3*x-1
 }
 
 plot(x,f(x), type = l)
 abline(h = 0)

Would this just be the uniroot strategy applied to f? You then plot the x and 
y values with points()

-- 

David Winsemius, MD
West Hartford, CT

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Plotting one dot in a graph

2010-08-12 Thread TGS
Actually I spoke too soon David.

I'm looking for a function that will either tell me which point is the 
intersection so that I'd be able to plot a point there.

Or, if I have to solve for the roots in the ways which were demonstrated 
yesterday, then would I be able to specify what the horizontal line is, for 
instance in the case where y (is-not) 0?

On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:43 PM, TGS wrote:

 I'd like to plot a point at the intersection of these two curves. Thanks
 
 x - seq(.2, .3, by = .01)
 f - function(x){
   x*cos(x)-2*x**2+3*x-1
 }
 
 plot(x,f(x), type = l)
 abline(h = 0)

Would this just be the uniroot strategy applied to f? You then plot the x and 
y values with points()

-- 

David Winsemius, MD
West Hartford, CT

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Plotting one dot in a graph

2010-08-12 Thread David Winsemius


On Aug 12, 2010, at 3:54 PM, TGS wrote:


Actually I spoke too soon David.

I'm looking for a function that will either tell me which point is  
the intersection so that I'd be able to plot a point there.


Or, if I have to solve for the roots in the ways which were  
demonstrated yesterday, then would I be able to specify what the  
horizontal line is, for instance in the case where y (is-not) 0?


Isn't the abline h=0 represented mathematically by the equation y=0  
and therefore you are solving just for the zeros of f (whaich are  
the same as for (f-0)? If it were something more interesting, like  
solving the intersection of two polynomials, you would be solving for  
the  zeros of the difference of the equations. Or maybe I have not  
understood what you were requesting?





On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:43 PM, TGS wrote:

I'd like to plot a point at the intersection of these two curves.  
Thanks


x - seq(.2, .3, by = .01)
f - function(x){
x*cos(x)-2*x**2+3*x-1
}

plot(x,f(x), type = l)
abline(h = 0)


Would this just be the uniroot strategy applied to f? You then  
plot the x and y values with points()








David Winsemius, MD
West Hartford, CT

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Plotting one dot in a graph

2010-08-12 Thread TGS
I was meaning something like the following:

x - seq(.2, .3, by = .01)
f - function(x){
x*cos(x)-2*x**2+3*x-1
}
plot(x,f(x), type = l)
abline(h = -.1)

But I'm guessing uniroot will do this?---I haven't looked far into the 
uniroot function to see if it will solve this.

On Aug 12, 2010, at 1:00 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:54 PM, TGS wrote:

 Actually I spoke too soon David.
 
 I'm looking for a function that will either tell me which point is the 
 intersection so that I'd be able to plot a point there.
 
 Or, if I have to solve for the roots in the ways which were demonstrated 
 yesterday, then would I be able to specify what the horizontal line is, for 
 instance in the case where y (is-not) 0?

Isn't the abline h=0 represented mathematically by the equation y=0 and 
therefore you are solving just for the zeros of f (whaich are the same as for 
(f-0)? If it were something more interesting, like solving the intersection of 
two polynomials, you would be solving for the  zeros of the difference of the 
equations. Or maybe I have not understood what you were requesting?


 
 On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:
 
 
 On Aug 12, 2010, at 3:43 PM, TGS wrote:
 
 I'd like to plot a point at the intersection of these two curves. Thanks
 
 x - seq(.2, .3, by = .01)
 f - function(x){
  x*cos(x)-2*x**2+3*x-1
 }
 
 plot(x,f(x), type = l)
 abline(h = 0)
 
 Would this just be the uniroot strategy applied to f? You then plot the x 
 and y values with points()
 

 

David Winsemius, MD
West Hartford, CT

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Plotting one dot in a graph

2010-08-12 Thread TGS
# just to clean it up for my own understanding, the difference approach as 
you had suggested would be

x - seq(.2, .3, by = .1)
f1 - function(x){
x*cos(x)-2*x**2+3*x-1
}
plot(x,f1(x), type = l)
abline(h = -.1)
abline(v = x[which.min(abs(diff((f1(x) - (-.1))**2)))], lty = 'dotted')
points(x = x[which.min(abs(diff((f1(x) - (-.1))**2)))], y = -.1)

# and the uniroot approach is:

x - seq(.2, .3, by = .01)
f1 - function(x){
x*cos(x)-2*x**2+3*x-1
}
f2 - function(x){
-.1
}
f3 - function(x){
f1(x) - f2(x)
}
plot(x,f1(x), type = l)
abline(h = -.1)
abline(v = uniroot(f = f3, interval = c(.2, .3))$root, lty = 'dotted')
points(x = uniroot(f = f3, interval = c(.2, .3))$root, y = -.1)

# Thanks David!


On Aug 12, 2010, at 1:33 PM, David Winsemius wrote:


On Aug 12, 2010, at 4:15 PM, TGS wrote:

 David, I was expecting this to work but how would I specify the vector in 
 diff() in order for the following to work?
 
 x - seq(.2, .3, by = .01)
 f - function(x){
   x*cos(x)-2*x**2+3*x-1
 }
 plot(x,f(x), type = l)
 abline(h = -.1)
 abline(v = x[which.min(abs(diff(c(-.1, f(x)], lty = 'dotted')

f2 - function(x) -0.1
f3 - function(x) f(x) -f2(x)
abline(v=uniroot(f3, c(0.2, 0.3) )$root)
points(x=uniroot(f3, c(0.2, 0.3) )$root, y= -0.1)

If you are going to use the differences, then you probably want to minimize 
either the abs() or the square of the differences.

-- 
David.
 
 On Aug 12, 2010, at 1:00 PM, David Winsemius wrote:
 
 
 On Aug 12, 2010, at 3:54 PM, TGS wrote:
 
 Actually I spoke too soon David.
 
 I'm looking for a function that will either tell me which point is the 
 intersection so that I'd be able to plot a point there.
 
 Or, if I have to solve for the roots in the ways which were demonstrated 
 yesterday, then would I be able to specify what the horizontal line is, for 
 instance in the case where y (is-not) 0?
 
 Isn't the abline h=0 represented mathematically by the equation y=0 and 
 therefore you are solving just for the zeros of f (whaich are the same as 
 for (f-0)? If it were something more interesting, like solving the 
 intersection of two polynomials, you would be solving for the  zeros of the 
 difference of the equations. Or maybe I have not understood what you were 
 requesting?
 
 
 
 On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:
 
 
 On Aug 12, 2010, at 3:43 PM, TGS wrote:
 
 I'd like to plot a point at the intersection of these two curves. Thanks
 
 x - seq(.2, .3, by = .01)
 f - function(x){
 x*cos(x)-2*x**2+3*x-1
 }
 
 plot(x,f(x), type = l)
 abline(h = 0)
 
 Would this just be the uniroot strategy applied to f? You then plot the x 
 and y values with points()
 
 
 
 
 David Winsemius, MD
 West Hartford, CT
 
 

David Winsemius, MD
West Hartford, CT

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Plotting one dot in a graph

2010-08-12 Thread David Winsemius
OK, looks sensible, although I said either abs() OR squared  
differences. I don't think it makes sense to use both the L1 and the  
L2 metric at the same time.


--
David.
On Aug 12, 2010, at 4:58 PM, TGS wrote:

# just to clean it up for my own understanding, the difference  
approach as you had suggested would be


x - seq(.2, .3, by = .1)
f1 - function(x){
x*cos(x)-2*x**2+3*x-1
}
plot(x,f1(x), type = l)
abline(h = -.1)
abline(v = x[which.min(abs(diff((f1(x) - (-.1))**2)))], lty =  
'dotted')

points(x = x[which.min(abs(diff((f1(x) - (-.1))**2)))], y = -.1)

# and the uniroot approach is:

x - seq(.2, .3, by = .01)
f1 - function(x){
x*cos(x)-2*x**2+3*x-1
}
f2 - function(x){
-.1
}
f3 - function(x){
f1(x) - f2(x)
}
plot(x,f1(x), type = l)
abline(h = -.1)
abline(v = uniroot(f = f3, interval = c(.2, .3))$root, lty = 'dotted')
points(x = uniroot(f = f3, interval = c(.2, .3))$root, y = -.1)

# Thanks David!


On Aug 12, 2010, at 1:33 PM, David Winsemius wrote:


On Aug 12, 2010, at 4:15 PM, TGS wrote:

David, I was expecting this to work but how would I specify the  
vector in diff() in order for the following to work?


x - seq(.2, .3, by = .01)
f - function(x){
x*cos(x)-2*x**2+3*x-1
}
plot(x,f(x), type = l)
abline(h = -.1)
abline(v = x[which.min(abs(diff(c(-.1, f(x)], lty = 'dotted')


f2 - function(x) -0.1
f3 - function(x) f(x) -f2(x)
abline(v=uniroot(f3, c(0.2, 0.3) )$root)
points(x=uniroot(f3, c(0.2, 0.3) )$root, y= -0.1)

If you are going to use the differences, then you probably want to  
minimize either the abs() or the square of the differences.


--
David.


On Aug 12, 2010, at 1:00 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:54 PM, TGS wrote:


Actually I spoke too soon David.

I'm looking for a function that will either tell me which point is  
the intersection so that I'd be able to plot a point there.


Or, if I have to solve for the roots in the ways which were  
demonstrated yesterday, then would I be able to specify what the  
horizontal line is, for instance in the case where y (is-not) 0?


Isn't the abline h=0 represented mathematically by the equation y=0  
and therefore you are solving just for the zeros of f (whaich are  
the same as for (f-0)? If it were something more interesting, like  
solving the intersection of two polynomials, you would be solving  
for the  zeros of the difference of the equations. Or maybe I have  
not understood what you were requesting?





On Aug 12, 2010, at 12:47 PM, David Winsemius wrote:


On Aug 12, 2010, at 3:43 PM, TGS wrote:

I'd like to plot a point at the intersection of these two curves.  
Thanks


x - seq(.2, .3, by = .01)
f - function(x){
x*cos(x)-2*x**2+3*x-1
}

plot(x,f(x), type = l)
abline(h = 0)


Would this just be the uniroot strategy applied to f? You then  
plot the x and y values with points()








David Winsemius, MD
West Hartford, CT




David Winsemius, MD
West Hartford, CT




__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.