I need help with an error I get

1 view (last 30 days)
I have to write a bit of code for an assignment and I keep getting an error and I dont know how to solve it.
I have to determine the position, velocity and acceleration. funcao_forca is a function of a force that is defined in another script. It keeps telling me that F is not recognized. How do I go about this?
function [posicao, velocidade, aceleracao] = atleta(t, f, M)
f = funcao_forca(t,F);
dt = 1;
t1 = [0:dt:t];
aceleracao = zeros(size(t1));
aceleracao = f/M;
velocidade = zeros(size(t1));
for i = 2:length(t1)
velocidade(i) = velocidade(i-1) + aceleracao(i) * (t1(i) - t1(i-1));
end
posicao = zeros(size(t1));
for i = 2:length(t1)
posicao(i) = posicao(i-1) + velocidade(i-1) + 0.5 * aceleracao(i) * (t1(i) - t1(i-1))^2;
end
end

Accepted Answer

Stephen23
Stephen23 on 5 May 2024
Perhaps the input argument should be F (not f):
function [posicao, velocidade, aceleracao] = atleta(t, F, M)

More Answers (2)

Torsten
Torsten on 5 May 2024
Moved: Torsten on 5 May 2024
Define F before you call "funcao_forca". It's not set in your code.
Maybe you mean
F = funcao_forca(t,f);
because f is a given input to your function.

Venkat Siddarth Reddy
Venkat Siddarth Reddy on 5 May 2024
Edited: Venkat Siddarth Reddy on 5 May 2024
Hi Nathanael,
Variables in MATLAB are case-sensitive.In the first line of function definition, "F" has been used which isn't declared or defined before. I think you have accidentally typed it for the variable "f".
I hope it helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!