我想研究一个ERP系统.为此,我想研究它的过程.所以,如果有人能给我一些有用的链接,那么对我有帮助,谢谢.
对于iphone语音更改应用程序(目标c),我试图从录制音频队列缓冲区中取样采样的整数值,在函数中处理它们并将修改后的值写回回放缓冲区.目前我使用这样的东西
AudioBuffer audioBuffer = bufferList->mBuffers[0];
int bufferSize = audioBuffer.mDataByteSize / sizeof(SInt32);
SInt32 *frame = audioBuffer.mData;
SInt32 signalInput[22050];
for( int i=0; i<bufferSize; i++ ) {
SInt32 currentSample = frame[i];
*(signalInput +i) = currentSample;
}
Run Code Online (Sandbox Code Playgroud)
提取采样值并且似乎工作得非常好(signalinput应该是用于写入整数样本的目标向量).但是把它们写回缓冲区仍然是一个问题......我搜索了文档和很多论坛以找到解决方案,但还没有成功.
所以我非常感谢任何建议,感谢提前,卢卡斯
如何为列值的随机样本选择所有行?
我有一个如下所示的数据框:
tag weight
R007 10
R007 11
R007 9
J102 11
J102 9
J102 13
J102 10
M942 3
M054 9
M054 12
V671 12
V671 13
V671 9
V671 12
Z990 10
Z990 11
Run Code Online (Sandbox Code Playgroud)
你可以用...复制
weights_df <- structure(list(tag = structure(c(4L, 4L, 4L, 1L, 1L, 1L, 1L,
3L, 2L, 2L, 5L, 5L, 5L, 5L, 6L, 6L), .Label = c("J102", "M054",
"M942", "R007", "V671", "Z990"), class = "factor"), value = c(10L,
11L, 9L, 11L, 9L, 13L, 10L, 3L, 9L, 12L, …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种有效的方法来修剪或复制现有std :: vector的子集.符合子集/保留条件的元素的标准是它们的索引包含在单独的预定义std :: vector中.
e.g std::vector<String> Test = { "A", "B", "C", "D", "E"}
std::vector<int> SelectionV = {1,2,5}
Result = {"A", "B", "E"}
Run Code Online (Sandbox Code Playgroud)
我将在一个非常大的向量上执行此操作,并且可能定期执行此操作,因此我正在寻找尽可能有效的方法.
我也在考虑另一种选择,但又不确定一种有效的方法是......
当对象Test被填充时(在我的情况下它是第三方定义的对象),它是使用迭代器进行单次传递的结果(不能直接访问元素).我想知道是否可以只添加出现在SelectionV中定义的计数中的Test向量元素
例如
int count = 0
for (Iterator.begin, Iterator.end(), Iterator++) {
if (count is a number contained in selectionV)
add to Test
}
Run Code Online (Sandbox Code Playgroud)
但我认为这会导致每次迭代都会通过selectionV,这比简单地添加所有元素并稍后选择子集要低得多.
任何帮助非常感谢.
我正在尝试创建(在r中)等效于以下MATLAB函数,该函数将从N(m1,(s1)^ 2)和N(m2,(s2)^ 2)的混合生成n个样本,alpha,来自第一个高斯.
我有一个开始,但结果在MATLAB和R之间有显着差异(即,MATLAB结果偶尔会给出+ -8的值,但R版本甚至不会给出+ -5的值).请帮我解决这里有什么问题.谢谢 :-)
例如:绘制来自N(0,1)和N(0,36)的混合的1000个样本和来自第一高斯的95%的样本.将样本标准化为零和标准差1.
MATLAB
功能
function y = gaussmix(n,m1,m2,s1,s2,alpha)
y = zeros(n,1);
U = rand(n,1);
I = (U < alpha)
y = I.*(randn(n,1)*s1+m1) + (1-I).*(randn(n,1)*s2 + m2);
Run Code Online (Sandbox Code Playgroud)
履行
P = gaussmix(1000,0,0,1,6,.95)
P = (P-mean(P))/std(P)
plot(P)
axis([0 1000 -15 15])
hist(P)
axis([-15 15 0 1000])
Run Code Online (Sandbox Code Playgroud)
结果情节

得到的组织

[R
yn <- rbinom(1000, 1, .95)
s <- rnorm(1000, 0 + 0*yn, 1 + 36*yn)
sn <- (s-mean(s))/sd(s)
plot(sn, xlim=range(0,1000), ylim=range(-15,15))
hist(sn, xlim=range(-15,15), ylim=range(0,1000))
Run Code Online (Sandbox Code Playgroud)
结果情节

得到的组织

一如既往,谢谢! …
我试图从Peoplesoft数据库中随机抽取一个人口样本.在线搜索让我认为select语句的Sample子句可能是我们使用的可行选项,但是我无法理解Sample子句如何确定返回的样本数.我查看了这里找到的oracle文档:http: //docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10002.htm#i2065953
但上述参考仅讨论了用于创建示例的语法.我的问题的原因是我需要了解样本百分比如何确定返回的样本大小.似乎它将随机数应用于您要求的百分比,然后使用种子数来计算每个"n"记录.我们的要求是我们提取一定数量的样本,例如,它们是随机选择的,并且它们代表整个表格(或者至少是我们用过滤器选择的数据分组)
如果我需要大约100个项目的样本,在10200个项目的人口中,我可以使用此声明:
SELECT * FROM PS_LEDGER SAMPLE(1) --1 % of my total population
WHERE DEPTID = '700064'
Run Code Online (Sandbox Code Playgroud)
但是,我们需要提取一定数量的样本(在这种情况下为100),这样我就可以选择一个样本大小,几乎总是返回超过我需要的数量,然后将其修剪下来IE
SELECT Count(*) FROM PS_LEDGER SAMPLE(2.5) --this percent must always give > 100 items
WHERE DEPTID = '700064' and rownum < 101
Run Code Online (Sandbox Code Playgroud)
我担心的是,我的样本不能统一代表整个人口.例如,如果示例函数在创建自己的随机生成的种子后拉动每个N记录,则选择rownum <101将切断从表格底部选择的所有记录.我正在寻找的是一种从表格中提取100条记录的方法,这些记录是随机选择的,并且相当代表整个表格.请帮忙!!
给定一个长度为n的字符串,我将如何(伪)随机采样大小为k的m个子串,使得所有采样的子串都不重叠?我的大部分脚本编写经验都在Perl中,但是使用任何通用语言的易于运行的解决方案就足够了.
也许这是一个愚蠢的问题,实际上它的吸引力,或者Qt只是让我复杂化.事情就是这样:我在编写客户端 - 服务器应用程序时习惯了java,而且非常简单.我想在C++中做同样的事情(我对C++本身非常熟悉),我选择学习Qt.我尝试在qt中编写一些应用程序,但取得了部分成功.
困扰我的第一件事是信号和插槽.我知道如何在GUI编程中使用它们,但它让我对网络感到困惑.阻塞有问题.当我在java中调用BufferedReader的readLine()方法时,它会阻塞,直到它从套接字连接接收到行.在Qt我必须确保每次都有可用的行,并在没有行时处理它.
当我将QSocket的错误信号连接到我的一些自定义插槽时,当服务器发送最后一行并关闭连接时会发出信号,而在客户端的插槽/功能中,我从未读过最后一行.这是我到目前为止遇到的一些问题.
插槽和检查是否有可用的数据让我感到困惑,因为我必须实现最简单的协议.
重要部分:
我试图在互联网上找到一个很好的例子,但问题是所有的例子都是复杂的.有没有人可以告诉我如何编写简单的客户端 - 服务器应用程序.服务器只接受一个客户端.客户端发送包含命令的文本行.如果命令是"ADD"或"SUB",则服务器发送"SUP"表示支持该命令.否则它发送"UNS"并关闭连接.如果客户收到"SUP",它会发送到包含要减去或添加的数字的更多行.服务器响应结果并关闭连接.
我知道C++需要更多编码,但在Java中这只需要5分钟,因此在C++中编写它也不需要花很长时间.
我相信这个例子对于想要在Qt中学习网络的人来说非常有价值.
编辑: 这是我尝试制作应用程序(如上所述):这是服务器部分:
#ifndef TASK_H
#define TASK_H
#include <QObject>
#include <QTcpServer>
class Task : public QObject
{
Q_OBJECT
public:
Task(QObject *parent = 0) : QObject(parent) {}
public slots:
void run();
void on_newConnection();
void on_error(QAbstractSocket::SocketError);
signals:
void finished();
private:
QTcpServer server;
};
#endif // TASK_H
void Task::run()
{
connect(&server,SIGNAL(newConnection()),this,SLOT(on_newConnection()));
connect(&server,SIGNAL(acceptError(QAbstractSocket::SocketError)),this,SLOT(on_error(QAbstractSocket::SocketError)));
if(server.listen(QHostAddress::LocalHost, 9000)){
qDebug() << "listening";
}else{
qDebug() << "cannot listen";
qDebug() << server.errorString();
}
}
void Task::on_newConnection(){
std::cout << "handeling …Run Code Online (Sandbox Code Playgroud) 我有一个数据矩阵X(60x208)和一个标签矩阵Y(1x208).我想将我的数据矩阵X分成两个随机的列向量子集:训练(将是70%的数据)和测试(将是30%的数据),但我仍然需要确定哪个Y的标签对应于每个列向量.我找不到任何功能,任何想法?
编辑:我想我应该添加,Y中只有两个标签:1和2(不确定这是否有所不同)
我还在学习R,并且已经完成了根据另一个变量将一长串学生分成四人一组的任务.我已将数据作为数据框加载到R中.如何在没有替换的情况下对整行进行采样,从变量的4个级别中选择一个,并将R输出到电子表格中?
到目前为止,我一直在修补for循环和示例函数,但我很快就超越了我的脑袋.有什么建议?这是我试图做的样本.鉴于:
Last.Name <- c("Picard","Troi","Riker","La Forge", "Yar", "Crusher", "Crusher", "Data")
First.Name <- c("Jean-Luc", "Deanna", "William", "Geordi", "Tasha", "Beverly", "Wesley", "Data")
Email <- c("a@a.com","b@b.com", "c@c.com", "d@d.com", "e@e.com", "f@f.com", "g@g.com", "h@h.com")
Section <- c(1,1,2,2,3,3,4,4)
df <- data.frame(Last.Name,First.Name,Email,Section)
Run Code Online (Sandbox Code Playgroud)
我想从每个部分中随机选择一个星际迷航角色,最后得到2组4.我希望整行的信息能够转换成包含所有组及其相应组号的新数据帧.