MATLAB: Can’t solve function to variable.

motion controlsolveto variable

Hi Matlab users,
I'm an engineering student currently working on my thesis.
I'm quite new to Matlab and I can't seem to find a solution to my problem. It is as follows: I want to solve this equasion to 'vt', but I tried everything in my knowledge of Matlab without any succes. I also use the MathCAD software for my studies and that doesn't seem to work either (free version). I used functions like solve, root functions, evaluate .. all that seemed usable to me. I might use them incorrectly, but always the same result: that it can't solve the function or that no results have been found. That's why I'm asking you guys for help. I have no knowledge of real numeric methods and have also tried solving it by hand. Only when I assign numbers to the variables except to 'vt' it seems to give results.
Is it possible that this equasion isn't solvable using only symbols? All parameters are variable but known, except for 'vt'.
It is for a system that does a given acceleration starting from a given speed and then a given decceleration to a given position and ending speed within a given time interval. The only parameter I want to know is 'vt' as v-terminus, the terminal speed of the servo drive, to get to the position in time. It's for generating an S-curve from a set of linear functions (position-time) given by the user in a motion controlling tool.
this is the equation in text base:
eqn := ((vt-vo)/a)*(vo+((vt-vo)/2))+vt(tt-((vt-vo)/a)-((ve-vt)/a))+((ve-vt)/a)*(ve+(ve-vt)/2)-tt*vgem = 0
below it's more graphic:
Thank you!

Best Answer

You missed a multiplication operator
eqn := ((vt-vo)/a)*(vo+((vt-vo)/2))+vt*(tt-((vt-vo)/a)-((ve-vt)/a))+((ve-vt)/a)*(ve+(ve-vt)/2)-tt*vgem = 0
You had vt(tt- etc) instead of vt*(tt- etc .
With the change to insert the multiplication there is no difficulty.