我想挑选出
(2 * pi * k),
其中 k = 0,1,2,3 ... 表示整数,并将它们( i1 )填充到另一个矩阵中。
但是我的问题是,我不知道如何使“ k” 成为行。 (顺便说一下,股息和除数是浮动的,所以我需要找到近似值并将其视为 2 * pi * k 。)
我的代码,只能找到(2 * pi * k)的元素,但不能像 k = 1 那样对它们进行排序,它将放入 k = 1 行;如果 k = 2 ,则应将元素放入 k = 2 行。
例如,
A = [2*pi 6 3 4;0.5*pi 0 2;3.1 7 4 8;2*pi 7 2 9;2.6 4*pi 6*pi 0]
我希望输出为
B = [0 2*pi 4*pi 6*pi;0 2*pi NaN NaN;NaN 2*pi NaN NaN]
这是我的代码:
k=0;
for m=380:650;
for n=277:600;
if abs((rem(abs(i(m,n)),(2*PI)))-(PI))>=3.11;
k=k+1;
B(m,k)=i1(m,n);
end
end
k=0;
end
它可以找到我想要的东西,但是它们似乎并没有按照我想要的方式排序。
答案 0 :(得分:0)
和其他人一样,我不确定您想要什么。这是我的理解方式并将其编码:
(2*pi*k)
中是否包含A
,是否需要数值方法代码如下:
testPI=@(k) (2*pi*k); %generates 2*pi*k, where k is up to the user
A = [2*pi 6 3 4;0.5*pi 0 2 0;3.1 7 4 8;2*pi 7 2 9;2.6 4*pi 6*pi 0]; %A from example (fixed dimension error)
ismember(A,f(1:10)) %test if k=1:10 is contained in A
ans =
5×4 logical array
1 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
0 1 1 0
使1:10
适应您想要的任何值。当然,这只有在k处于合理范围内时才有效,否则这种方法不是最优的