representation of array

1 visualizzazione (ultimi 30 giorni)
Krishnendu Mukherjee
Krishnendu Mukherjee il 26 Gen 2012
there is a vector T=[ 0 .00001 ............ .0001 ]
and the corresponding value at different times are represented by: Y=[ 1 2 ........... 3 ] now if i want to track the value of Y at time T=.00001; then how will i get that? actually in sim(0 command the values are being produced for different times. how to pick up a perticular value at a perticular time?
  2 Commenti
Sean de Wolski
Sean de Wolski il 26 Gen 2012
Please provide a small set of sample data/operation/expected results.
Krishnendu Mukherjee
Krishnendu Mukherjee il 27 Gen 2012
there is a model of pid controller.
now im simulating it through sim() command from m-file.
[X T Y]=sim('modelname','timespan');
im using 'timespan' as [0 .01 .1] as like-(Tstart T(outputtime) Tfinal] format.
now the output of the pid controller is being tabulated in matlab base window as
>>T=[ 0
.01
.1]
Y=[ 2.35
3.01
3.11 ]
X=[.767 .767 .8765 ................]
now, thing is that i have to return the value of the output(Y) for the time T(outputtime).how will i get that?

Accedi per commentare.

Risposta accettata

Dr. Seis
Dr. Seis il 26 Gen 2012
Like this example?
>> T = 0 : 0.01 : 0.05
T =
0 0.0100 0.0200 0.0300 0.0400 0.0500
>> Y = rand(size(T))
Y =
0.9493 0.3479 0.4887 0.3533 0.7126 0.2021
>> Y_track = Y(T == 0.02)
Y_track =
0.4887
I think there is a better way to do this... since equalities for floating point numbers are generally not good programming practice due to precision issues.
  3 Commenti
Krishnendu Mukherjee
Krishnendu Mukherjee il 27 Gen 2012
there is a model of pid controller.
now im simulating it through sim() command from m-file.
[X T Y]=sim('modelname','timespan');
im using 'timespan' as [0 .01 .1] as like-(Tstart T(outputtime) Tfinal] format.
now the output of the pid controller is being tabulated in matlab base window as
>>T=[ 0
.01
.1]
Y=[ 2.35
3.01
3.11 ]
X=[.767 .767 .8765 ................]
now, thing is that i have to return the value of the output(Y) for the time T(outputtime).how will i get that?
Dr. Seis
Dr. Seis il 27 Gen 2012
I haven't worked with "sim"... if "outputtime" is simply an index of time "T" and the time elements in "T" correspond to amplitude elements in "Y", then Y(outputtime) should correspond to T(outputtime). If "outputtime" is a floating point number, then try:
Y_output = Y(int32(T*1e6) == int32(outputtime*1e6))

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su General Applications in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by