How to output a value of an array for a specific value of time?
1 view (last 30 days)
Show older comments
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 Comments
Answers (1)
David Sanchez
on 18 Sep 2014
idx = find(t==1);
v(idx)
or in a single line:
v( find(t==1) )
5 Comments
Abhinav Prashant Mohanakrishnan
on 18 Sep 2014
Edited: Abhinav Prashant Mohanakrishnan
on 18 Sep 2014
David Sanchez
on 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);
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!