how do I find the x-axis value from my yline intercept on my acceleration curve
4 次查看(过去 30 天)
显示 更早的评论
I have an acceleration curve and i need to find the 0-60mph (0-26.8224m/s) Stuck on how to get there, currently only have a yline that shows where 26.8224m/s along the y-axis. Please help! Here's my code and a picture of the graph:
figure(6)
P1 = plot(tout,yout(:,1));
xlabel('Time (s)')
ylabel('Velocity (m/s)')
grid on
set(P1,'linewidth',2)
title('Acceleration Curve')
yline(26.8224)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1527291/image.jpeg)
2 个评论
Dyuman Joshi
2023-11-2
@Sam, what is the relation between velocity and time? Do you have an expression/equation?
采纳的回答
Voss
2023-11-1
% some data:
tout = (0:60).';
yout = 10*log(tout+1);
y_val = 26.8224;
% your plot:
P1 = plot(tout,yout(:,1),'linewidth',2);
xlabel('Time (s)')
ylabel('Velocity (m/s)')
grid on
title('Acceleration Curve')
yline(y_val)
% find the t value where y is y_val:
t0 = interp1(yout(:,1),tout,y_val)
% plot a vertical red line to that point on the curve:
hold on
plot([t0,t0],[0,y_val],'--r')
4 个评论
Voss
2023-11-3
Linear interpolation gives a point on the curve MATLAB plotted. If there's a non-linear function underlying that curve, use an interpolation method suitable to that function in your judgment.
Dyuman Joshi
2023-11-3
But you chose a non-linear function, then why did you use linear interpolation?
Also, the point obtained by linear interpolation is not correct -
syms t
eqn = 10*log(t+1) - 26.8224 == 0;
t = solve(eqn, t)
vpa(t)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!