小编Den*_*din的帖子

用于活动识别的滑动​​窗口算法

我想编写一个用于活动识别的滑动​​窗口算法.

训练数据<1xN>因此我认为我只需要(比方说window_size=3)window_size数据并训练它.我后来也想在矩阵上使用这个算法.

我是matlab的新手,所以我需要有关如何正确实现这一点的任何建议/指示.

matlab sliding-window

5
推荐指数
1
解决办法
5114
查看次数

如何获取Matlab M文件的第一行文本?

我正在使用Matlab R2011b.我想在编辑器中获取活动mfile的第一行的文本.我知道我可以使用以下代码将mfile的所有文本作为1xn字符数组(不分成行).但是我只想要第一行.

activeEditor = matlab.desktop.editor.getActive ;    
activeEditor.Text ;
Run Code Online (Sandbox Code Playgroud)

有什么建议?

matlab editor

5
推荐指数
1
解决办法
510
查看次数

使用标准的io流:在matlab exe中使用stdin和stdout

我希望它在运行(编译)的Matlab可执行文件中"监听"标准输入流.

这就是我相信它是c用相同的语言完成的:

#include stdio.h
fgets(line, 256, stdin)
Run Code Online (Sandbox Code Playgroud)

或者更精细的是,它可以这样使用:

if (!fgets(line, 256, stdin))
    return;
if (line[0] == '\n')
    continue;
sscanf(line, "%s", command);
Run Code Online (Sandbox Code Playgroud)

回答

为了完整起见,我将完整地留下背景和笔记,但在Amro和EitanT的帮助下,我已经设法解决了问题.

背景

我已经找到了如何做到这一点其他语言,并在这里是在编译过程中的一些指令.

但是,我还没有找到如何在Matlab中"监听"输入.我最接近的是Octave中对C-like IO的描述,但是当我在MATLAB中寻找解决方案时,我无法取得进展.

请注意,改变或包装通过流发送数据的程序是不可能的,并且我更喜欢纯MATLAB解决方案而不是包装整个程序.如果我用一种不同语言从MATLAB调用一个简单的函数就可以了.

我试过了什么?

从命令窗口尝试了一些函数fgets(0)(fid = 0似乎是对应的id stdin(正如@EitanT所提到的,并且在尝试时看到fopen(0)))但它只返回:

Operation is not implemented for requested file identifier.
Run Code Online (Sandbox Code Playgroud)

我还考虑过使用MATLAB中的选项来调用系统命令或执行java/ perl命令,但到目前为止还没有运气.我也不确定这些在编译后是否仍然有效.

此外,input('prompt','s')当我打开程序时,我尝试使用此作品cmd,但在我按下回车之前没有做任何事情.(当然我听的节目永远都不会做,最好的情况是我可以\n在每一行结尾处获得).

我也尝试了 waitinput文件交换,但我认为这是一个死胡同,因为它没有赶上什么,似乎挺表现不佳.

笔记 …

windows matlab stdin stdout matlab-compiler

5
推荐指数
2
解决办法
2952
查看次数

逃离嵌套的try - catch语句

我目前正在使用嵌套的try-catch语句调试代码.

我可以使用dbstop命令轻松处理错误,但每次查看代码并希望停止运行程序时,我必须dbquit为每个嵌套级别输入一次.

因为这很烦人,我正在寻找一个解决方案,一旦我完成调试就真的停止调试所有程序.

以下是我如何调用代码的示例:

dbstop if error
dbstop if caught error
mytestmain
Run Code Online (Sandbox Code Playgroud)

这里有一个函数可能是什么样子的例子(子函数可能在或不在不同的.m文件中)

function mytestmain 
try
    mytestsub
catch
end

%% Definition of subfunction
function mytestsub
try
    a=b;%generate an error as b is not defined
catch
end
Run Code Online (Sandbox Code Playgroud)

我试过了什么?

  • 我尝试使用脚本或调用dbquit两次的函数,但这只会执行dbquit一次.
  • 我尝试过使用dbquit('all'),但没有效果

请注意,我不想删除代码中的try-catch语句.

error-handling matlab

5
推荐指数
1
解决办法
1117
查看次数

删除所有VBA监视项目

我一直在调试Excel VBA中的一些宏,并且发现当我想监视某些表达式时添加一个表是很方便的.但是,现在我想重新开始并决定从干净的观察名单开始.

不幸的是,我只找到了删除单个手表的方法,而不是一次性删除所有手表.

当然必须有一种摆脱它们的方法,而不必逐个删除几十个观看项目,但尽管搜索我没有找到任何关于如何实现这一点的提示.

因此我的问题是:

如何一次删除所有VBA监视项目?


注意:这实际上是关于监视项目,而不是关于断点.

debugging excel vba watch excel-vba

5
推荐指数
1
解决办法
732
查看次数

查找对特定内置MATLAB函数的间接调用

我想要什么?

我正在寻找一种方法来检测我的代码中调用特定函数的所有点.

我为什么要这样?

一些例子:

  • 有些输出是排序的或随机的,我想知道这发生了什么
  • 我正在考虑更改/重载一个函数,并想知道我的代码的哪一部分可能会产生影响

我试过了什么?

  • 我尝试在被调用的文件中放置一个断点.这仅适用于非内置函数,这些函数是从始终执行所有内容的短运行代码调用的.
  • 我试着"查找文件",这样,我可以很容易地找到直接调用sort,但它不是那么容易找到一个电话sort援引unique的例子.
  • 我试过depfun,它告诉我:
    • 是否会被召唤
    • 从哪里调用非内置函数
  • 我想过重载内置功能,但感觉就像是我的最后手段,因为我害怕弄得一团糟.| 编辑:由于功能优先,它也可能无济于事.

这个问题

跟踪从特定函数到特定(内置)函数的所有潜在(in)直接函数调用的最佳方法是什么.

debugging matlab built-in function-call

5
推荐指数
1
解决办法
177
查看次数

Matlab创建矢量化序列

我想构造一个接受输入n并给出向量的函数

[n n-1 n-2 ... n-n, n-1 n-2 ... n-n, ..., n-n]

//Example 
input :  n=3 
output : [3 2 1 0 2 1 0 1 0 0]
Run Code Online (Sandbox Code Playgroud)

我知道如何使用循环来做到这一点,但我正在寻找一种在MATLAB中做到这一点的聪明方法

matlab vectorization

5
推荐指数
1
解决办法
89
查看次数

在调试VBA时运行循环

问题

我正在尝试调试一些代码,而在中间的某个地方,我在断点处停了下来.现在我想更改一些变量并多次运行某个循环.

我到底有多远?

我知道如何更改变量,但在尝试在即时窗口中运行循环时,我会陷入困境.这是一个例子:

Dim i As Integer 
Dim j As Integer 
For i = 0 To 6
       j=i    ' Do something
Next i 
Run Code Online (Sandbox Code Playgroud)

我尝试了几种代码变体,但每次出现以下错误:

编译错误:下一个没有

其他相关信息

我试过搜索,但大部分都找到了关于循环问题的信息,而我很确定循环本身很好.(特别是当我到达断点之前到达它).

我看到有人在这种情况下唯一的地方,他把循环减少到一行,但是在我的情况下,每次这样做都是非常不切实际的.

我意识到我可以调用一个包含循环的函数,然后函数调用可能会起作用,但这再次感觉非常不切实际.所以我想这归结为以下问题.

这个问题

在Excel中调试VBA代码时运行循环的实用方法是什么?

debugging vba loops immediate-window excel-vba

5
推荐指数
2
解决办法
3165
查看次数

在 PySpark 数据框中删除包含特定值的行

我有一个 pyspark 数据框,如:

A B C
1 不适用 9
4 2 5
6 4 2
5 1 不适用

我想删除包含值“NA”的行。在这种情况下,第一行和最后一行。如何使用 Python 和 Spark 实现这一点?


根据评论更新:寻找一种解决方案,该解决方案可以删除在许多列中的任何列中包含字符串:NA 的行。

apache-spark apache-spark-sql pyspark pyspark-sql

5
推荐指数
1
解决办法
3万
查看次数

MATLAB如何在频域中实现Ram-Lak滤波器(斜坡滤波器)?

我有一个实现Ram-Lak过滤器的任务,但几乎没有给出任何信息(除了看fft,ifft,fftshift,ifftshift).

我有一个正弦图,我必须通过Ram-Lak过滤.还给出了投影的数量.

我尝试使用过滤器

                      1/4              if I == 0

(b^2)/(2*pi^2)  *     0                if I even

                      -1/(pi^2 * I^2)  if I odd
Run Code Online (Sandbox Code Playgroud)

b似乎是截止频率,我与采样率有关?

还有人说,两个函数的卷积是傅立叶空间中的简单乘法.

我根本不明白如何实现过滤器,特别是没有给出b,没有告诉我是什么,也不知道如何将其应用于sinogram,我希望有人可以帮助我.我花了两个小时谷歌搜索并试图了解这里需要做什么,但我无法理解如何实现它.

matlab fft filter

4
推荐指数
1
解决办法
2万
查看次数