Matlab - Ciclos for para Matlab

 
Vista:

Ciclos for para Matlab

Publicado por Simona (15 intervenciones) el 17/08/2013 07:39:53
Hola! Cómo están?
Necesito un poco de ayuda con este código en Matlab es la simulación de un objeto masa-resorte y tengo dos problemas
1. Cómo lo animo,se que es con un for, pero me ha quedado un poco di´ficil allí
2. Cuando le dpy click a mi figure, la (2) y la (1) después de un click, se convierten en la esfera 3D, Porqué puede pasar esto?
Ini
cl.c;m
clear;
clf; % limpia pantalla, variables y figura
m=input('masa: ');
b=input('amortiguador: ');
que=input('resorte: ');
t = linspace(0,10,1000); % tiempo de simulación
x0 = [0;0]; % condiciones iniciales
[t,por] = ode45(@mra,t,x0,'',[m,b,que]); % solución de la EDO
figure(1)
subplot(2,1,1)
plot(t,por(:,1)) % gráfica intentar
% legend('intentar')
xlabel('Tiempo t(es)')
ylabel('Intentar')
subplot(2,1,2)
plot(t,por(:,2)) % gráfica velocidad
% legend('velocidad')
xlabel('Tiempo t(es)')
ylabel('Velocidad')
figure(2)
plot(por(:,1),por(:,2)) % gráfica Intentar vs Velocidad
% legend('velocidad')
xlabel('Intentar')
ylabel('Velocidad')
figure(3)
dibujomasa(x(:,1))
mra.m
function xp = mra(t,por,p)
m = p(1); % masa
b = p(2); % amortiguador
que = p(3); % resorte
u = 1; % entrada: escalón
% v=(u-b*por(2)-k*por(1))/m;
xp(1,:) = x(2);
xp(2,:) = (u-b*x(2)-k*x(1))/m;
% xp(3,:) = v*t;
dibujomaa.m
function dibujomasa(t1)
l1=2; h1=1;
%masa1=plot(0,0);
t1=0:1000:10;
for i=1:length(t1)
p1=t1(i)+1.25;
pause(0.01)
xm=[0,l1,l1,0,0];
ym=[0,0,h1,h1,0];
plot3(0,( xm+p1(i)), ym(i), '--or')
xlabel('')
ylabel('')
zlabel('')
%axis(handles.axes4,[0 tMax -5 5 -10 10 ])
hold('all')
grid('on')
end

Agradezco la ayuda de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder