How to output a value of an array for a specific value of time?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have the following section of code. I am generating arrays of t and v to create a plot.
wn and theta are given.
n=3; N=500; t=linspace(0,n*Tn,N); v=rho*cos(wn*t+theta);
Now how do I print the value of v for t=1?
0 commentaires
Réponses (1)
David Sanchez
le 18 Sep 2014
idx = find(t==1);
v(idx)
or in a single line:
v( find(t==1) )
5 commentaires
Abhinav Prashant Mohanakrishnan
le 18 Sep 2014
Modifié(e) : Abhinav Prashant Mohanakrishnan
le 18 Sep 2014
David Sanchez
le 18 Sep 2014
Absolutely, as explained by Daniel in http://www.mathworks.com/matlabcentral/answers/48942-insert-element-in-vector you can do this:
t=linspace(0,n*Tn,N);
idx = find(t<1,1);
insert = @(a, x, n)cat(2, x(1:n), a, x(n+1:end)); % function to insert the value "a" in array "x" in position "n"
t = insert(1, t, idx); % now t contains the value "1"
v=rho*cos(wn*t+theta);
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!