Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c语言中的Find,diff函数#_C#_Matlab_Find_Diff - Fatal编程技术网

C# c语言中的Find,diff函数#

C# c语言中的Find,diff函数#,c#,matlab,find,diff,C#,Matlab,Find,Diff,我有一堆Matlab脚本中的代码,我想用c#来转换它。更具体地说,我的基本问题如下: X= find(diff(S>0.5) ==1); //greater than the threshold Y= find(diff(S<0.5)==1); // lower than the threshold 我想在这个列表中找到信号通过0.25阈值的位置。有什么想法吗 我想搜索一个信号,当它以升序取大于1的值时 让我们假设您的信号是双倍的,并且您有一些信号的集合: var signals

我有一堆Matlab脚本中的代码,我想用c#来转换它。更具体地说,我的基本问题如下:

X= find(diff(S>0.5) ==1); //greater than the threshold
Y= find(diff(S<0.5)==1);  // lower than the threshold
我想在这个列表中找到信号通过0.25阈值的位置。有什么想法吗

我想搜索一个信号,当它以升序取大于1的值时

让我们假设您的信号是双倍的,并且您有一些信号的集合:

var signals = new List<double> { ... };

这可能不是您所需要的,但会让您走上正确的道路。

您自己尝试过什么吗?使用
for
循环进行一次尝试,如果您有问题,请返回代码。我正在努力寻找差异。也许这就是您正在寻找的@JoseRamon不要尝试为
diff
查找内容,它在概念上非常简单。只需自己在一个循环中实现它。记住,C#不是Matlab,循环是C#中惯用且正确的方法。目前,您的代码要求有人推荐一个工具或库,这与本论坛的主题无关。演示您自己尝试编写代码,并询问有关实际代码问题的问题。这行代码的作用是什么?很可能存在LINQ等价物,但您需要首先向我们C#folk解释您的代码。OP的Matlab代码意味着他们需要大于
1
的元素位置,以及前一个元素不在的位置(我并不是鼓励您为OP编写此代码,只是指出这并不能回答问题)
var signals = new List<double> { ... };
var filteredOrderedSignals = from signal in signals 
                             where signal > 1.0 orderby signal ascending 
                             select signal;