How to marker a fplot(anonymous function) function on a specific point which user enters.
1 次查看(过去 30 天)
显示 更早的评论
Hello, I wrote a function which needs a (t) as input and it graphs something i want to marker the point which user inputs on the graph for example if user defines t=10 I want to marker the graph on point t=10 and x(t)=10. how should I do that. here is my code
function x=calcDisplacement(t)
m=1100;
k=570;
c=430;
x0=0.05;
v0=0;
omega_d = sqrt((4*m*k)-(c^2))/(2*m);
sigma = c/(2*m);
alpha = x0/2;
beta = -((v0+x0)/(2*(omega_d)));
displacement=@(t) 2*exp(-2*(sigma).*t).*(((alpha)*cos((omega_d).*t))-(beta)*sin((omega_d).*t));
x=displacement(t);
fplot(displacement,[0 50],'color','blue')
ylim([-0.1 0.1])
legend ('Displacement of suspension')
ylabel('Displacement(m)')
xlabel('Time(s)')
title('Graph of displacement in car suspension')
hold on;
end
0 个评论
采纳的回答
Turlough Hughes
2021-8-24
编辑:Turlough Hughes
2021-8-24
You can add it in at the end of your function using plot:
function x=calcDisplacement(t)
m=1100;
k=570;
c=430;
x0=0.05;
v0=0;
omega_d = sqrt((4*m*k)-(c^2))/(2*m);
sigma = c/(2*m);
alpha = x0/2;
beta = -((v0+x0)/(2*(omega_d)));
displacement=@(t) 2*exp(-2*(sigma).*t).*(((alpha)*cos((omega_d).*t))-(beta)*sin((omega_d).*t));
x=displacement(t);
fplot(displacement,[0 50],'color','blue')
ylim([-0.1 0.1])
ylabel('Displacement(m)')
xlabel('Time(s)')
title('Graph of displacement in car suspension')
hold on;
plot(t,x,'ok','LineWidth',2)
legend ('Displacement of suspension','point of interest')
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Line Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!