我有两列的数组。
第一列是时间,第二列是速度。
我正在使用此代码从第二列中查找对应的时间值。这段代码可以正常工作,但是会使我的仿真变慢。
有人可以建议有效的方法吗?
t=T'; % Time is in seconds
vv=vel'; % Speed is in meter per seconds
data= [t, vv]; % both time and velocity in one array
v2 = data(dsearchn(data(:,1),t2),2);
示例数组:
0.0 0.0
2.3 0.9
3.2 1.2
4.0 1.5
4.6 1.8
5.1 2.0
5.6 2.1
6.0 2.3
6.5 2.5
6.9 2.6
7.2 2.8
7.6 2.9
7.9 3.0
8.2 3.2
8.5 3.3
8.8 3.4
9.1 3.5
9.4 3.6
9.7 3.7
10.0 3.8
10.2 3.9
10.5 4.0
10.7 4.1
11.0 4.2
11.2 4.3
答案 0 :(得分:1)
尝试类似的东西:
<div class="drop">
然后使用所需的任何值修改值5
答案 1 :(得分:1)
就像注释中所述,您需要定义如果矩阵中未包含时间“选择”(数据的第一列)的情况下想要发生的情况。
以下是一些选项示例。请注意,我根据您的样本制作了data
一个nx2矩阵。
仅完全匹配::如果choice
中没有data
,则结果为空。
results = data(data(:,1) == choice,2)
示例用法:
>> choice = 2.3; %Time contained in data
>> results = data(data(:,1) == choice,2)
results =
0.9000
>> choice = 2.31; %Time NOT contained in data
>> results = data(data(:,1) == choice,2)
results =
Empty matrix: 0-by-1
最接近的匹配:返回最接近的匹配
result = data(dsearchn(data(:,1),choice),2)
示例用法:
>> choice = 2.3; %Time contained in data
>> result = data(dsearchn(data(:,1),choice),2)
result =
0.9000
>> choice = 2.31; %Time NOT contained in data
>> result = data(dsearchn(data(:,1),choice),2)
result =
0.9000