我很快就会找到一些新学生,他们将编写MATLAB代码.他们是MATLAB的新手,但他们有使用Java和C++编写的经验.
我将让他们浏览MATLAB帮助的入门部分.另外,我想给出一个小教程,目的是防止他们在转换到MATLAB时犯下一些人们常犯的错误(例如"MATLAB从1开始计数"),并向他们展示一些他们可能没有的功能.要知道何时来自其他语言(例如"你可以直接从数组中减去一个标量,而对于向量,则有bsxfun").
我应该告诉他们最重要的事情是什么?
我需要用c#编写的低通和高通滤波器.我有这个过滤过程的双数组.我想如果我尝试将matlab Butterworth和Chebyshev算法转换为c#,那就更容易了.但我无法找到在互联网上butter.m和切比雪夫算法的代码,我不想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) 我需要在一组点中找到"附近"的邻居.

上图中有10个点.红线是Delaunay三角剖分的边缘,黑色星标记边缘的中线,蓝线是Voronoi镶嵌.点1具有三个"近"邻居,即4,6和7,但不是2和3,它们几乎与边缘1-7一致,但距离更远.
识别近邻(或"好"边缘)的好方法是什么?看看这个图,在我看来,要么选择中点落在与Voronoi线交叉点的边缘,要么考虑作为"近"邻居那些触摸Voronoi单元的边缘可能是一个很好的解决方案(3-5的分类)可以去任何一种方式).有没有一种有效的方法来实现Matlab中的任何一个解决方案(我很乐意得到一个好的通用算法,然后我可以转换为Matlab,顺便说一下)?
matlab voronoi delaunay nearest-neighbor computational-geometry
我想绘制一条垂直线(我更喜欢任何方向,但我现在很满意,只是垂直),双色破折号,比如红蓝红 - 蓝 - .
我知道我可以这样做:
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单元格数组底部的所有空单元格.但是我发现的所有代码示例都将矩阵折叠为向量,这不是我想要的.
所以这段代码
a = { 1, 2; 3, 4; [], []}
emptyCells = cellfun('isempty', a);
a(emptyCells) = []
Run Code Online (Sandbox Code Playgroud)
得到这个向量
a = [1] [3] [2] [4]
但我想要这个数组
a =
Run Code Online (Sandbox Code Playgroud)[1] [2] [3] [4]
我该怎么办?
使用Matlab,我想创建一个pdf文档,总结几个实验的结果.理想情况下,每个实验我有一个页面,包含2个多面板图形和一些文本.
我认为这publish.m将是要走的路,然而,发布到pdf不支持插入分页符,我既不能控制数字质量(这是相当糟糕的),也不能控制数字大小(这意味着2个数字占用了整页),我也不能将文本填入页眉/页脚.
我怎样才能在Matlab中创建一个对布局进行控制的多页pdf?
我目前正在使用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_1并f_2构造一个输入和输出2x1数字数组的函数句柄F.
F = @(x) [f_1(x(1,1));f_2(x(2,1))]
Run Code Online (Sandbox Code Playgroud) 我想生成一个二进制掩码,其中包含内部所有体素的二进制掩码,以及体积外所有体素的零.体积由围绕一组3D坐标(<100;一些坐标在体积内)的凸包定义.
我可以使用CONVHULLN获取凸包,但是如何将其转换为二进制掩码?
如果没有通过凸包的好方法,你还有其他想法如何创建二进制掩码?
如何创建以下矩阵
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)