假设我有单元格数组
strs = {'HA' 'KU' 'LA' 'MA' 'TATA'}
Run Code Online (Sandbox Code Playgroud)
如果我想找到索引,我该怎么办'KU'?
我有点惊讶MATLAB没有Map功能,所以我自己一起攻击了一个,因为它是我不能没有的东西.那里有更好的版本吗?那里有一个有点标准的MATLAB函数式编程库我不见了吗?
function results = map(f,list)
% why doesn't MATLAB have a Map function?
results = zeros(1,length(list));
for k = 1:length(list)
results(1,k) = f(list(k));
end
end
Run Code Online (Sandbox Code Playgroud)
用法是例如
map( @(x)x^2,1:10)
Run Code Online (Sandbox Code Playgroud) 我想使用NumPy执行以下MATLAB代码的等价物:repmat([1; 1], [1 1 1]).我怎么做到这一点?
我需要获取所有这些文件D:\dic并循环它们以进一步单独处理.
MATLAB是否支持这种操作?
它可以在其他脚本中完成,如PHP,Python ......
是什么之间的区别&,并&&在MATLAB逻辑运算符?
有没有办法通过使矢量重复来扩展矢量?
>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
Run Code Online (Sandbox Code Playgroud)
然后v10将是:
>v10
1 2 1 2 1 2 1 2 1 2
Run Code Online (Sandbox Code Playgroud)
这应该适用于一般情况,而不仅仅是[1 2]
Python 中MATLAB tic和toc函数(http://www.mathworks.com/help/techdoc/ref/tic.html)的最佳模拟是什么?
MATLAB是否支持哈希表?
我正在研究Matlab中需要图像的缩放空间表示的问题.为此,我创建具有方差2-d高斯滤波器sigma*s^k用于k在一定范围内.,然后我使用每一个依次进行过滤图像.现在,我希望从k过滤后的图像中进行某种映射.
如果k总是一个整数,我只需创建一个3D数组,这样:
arr[k] = <image filtered with k-th guassian>
Run Code Online (Sandbox Code Playgroud)
但是,k不一定是整数,所以我不能这样做.我想做的是保持一系列的ks:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Run Code Online (Sandbox Code Playgroud)
一开始看起来似乎相当不错,除了我将使用大约20或30个值进行此次查找可能几千次k,并且我担心这会损害性能.
我想知道我是否会更好地使用某种哈希表来做这件事,这样我的查找时间就是O(1)而不是O(n).
现在,我知道我不应该过早优化,我可能根本没有这个问题,但请记住,这只是背景,并且可能存在这种情况,这确实是最佳解决方案,无论是否是我的问题的最佳解决方案.
我想做的就是使宽度更大,高度更小.我只是在做栅格图,但这个问题适用于任何MATLAB figure.我可以在创建时直接使用图形手动调整它,但我希望程序以正确的大小将其吐出来开始.
我尝试将matlab代码转换为numpy,并发现numpy与std函数有不同的结果.
在matlab中
std([1,3,4,6])
ans = 2.0817
Run Code Online (Sandbox Code Playgroud)
在numpy
np.std([1,3,4,6])
1.8027756377319946
Run Code Online (Sandbox Code Playgroud)
这是正常的吗?我该怎么处理呢?