我有1Xn的单元格值数组。我想计算matlab中给定范围内的值。 我按如下方式实现了它:
count1 = length(find(h{1}<ti & h{1}>ti-INT));
h是我的单元格数组,我想要ti和ti-INT之间的值计数。
此实现提供了正确的结果,但速度非常慢。 是否有更快的功能可用于指定的操作?
答案 0 :(得分:5)
对出现标志求和:
#!/bin/bash
echo
echo 'Fetching job page and write to Jobs.txt file...'
curl -o Jobs.txt https://cms.test.com
completestatus=`grep "completed" /home/Jobs.txt | awk -F "<p|< p="">" '{print $2 }' | awk '{print $4 }'`
echo $completestatus
if [ "$completestatus" == 0 ]; then
我知道我会为了使用onFBLoginClick()
{
Facebook.login(['email']).then(data=>{
this.faceBookToken=data.authResponse.accessToken;
this.faceBookUserId=data.authResponse.userID;
//Call getter function
this.onGetDetailsClick();
});
}
onGetDetailsClick()
{
Facebook.api(this.faceBookUserId+"/?fields=name,email,birthday,gender",['public_profile']).then(data=>{
alert(JSON.stringify(data));
});
}//onGetDetailsClick()
和 count1 = sum(h{1}<ti & h{1}>ti-INT);
使用代码时效而扰乱MATLAB之神,但是:
tic
在多次运行中显示,toc
的速度是x = rand(10^7,1);
tic; sum(x>0.5); toc;
tic; nnz(x>0.5); toc;
tic; length(find(x>0.5)); toc;
的两倍,比sum()
快3倍,例如:
nnz()
这是在我的R2012a上运行在带有i5 + 3Gb RAM的Windows机器上。
稍后编辑:
为了计算整个单元格数组中的元素,可以使用:
length(find())