representation of array

1 回表示 (過去 30 日間)
Krishnendu Mukherjee
Krishnendu Mukherjee 2012 年 1 月 26 日
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 件のコメント
Sean de Wolski
Sean de Wolski 2012 年 1 月 26 日
Please provide a small set of sample data/operation/expected results.
Krishnendu Mukherjee
Krishnendu Mukherjee 2012 年 1 月 27 日
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 2012 年 1 月 26 日
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 件のコメント
Krishnendu Mukherjee
Krishnendu Mukherjee 2012 年 1 月 27 日
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 2012 年 1 月 27 日
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))

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGeneral Applications についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by