从数组mathematica中提取值

时间:2017-08-15 14:21:48

标签: matlab wolfram-mathematica

我有这个MATLAB代码用于创建带Nt+1列的线性间隔矢量。 tx(i)用于从timee中提取ti值。

Nt = 20;
t0 = 0; tf = 1;
ti = linspace(t0, tf, Nt+1);
timee = [0.1 0.3 0.5 0.7 0.9 1];
tx = zeros(length(timee),1);
for i  = 1:length(timee)
tx(i) = find(ti == timee(i));
end

要在Mathematica中重新创建线性间隔矢量,我使用了代码

Mt = 10;
t0 = 0; tf = 1;
ti = Array[# &, Mt, {t0, tf}] 
timee = {1/10, 3/10, 1/2, 7/10, 9/10,1};

我想以与使用MATLAB相同的方式提取timee值。任何人都可以提供有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:0)

市长, 请检查此代码

Mt = 11;
t0 = 0; tf = 1;
ti = Range[t0, tf, (tf - t0)/(Mt - 1)]
timee = {1/10, 3/10, 1/2, 7/10, 9/10, 1}
tx = Table[If[Length[Position[timee, ti[[i]]]] > 0, i, 0], {i, 1, Mt}]

也许我没有正确理解你的问题。如果是这样,请告诉我更多详情。