Plot an equation by calling a function
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi.
I tried to write a function and then call it to plot me y , it didn;t work out . could you please tell me what is wrong with it ?
Here is the function :
function [y]=myfunn(m,c,k,x0,v0,t)
w0=sqrt(k/m);
zeta=c/(2*sqrt(k*m));
if(zeta>0 && zeta<1)
y=(exp(zeta.*(-1).*t)).*((x0.*cos(w0.*sqrt(1-zeta.^2).*t))+(v0+zeta.*w0.*x0).*sin(sqrt(1-zeta.^2).*t)./(w0.*sqrt(1-zeta.^2)));
elseif(zeta==1)
y=(exp(zeta.*(-1).*t)).*(x0+t.*(zeta.*w0.*x0));
elseif(zeta>1)
y=(exp(zeta.*(-1).*t)).* ...
(((v0+(zeta+sqrt(zeta.^2-1)))).*exp(w0.*sqrt(zeta.^2-1).*t)./2.*w0.*sqrt(zeta.^2-1) + ...
((-v0+(-zeta+sqrt(zeta^2-1))))*exp(-1*w0.*sqrt(zeta.^2-1).*t)./2.*w0.*sqrt(zeta.^2-1));
end
end
And here is the script when I tried to call it and then plot it :
clc
clear
close all
m=input('Please enter mass : ')
c=input('Please enter damping : ')
k=input('Please enter stifness : ')
x0=input('Please enter x at t=0 : ')
v0=input('Please enter v at t=0 : ')
t=input('Please enter time : ')
[y]=myfunn(m,c,k,x0,v0,t);
t=linspace(0,t,100);
plot(t,y)
xlabel('time')
ylabel('x(t)')
grid on
hold on
Maybe I am wrong in calling a function ask ask it to plot .... Idk
3 comentarios
Rik
el 11 de Jul. de 2022
You received an answer. That is why you can no longer delete it. Materially editing your question will only make it confusing for future readers with a similar question.
Asking a second question is not a problem, but why mutilate the first question in order to do so?
Respuestas (1)
KSSV
el 9 de Jul. de 2022
It looks like your e in the function is exp. Change the function to:
function [y]=myfun(a,b,c,t)
if (a*b/c>1)
y = (exp(a))*sin(c.*t)./sqrt(b);
elseif (a*b/c<1 && a*b/c>0)
y = sin(a)*sqrt(b.*t)./sin(c);
elseif (a*b/c < 1)
y = cos(a)*exp(b.*t)./c;
end
end
If e is not exp, then you need to define e like a,b,c and input into the function.
3 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!