首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numba阵列函数

Numba阵列函数
EN

Stack Overflow用户
提问于 2020-11-24 00:25:37
回答 1查看 134关注 0票数 0

试图简单地苹果numba @njit (没有Python模式)的速度在numba,但遇到错误,我不明白。

要声明大小为n =100的数组,在循环中要设置索引i在范围(0,100)等于r**2+5的每个数组成员

为什么numba会有这么多错误?

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import numpy as np
from numba import njit


n=100
r=.5
 
Values=np.zeros(n, dtype=np.float64)

@njit
def func(n):
    for i in range(0,n): 
        Values[i]=r**2+5
    return(Values)

print(func(n))
EN

回答 1

Stack Overflow用户

发布于 2022-05-29 12:01:59

您可以对代码做一些修改,如下所示:

代码语言:javascript
复制
import numpy as np
from numba import njit

@njit
def func(n):
    r = .5
    Values = np.zeros(n, dtype=np.float64)
    for i in range(0, n):
        Values[i] = r ** 2 + 5
    return (Values)

或者,你可以用更干净、更通俗的方式来理解清单。即按你所说的批量分配。

代码语言:javascript
复制
@njit
def func1(n):
    vals = np.array([(0.5**2 + 5) for r in range(n)])
    return vals
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64978557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档