小编MOO*_*OON的帖子

在numpy和scipy中的因子

如何从numpy和scipy中分别导入阶乘函数,以便查看哪一个更快?

我已经通过导入数学从python本身导入了factorial.但是,它不适用于numpy和scipy.

python numpy scipy

42
推荐指数
4
解决办法
10万
查看次数

if 语句与 Python 中的 match/case 语句有何不同?

问题要求使用 Python 中的 aswitch/casematch/case等效项。看来从Python 3.10开始我们现在可以使用match/case语句了。除了语法差异之外,我无法看到和理解match/case和陈述之间的区别!if, elif

是否存在根本差异导致它们具有不同的性能?或者以某种方式使用match/case我们可以更好地控制流量?但如何?match/case有没有比仅仅陈述更好的例子if

python if-statement match

14
推荐指数
1
解决办法
1万
查看次数

C++中的符号计算

我需要在C++中进行分析集成.例如,我应该整合这样的表达式:exp[I(x-y)],I是一个虚数.

我怎么能用C++做到这一点?

我尝试了GiNaC但它可以只集成多项式.我也试过SymbolicC++.它可以集成功能,如sine,cosineexp(x)ln(x),但它是不是很厉害.例如,它无法集成x*ln(x),可以通过使用Mathematica或通过部件集成轻松获得.

是否有其他工具或库能够进行符号计算,如C++中的分析集成?

c++ symbolic-computation

13
推荐指数
2
解决办法
9716
查看次数

C在C中做了什么?

请考虑以下代码:

k <- c(.5, 1)
Run Code Online (Sandbox Code Playgroud)

c在这做什么?我认为它必须是一个列表或向量.如果是,我如何扩展此向量以包含1024个值?

r

9
推荐指数
2
解决办法
6万
查看次数

如何在朱莉娅中绘制矢量场?

我想在Julia中绘制一个矢量场.我在这里找不到一个例子. 这里有一些例子plotly,但是,它们对我不起作用.我想用plotlyjs或绘制矢量场plotly.

以下是Julia中的示例代码:

using Plots
pyplot()
x = collect(linspace(0,10,100));
X = repmat(x,1,length(x));
Y = repmat(x',length(x),1);
U = cos.(X.*Y);
V = sin.(X.*Y);
streamplot(X,Y,U,V)
Run Code Online (Sandbox Code Playgroud)

这是Matlab示例:

[x,y] = meshgrid(0:0.2:2,0:0.2:2);
u = cos(x).*y;
v = sin(x).*y;

figure
quiver(x,y,u,v)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

plot julia plotly plotly.js

9
推荐指数
1
解决办法
2151
查看次数

如何在 Julia 中查看结构体的参数?

dir在 Python 中,对象上的命令返回该对象的属性和方法。Julia 中有等效的命令吗?我知道 Julia 没有 Python 对象意义上的方法,但是我们可以看到结构体的参数吗?

struct julia

7
推荐指数
1
解决办法
2083
查看次数

Fortran中的任意精度算术

如何在 Fortran 中进行任意精度算术?

我需要两件事。我想处理非常大的整数和实数,并处理任意精确的实数。

fortran arbitrary-precision

5
推荐指数
0
解决办法
1307
查看次数

如何在 Julia 中启动多线程?

我在Windows 10下使用Julia1.7并根据我应该做的文档启动多个线程:

$ julia --threads 4
Run Code Online (Sandbox Code Playgroud)

我应该在哪里输入这样的命令?当我启动 Julia 时,环境如下所示: 在此输入图像描述

它没有标志$

multithreading julia

5
推荐指数
1
解决办法
3345
查看次数

如何使用即时编译 (JIT) 提高 Julia 的性能

我一直在使用 JAX(Python 中的自动微分库)和 Zygote(Julia 中的自动微分库)来实现高斯-牛顿最小化方法。我在 Jax 中发现了一个@jit宏,它可以在大约 0.6 秒内运行我的 Python 代码,而不使用@jit. Julia 在大约 40 秒内运行了该代码。Julia 或 Zygote 中是否有等效的@jit结果可以带来更好的性能?

这是我使用的代码:

Python

from jax import grad, jit, jacfwd
import jax.numpy as jnp
import numpy as np
import time

def gaussian(x, params):
    amp = params[0]
    mu  = params[1]
    sigma = params[2]
    amplitude = amp/(jnp.abs(sigma)*jnp.sqrt(2*np.pi))
    arg = ((x-mu)/sigma)
    return amplitude*jnp.exp(-0.5*(arg**2))

def myjacobian(x, params):
    return jacfwd(gaussian, argnums = 1)(x, params)

def op(jac):
    return jnp.matmul(
        jnp.linalg.inv(jnp.matmul(jnp.transpose(jac),jac)),
        jnp.transpose(jac))
                         
def res(x, data, …
Run Code Online (Sandbox Code Playgroud)

python optimization julia jax

4
推荐指数
1
解决办法
397
查看次数

如何在微分方程 (SciPy) 中使用 if 语句?

我正在尝试用 Python 求解微分方程。在这两个系统微分方程中,如果第一个变量 ( v) 的值大于阈值 (30),则应将其重置为另一个值 (-65)。下面我把我的代码。问题是第一个变量的值在达到 30 后保持不变并且不会重置为 -65。这些方程描述了单个神经元的动力学。方程式取自本网站和此PDF 文件

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter
from scipy.integrate import odeint
plt.close('all')

a = 0.02
b = 0.2
c = -65
d = 8
i = 0

p = [a,b,c,d,i]

def fun(u,tspan,*p):
    du = [0,0]
    if u[0] < 30: #Checking if the threshold has been reached
        du[0] = (0.04*u[0] + 5)*u[0] + 150 - u[1] - p[4]
        du[1] …
Run Code Online (Sandbox Code Playgroud)

python scipy differential-equations

3
推荐指数
1
解决办法
1679
查看次数