小编Emi*_*har的帖子

多项式的天真评估如何不准确?

在此Code Review答案中:

https://codereview.stackexchange.com/a/59405/11633

我找到了以下内容(嵌套引用!):

让我引用精彩的C++数字食谱书(但也适用)

我们假设你知道永远不会以这种方式评估多项式:

p=c[0]+c[1]*x+c[2]*x*x+c[3]*x*x*x+c[4]*x*x*x*x;
Run Code Online (Sandbox Code Playgroud)

或者(甚至更糟!),

p=c[0]+c[1]*x+c[2]*pow(x,2.0)+c[3]*pow(x,3.0)+c[4]*pow(x,4.0);
Run Code Online (Sandbox Code Playgroud)

来(计算机)革命,所有被认定犯有此类犯罪行为的人将被即决处决,他们的计划将不会!

(您可以在分析索引中找到您的版本中的页面,在"puns,particullary bad"条目下.我喜欢这本书.)

不这样做有两个原因:准确性和性能.评估多项式的​​正确方法是这样的:

-t * (0.319381530  +  t * (-0.356563782 + t * (1.781477937 + t * (-1.821255978 + 1.330274429 * t))))
Run Code Online (Sandbox Code Playgroud)

我可以看到以任何沮丧的方式实施它的严重性能损失,但不是精确度惩罚.准确性有什么不好?

我找到了这本书,但在引用位的任何地方都找不到这些信息.

language-agnostic polynomial-math polynomials

6
推荐指数
1
解决办法
230
查看次数

64位Python中的32位浮点数学运算

我编写了在32位硬件中运行32位数学的嵌入式软件.我经常调查浮点不精确问题.

目标调试是常规的,但为方便起见,我希望能够在我的桌面Python环境中进行快速计算,使其表现得像目标,即以32位进行数学运算.

桌面硬件,操作系统和Python安装都是64位的.

我们正在谈论IEEE浮动.

理想情况下,在配置之后,我希望能够0.1+0.2在Python解释器中键入,并且已经知道使用32位数学处理和存储所有内容.

我有什么选择?

python floating-point precision python-3.x

6
推荐指数
1
解决办法
1548
查看次数

如何将pyodbc连接到Access(.mdb)数据库文件

这是我尝试过的:

- 通过搜索找到Vista的ODBC数据源管理器*

- 添加新的文件数据源*,选择Microsoft Access驱动程序(*.mdb),并选择我感兴趣的mdb文件,

- 从python shell导入pyodbc并尝试:

pyodbc.connect("DSN=<that Data Source I just created>")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息(葡萄牙语**):

Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Nome da fonte de dados n\xe3o encontrado e nenhum driver padr\xe3o especificado (0) (SQLDriverConnectW)') 
Run Code Online (Sandbox Code Playgroud)

其中翻译为"未找到数据源名称且未指定标准驱动程序".

我究竟做错了什么?怎么做对吗?此外,我在网上搜索文档,但没有发现什么值得,有人可以推荐任何文档吗?

*名称可能不完全准确,因为我的Windows是葡萄牙语.

**不,葡萄牙语没有'3'和'\'作为字母,这些都是错误印刷的特殊字符

database ms-access odbc pyodbc windows-vista

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

没有isinstance()的列表列表的递归

我刚读过"isinstance()被认为是有害的",这似乎是合理的.简而言之,它主张避免使用这个功能.

好吧,刚才我正在编写一个程序,它将输入结构化为树,并且需要树的结构信息.没有时间实现GUI,我强加给用户将其写入配置文件(我知道这是一个糟糕的接口,但时间表非常紧张).我的用户非常技术,但不一定知道python.我选择该文件将包含表示输入树的列表(列表列表等)列表,最终元素是树的叶节点.我认为这比在用户上强加字典的合成更好.

我计划递归地解析列表如下(省略树的结构的使用,让我们简化并说必须在每个叶节点上调用treatLeafNode()):

def parseTree(input):
    if isinstance (input, list):
        for item in input:
            parseTree(item)
    else:
        treatLeafNode(item)
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,我想知道是否有一种简单的方法来解决这个问题,而不使用isinstance()......

有人知道吗?

python isinstance

5
推荐指数
2
解决办法
1867
查看次数

更改tkinter Messagebox按钮上的单词

我正在使用tkinter的"askokcancel"消息框来警告用户弹出一个不可逆转的动作.

from tkinter import Tk
Tk().withdraw()
from tkinter.messagebox import askokcancel
askokcancel("Warning", "This will delete stuff")
Run Code Online (Sandbox Code Playgroud)

我想将"确定"按钮的文本(从"确定")更改为"删除",以使其不那么温和.

这可能吗?

如果没有,实现它的另一种方法是什么?最好不要引入任何依赖...

python tkinter messagebox python-3.x

5
推荐指数
2
解决办法
8614
查看次数

UML应该用于创建GUI吗?

任何人都有使用UML创建GUI的经验?优缺点都有什么?

user-interface uml

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

ansi C是否限制了内存中程序的大小?

我被告知这一点,无法在网上找到确认或反驳.这是真的?如果是这样,这是限制吗?它通常是由编译器强制执行的吗?

c ansi

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

ansi C是否限制程序中的外部变量数量?

外部变量我指的是用extern修饰符声明的变量(并在程序的其他地方定义).

我被告知这个限制,无法在网上找到确认或反驳.这是真的?如果是这样,这是限制吗?它通常是由编译器强制执行的吗?

c ansi

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

如何使用pyodbc获取Access数据库的特定字段的数据类型?

我正在使用pyodbc对.mbd(访问)文件中的大型数据库进行数据挖掘.

我想创建一个新表,从几个现有表中获取相关信息(然后将其提供给工具).

我想我知道所有我需要传输数据,并且我知道如何创建一个给定列名和数据类型的表,但是我无法获得现有列中相应列的数据类型(INTEGER,VARCHAR等)表.我需要这些类型来兼容地创建新列.

我在互联网上找到的东西(比如这个这个)让我陷入无效命令的麻烦,所以我认为这是一个特定于平台的问题.然后,我在数据库上相当绿色.

有谁知道如何获得这些领域的类型?

python sql ms-access pyodbc

0
推荐指数
1
解决办法
6334
查看次数