Question: How to use printf with units or an alternative?


I have a funtion defined as 

a := diff(u*ln(m__o/(-q*t + m__o)) - g*t, t)

where m_0, q, g, and u are constants with dimensions. T is the variable and has dimensions as well. I need to print out columns of this function and other similar functions, v and h, in 4 seconds intervals of t. So what I have is this:

for i from -4 by 4 to 80 do
    if i = -4 then printf("%12s %18s %15s %15s \n", "time", "acceleration", "velocity", "altitude"); else printf("%10d %c %10.2f  %s %10.2f  %s %10.2f  %s \n", i, "s", eval(a, t = i), "ft/s^2", eval(v, t = i), "ft/s", eval(h, t = i), "mi"); end if;
end do

this works perfectly fine until I assign units to the constants and t. Then I get the error: Error, (in fprintf) number expected for floating point format. 

Then I also need to plot a v and h against t. Seems like plot doesn't work either with units.


So what do i do?


Please Wait...