我有一个带有Arduino Uno的机器人类型项目,总而言之,我正在尝试一些AI算法.但是,我需要实现一些使用NumPy/SciPy非常简单的高级矩阵算法,但它们在C或C++中是一个彻头彻尾的噩梦.即使有图书馆,这也是荒谬的.
有什么方法可以用Python做这个项目吗?我想我听说Mega有这个功能的东西,但是我有一个Uno,并且在这一点上替换它不是一个选项(这会使项目恢复很多.)另外,我听说过使用Python进行通信的一些事情通过USB连接到Arduino,但是在运行时我无法连接USB电缆.我需要能够上传程序并完成它.
那里有没有选择,或者我刚刚走到尽头?
假设我有一个代码块,我想像这样测试:
<?php
Print "Hello, World!";
?>
Run Code Online (Sandbox Code Playgroud)
如何从终端快速运行此代码而不将其保存到文件中?
我试过像......
php -r "Print "Hello, World!";"
Run Code Online (Sandbox Code Playgroud)
但只是抱怨语法错误.必须有一种简单的方法来做到这一点.我还没有找到任何解释.
我正在为python程序开发我的第一个C++扩展.我一直试图调试这段特殊的代码几个小时,我的想法不合适.
segfault似乎与PyArrayObject old_simplices_array传递给C++代码的东西有关.该对象是一种2d numpy array类型uint32.
此代码直接由scipy.weave放在一起的代码修改.当代码被scipy.weave.inline格式化并使用时,一切正常.这似乎消除了我的程序的python部分和算法本身可能成为罪魁祸首.
这只留下了语法和类型.有没有人看到任何不正确的语法或类型转换代码?
static PyObject* exterior(PyObject* self,
PyArrayObject* old_simplices_array)
{
const short unsigned int step = old_simplices_array->dimensions[1];
const short unsigned int j_max = step - 1;
const long unsigned int col_max =
old_simplices_array->dimensions[0] * step;
short unsigned int j, k, face_index;
long unsigned int col;
unsigned int num_simplices = 0;
PyObject* indices = PyList_New(0);
PyObject* indptr = PyList_New(0);
PyObject* data = PyList_New(0);
PyObject* simplices = PyList_New(0);
PyList_Append(indptr, PyLong_FromLong(0)); …Run Code Online (Sandbox Code Playgroud) 我有一个包含子程序的模块,该子程序又包含一个函数.我use themodule在我的主程序中说我可以call thesubroutine,但是如何访问子程序中包含的函数?
代码如下所示:
module useful
integer, parameter :: N=2
double precision, parameter :: xmin=1, xmax=10, pi=3.1415926535898
double complex :: green(N,N), solution(N), k=(2.0,0.0)
contains
subroutine y(n1)
contains
function x(n1)
real :: n1, x
x=n1*(xmax-xmin)/N
end function x
end subroutine y
end module useful
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习Erlang来做一些简单但可扩展的网络编程.我基本上想要编写一个程序来完成互联网主干上的服务器 - 但规模较小.我想尝试建立一个内部网,其中包含可访问Web的服务器,这些服务器将充当内部网[sic]的网关,并将数据路由到连接的客户端和/或其他网关.
高流量来自这样一个事实:数据不仅会从客户端流向网关而是流向客户端,而是可能需要在几个网关周围反弹才能到达目的地(就像数据在互联网上传播一样).这意味着网关不仅要处理来自客户端的流量,还要处理来自其他网关客户端的流量.
我认为这会导致异常高的流量,即使对于中等数量的客户端和网关也是如此.
来自Python的背景,以及其他脚本语言的较小程度,我习惯于挖掘自定义模块来解决我的问题.我知道Erlang是专为高流量网络编程而设计的,但我能找到的所有这些东西的库/模块都是gen_tcp.
这是否意味着Erlang已经针对这种事情进行了优化,您可以使用其最基本的模块来启动它并期望它可以很好地扩展?
我对 JVM 的所有东西都很陌生,想要启动一个包含 Clojure 库作为依赖项的 Java 项目。我已经看到了有关如何从 Java 运行 Clojure 代码的问题,但是当我尝试在 后运行 jar 文件时mvn package,我得到cannot find symbol了variable Clojure. 到目前为止我的代码看起来像这样:
package org.example;
import clojure.java.api.Clojure;
import clojure.lang.IFn;
public class App
{
public static void main( String[] args )
{
IFn plus = Clojure.var("clojure.core", "+");
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的 pom 文件如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>project</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>poi</name>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>clojars</id>
<url>https://repo.clojars.org/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled> …Run Code Online (Sandbox Code Playgroud) 我正在起草/测试我为解决速度和效率的微分方程而设计的技术.
它需要存储,操纵,调整大小,并且(在某些时候)可能对非常大的稀疏矩阵进行对角化.我希望能够有由零和一些(比如<5)组成的行,并一次添加几个(按照使用的cpus数量的顺序).
我认为让gpu加速是有用的 - 所以任何关于采取优势的最佳方式的建议也会受到赞赏(比如pycuda,theano等)
我希望能够实时动态读取和写入音频数据.我注意到python "audioscope"打开unix/linux /dev/dsp文件并从中读取原始字节.
但是,我使用的是Mac OSX 10.5.8,双启动linux非常困难(我试过.)我想知道是否有一个特定的"标准"python模块可以读写音频数据(可能存储快照numpy数组中的数据.)我计划在线程读取/存储数据,另一个线程通过发送新信号进行响应.
截至目前,我想在我的电脑中使用音频插孔,但在某些时候,我希望能够以类似的方式使用USB声卡.那时,我希望能够控制多个信号(使用USB端口扩展器.)
我一直在寻找一段时间,我发现了一些用于音频处理的库,但它们通常基于读写文件,而不是动态数据处理.也许最好的图书馆根本就不是音频库.我实际上打算用它来控制电路,但谷歌引导我将音频作为使用电脑的最佳方式.
无论如何,我希望得到一些建议.
我是 cython 的新手,我只是在寻找一种将 numpy 数组转换为元组的简单方法,然后可以将其添加到和/或在字典中查找。
在 CPython 中,我可以使用 PyTuple_New 并迭代数组的值(将每个值添加到元组中,就像我将它们附加到列表一样)。
Cython 似乎没有提供通常的 CPython 函数。我怎么能打开一个数组:
array([1,2,3])
Run Code Online (Sandbox Code Playgroud)
成一个元组:
(1, 2, 3)
Run Code Online (Sandbox Code Playgroud) 说我有一个荒谬的大文本文件.我不认为我的文件会比@ 500mb大,但为了扩展性和我自己的好奇心,让我们说这是几个演出的顺序.
我的最终目标是将它映射到一个句子数组(由'?''!''.'和所有意图和目的';'分隔)和每个句子到一个单词数组.然后我将使用numpy进行一些统计分析.
这样做最具可扩展性的方法是什么?
PS:我想重写文件每行只有一个句子,但是我在尝试将文件加载到内存时遇到了问题.我知道解决方案,你在一个文件中读取数据,操纵它们,然后将它们写入另一个文件,但这对磁盘内存来说似乎效率低下.我知道,现在大多数人不会担心使用10gig的临时空间,但似乎应该有一种直接编辑文件夹头的方法.