The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Vector Coding
Replies: 6   Last Post: Nov 26, 2013 11:57 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 3
Registered: 11/26/13
Re: Vector Coding
Posted: Nov 26, 2013 2:36 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

I apologize for the inaccuracy in my typing. Gamma was a matrix (gamma(i)) and the atan2 argument had a comma rather than the division symbol.

After making the suggested changes, the issue of vertical asymptotes still exists. The revised code is listed below.


for row=1:m-2

TideMan <> wrote in message <>...
> On Wednesday, November 27, 2013 4:00:20 AM UTC+13, Douglas wrote:
> > Roger,
> >
> > I am trying to conduct an analysis of coordination between two adjacent segments called Vector coding (Chang et al., 2008; Journal of Biomechanics). The coupling angle is defined as the inverse tangent of the change in y divided by the change in x (see code below). However, I cannot condition my data such that I avoid the vertical asymptotes of the atan2 function. Can you please offer some suggestions.
> >
> >
> >
> > x and y are single column arrays with length m.
> >
> >
> >
> > [m,n]=size(x);
> >
> >
> >
> > for i=1:m-1
> >
> > gamma=atan2((y(i+1)-y(i))/(x(i+1)-x(i)))
> >
> > end

> There are several things wrong with your code:
> 1. gamma gets over-written each time through the loop, you should use gamma(i)
> 2. By default, i and j are sqrt(-1). You should not use i or j as indexes, especially for this particular task which is often easier using complex numbers.
> 3. atan2 takes two arguments. You have only one. You will find that if you use atan2 properly, it handles atan2(1,0) OK.
> 4. if you use gamma(i), you need to preallocate storage with gamma=zeros(m-1,1); before the loop.

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.