Is there a more efficient way to format my vector rather than manually change the code

T = 5400;
INT = 900;
tme = 0:INT:T;
TV = [tme(1):30:tme(2)-30, tme(2):15:tme(3)-15, tme(3):12:tme(4)-12, tme(4):2.4:tme(5)-2.4, tme(5):2.1428:tme(6)-2.1428, tme(6):2.5:tme(7)-2.5];
I have this code, however is there an easier way to code this if i want to change the values for 'T' and 'INT' to any random value, for the' TV' vector to automatically update rather than me manually put tme(1), tme(2) etc for those respective values in the 'tme' vector

2 comentarios

Until you explain the law to obtain steps 30, 15, 12, 2.4, 2.1428, 2.5, then no you have to enter it by hand.
%Time
T = 5400;
INT = 900;
tme = 0:INT:T;
%Number of Positions and Impacts
Pn = 1320;
In = [30, 60, 75, 375, 420, 360];
TV = [tme(1):INT/In(1):tme(2)-INT/In(1), tme(2):INT/In(2):tme(3)-INT/In(2), tme(3):INT/In(3):tme(4)-INT/In(3), tme(4):INT/In(4):tme(5)-INT/In(4),...
tme(5):INT/In(5):tme(6)-INT/In(5), tme(6):INT/In(6):tme(7)-INT/In(6)];
I want to change 'T', 'INT' and 'In'. The number of values in 'In' should be equal to T/INT. So if we did change T = 5000; INT = 500; and the number of values in In = 10, these values can be random however summed should equal 'Pn', how can that 'TV' vector change automatically to cater this change or how can we combine these condition to produce the 'TV' vector

Iniciar sesión para comentar.

 Respuesta aceptada

TV =@(tme) [tme(1):30:tme(2)-30, tme(2):15:tme(3)-15, tme(3):12:tme(4)-12,...
tme(4):2.4:tme(5)-2.4, tme(5):2.1428:tme(6)-2.1428, tme(6):2.5:tme(7)-2.5];
tv1=TV(0:900:5400);
tv2=TV(0:500:5000);

5 comentarios

What you have given is exactly what i had asked for, however what i asked for was not right, so apologies on my behalf.
%Time
T = 5400;
INT = 900;
tme = 0:INT:T;
%Number of Positions and Impacts
Pn = 1320;
In = [30, 60, 75, 375, 420, 360];
TV = [tme(1):INT/In(1):tme(2)-INT/In(1), tme(2):INT/In(2):tme(3)-INT/In(2), tme(3):INT/In(3):tme(4)-INT/In(3), tme(4):INT/In(4):tme(5)-INT/In(4),...
tme(5):INT/In(5):tme(6)-INT/In(5), tme(6):INT/In(6):tme(7)-INT/In(6)];
I ask the same thing again, but this time if I want to change 'T', 'INT' and 'In'. The number of values in 'In' should be equal to T/INT. So if we did change T = 5000; INT = 500; and the number of values in In = 10, these values can be random however summed should equal 'Pn', how can that 'TV' vector change automatically to cater this change or how can we combine these condition to produce the 'TV' vector
But if his answer was not what you wanted, then why accept it?
realised after i accepted it, should i unaccept and ask again? it was just he did answer my original question, was my mistake i got it wrong
It IS (sort of) an answer to your question as posed. I (or anyone) might have been moved to answer a separate question, that was posed more accurately, OR an unaccepted and clarified question. You might even find that David then makes his answer a general solution then.
i will make another question

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 16 de Ag. de 2022

Comentada:

el 16 de Ag. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by