小编Jon*_*nas的帖子

程序员的MATLAB教程

我很快就会找到一些新学生,他们将编写MATLAB代码.他们是MATLAB的新手,但他们有使用Java和C++编写的经验.

我将让他们浏览MATLAB帮助的入门部分.另外,我想给出一个小教程,目的是防止他们在转换到MATLAB时犯下一些人们常犯的错误(例如"MATLAB从1开始计数"),并向他们展示一些他们可能没有的功能.要知道何时来自其他语言(例如"你可以直接从数组中减去一个标量,而对于向量,则有bsxfun").

我应该告诉他们最重要的事情是什么?

matlab bsxfun

23
推荐指数
5
解决办法
7120
查看次数

C#中的低通和高通滤波器

我需要用c#编写的低通和高通滤波器.我有这个过滤过程的双数组.我想如果我尝试将matlab Butterworth和Chebyshev算法转换为c#,那就更容易了.但我无法找到在互联网上butter.m和切比雪夫算法的代码,我不想MATLAB和信号处理工具设置成我的电脑.你能提供这些代码吗?谢谢..

c# matlab signal-processing

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

在MATLAB中使用匿名函数跳过输出

假设我想从一个返回两个输出的m文件函数创建一个匿名函数.是否可以设置匿名函数,使其仅返回m文件函数的第二个输出?

示例:ttest2返回两个输出,t/f和概率.如果我想使用t检验cellfun,我可能只对收集概率感兴趣,即我想写这样的东西

probabilities = cellfun(@(u,v)ttest2(u,v)%take only second output%,cellArray1,cellArray2)
Run Code Online (Sandbox Code Playgroud)

matlab anonymous-function

16
推荐指数
1
解决办法
5149
查看次数

寻找邻居

我需要在一组点中找到"附近"的邻居.

点集

上图中有10个点.红线是Delaunay三角剖分的边缘,黑色星标记边缘的中线,蓝线是Voronoi镶嵌.点1具有三个"近"邻居,即4,6和7,但不是2和3,它们几乎与边缘1-7一致,但距离更远.

识别近邻(或"好"边缘)的好方法是什么?看看这个图,在我看来,要么选择中点落在与Voronoi线交叉点的边缘,要么考虑作为"近"邻居那些触摸Voronoi单元的边缘可能是一个很好的解决方案(3-5的分类)可以去任何一种方式).有没有一种有效的方法来实现Matlab中的任何一个解决方案(我很乐意得到一个好的通用算法,然后我可以转换为Matlab,顺便说一下)?

matlab voronoi delaunay nearest-neighbor computational-geometry

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

在Matlab中绘制多色线

我想绘制一条垂直线(我更喜欢任何方向,但我现在很满意,只是垂直),双色破折号,比如红蓝红 - 蓝 - .

我知道我可以这样做:

plot([1,1],[0,1],'r'),
hold on,
plot([1,1],[0,1],'--b')
Run Code Online (Sandbox Code Playgroud)

但是,由于我需要能够移动线路,除此之外,它应该只有一个手柄.我怎么能这样做?

编辑 感谢您的回答.我想我确实应该提供更多信息.

我有一些数据被分类到不同的部分.我希望能够手动调整类之间的界限.为此,我在分类边界绘制垂直线,并使用draggable来移动线条.

对于红色和蓝色类之间的边界,我想要一条红色/蓝色线.

plot(ones(10,1),linspace(0,1,10),'-bs','MarkerFaceColor','r','MarkerEdgeColor','none','linewidth',6)
Run Code Online (Sandbox Code Playgroud)

是我目前正在使用的.然而,它不是那么漂亮(如果我想要相等的间距,它变成一个真正的痛苦,我想给两种颜色相同的重量),我希望有可能使用三种颜色(而不是标记边缘和面对不同,因为它让我的眼睛流血).

不幸的是,draggable不允许我使用多个句柄,并且用hggroup对行进行分组似乎不会创建一个可拖动的对象.

cline看起来很有前途,但彩虹色不适合我的应用.

matlab plot

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

删除MATLAB中的空单元格

我想删除matlab单元格数组底部的所有空单元格.但是我发现的所有代码示例都将矩阵折叠为向量,这不是我想要的.

所以这段代码

a = { 1, 2; 3, 4; [], []}
emptyCells = cellfun('isempty', a); 
a(emptyCells) = []
Run Code Online (Sandbox Code Playgroud)

得到这个向量

a = [1] [3] [2] [4]

但我想要这个数组

a =

[1]    [2]

[3]    [4]
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

matlab cells

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

"发布"为pdf

使用Matlab,我想创建一个pdf文档,总结几个实验的结果.理想情况下,每个实验我有一个页面,包含2个多面板图形和一些文本.

我认为这publish.m将是要走的路,然而,发布到pdf不支持插入分页符,我既不能控制数字质量(这是相当糟糕的),也不能控制数字大小(这意味着2个数字占用了整页),我也不能将文本填入页眉/页脚.

我怎样才能在Matlab中创建一个对布局进行控制的多页pdf?

pdf matlab publish

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

MATLAB:合并函数句柄

我目前正在使用MATLAB编写模拟代码,并且需要一些关于我一直遇到的问题的帮助.

我正在一个问题,即我有n单独的匿名功能手柄f_i,其中的每一个被存储在单元阵列functions,并接受一个1x1数字数组x_i,并返回一个1x1数字数组y_i.

我想结合这些匿名函数处理成接受一个单一的匿名函数手柄nX 1数值数组X,并返回单个nX 1-numeric阵列Y.在这里X(i) = x_i,Y(i) = y_i = f_i(x_i)

作为例子,让n = 2和F_1和F_2是两个函数处理输入和输出1x1阵列和被存储在一个单元阵列命名的功能

f_1 = @(x_1) x_1^2 
f_2 = @(x_2) x_2^3
functions = {f_1,f_2}
Run Code Online (Sandbox Code Playgroud)

我基本上需要能够使用的代码n,f_1f_2构造一个输入和输出2x1数字数组的函数句柄F.

F = @(x) [f_1(x(1,1));f_2(x(2,1))]
Run Code Online (Sandbox Code Playgroud)

matlab

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

将凸包转换为二进制掩码

我想生成一个二进制掩码,其中包含内部所有体素的二进制掩码,以及体积外所有体素的零.体积由围绕一组3D坐标(<100;一些坐标在体积内)的凸包定义.

我可以使用CONVHULLN获取凸包,但是如何将其转换为二进制掩码?

如果没有通过凸包的好方法,你还有其他想法如何创建二进制掩码?

matlab geometry convex-hull

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

基于矢量和对角元素的矩阵= 1使用matlab

如何创建以下矩阵

1  0  0  0  0 
k1 1  0  0  0 
k2 k1 1  0  0
k3 k2 k1 1  0
k4 k3 k2 k1 1
Run Code Online (Sandbox Code Playgroud)

matlab

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