我正在使用 Python 3 执行与数值分析相关的任务。
我必须绘制一些源自正弦函数的点。此外,我需要对这些点进行三次插值(三次样条)。
这样,这些任务就完成了。输出图片很棒,代码有效。但是,我需要检查三次样条的导数是否看起来像一个余弦函数。
看看这张图片:
在橙色中,您会看到余弦函数。在蓝色中,您会看到正弦函数。红色的是我采样的 5 个点。在紫色中,您可以看到线性插值。而且,在破折号中,您会看到三次插值。
我需要绘制虚线曲线的导数并将其与橙色曲线进行比较。
直觉上,我知道它们会非常相似。但是,我无法用图表证明这一点。
那是代码:
import math
import random
from numpy import array
import numpy as np
import matplotlib.pyplot as plot
from scipy.interpolate import interp1d
from scipy import interpolate
from scipy.misc import derivative as deriv
def random_sine():
lista_f_x = []
lista_x = []
for i in range(1,6):
aleatorio = random.uniform(0,360)
aleatorio = math.radians(aleatorio)
lista_x.append(aleatorio)
sine_random = math.sin(aleatorio)
lista_f_x.append(sine_random)
lista_x = array(lista_x)
lista_f_x = array(lista_f_x)
return ("x",lista_x,"f(x)", lista_f_x)
# …Run Code Online (Sandbox Code Playgroud) interpolation matplotlib numerical-methods derivative python-3.x
我正在学习《Common LISP: A Gentle Introduction to Symbolic Computation》这本书。这本书大约有 40 年的历史,显然,有点经典。
在第 1 章中,作者使用框来解释具有输入和输出的函数。这是其中一张图:

其实上图就是这个问题的答案。我得到了第一个问题和第二个问题:

(not (not ...)) 的组成取决于“...”变量部分。例如,终端显示:
CL-USER> (not (not 12))
T
CL-USER> (not (not nil))
NIL
Run Code Online (Sandbox Code Playgroud)
这本书的练习在某些方面似乎是错误的。但是,由于我对 CL 不太了解,我认为最好问问更有经验的 CL 开发人员是否也认为这是答卷中的一个奇怪点。
我正在使用 SBCL、Slime 和 Common Lisp。我是 CL 的新手,但我在 Racket 方面有一些经验。
提前致谢
我正在使用 Emacs、SBCL 和 Slime 学习 Common Lisp。
我想确切地知道内置函数的代码定义是什么。
我知道如何使用(documentation ...)和(describe ...)。但是,它们仅提供高级别的信息。我想看看代码细节。
以nth内置函数为例。
Documentation 给我们:
CL-USER> (documentation 'nth 'function)
"Return the nth object in a list where the car is the zero-th element."
Run Code Online (Sandbox Code Playgroud)
Describe 给我:
CL-USER> (describe 'nth)
COMMON-LISP:NTH
[symbol]
NTH names a compiled function:
Lambda-list: (SB-IMPL::N LIST)
Declared type: (FUNCTION (UNSIGNED-BYTE LIST) (VALUES T &OPTIONAL))
Derived type: (FUNCTION (T T) (VALUES T &OPTIONAL))
Documentation:
Return the nth object in a list where …Run Code Online (Sandbox Code Playgroud) 我有一个.lisp包含以下内容的本地文件:
((:DATE @2021-08-04T17:36:57.804411-03:00 :URL
"https://www.facebook.com/r.php")
(|:name| "jazoest" |:value| "2985" |:type| "hidden")
(|:name| "lsd" |:value| "AVpp0Bi0ysk" |:type| "hidden")
(|:id| "u_0_y_q3" |:name| "custom_gender" |:type| "text")
(|:id| "referrer" |:name| "referrer" |:type| "hidden")
(|:id| "asked_to_login" |:name| "asked_to_login" |:value| "0" |:type|
"hidden")
(|:id| "use_custom_gender" |:name| "use_custom_gender" |:type| "hidden")
(|:id| "terms" |:name| "terms" |:value| "on" |:type| "hidden")
(|:id| "ns" |:name| "ns" |:value| "0" |:type| "hidden")
(|:id| "ri" |:name| "ri" |:value| "afc4dac1-259a-4006-a979-8ab182d93cce"
|:type| "hidden")
(|:id| "action_dialog_shown" |:name| "action_dialog_shown" |:type| "hidden")
(|:id| "invid" |:name| "invid" |:type| …Run Code Online (Sandbox Code Playgroud) 特殊函数之所以得此名,是因为它们不同于宏和普通函数。
就像宏一样,特殊函数不评估它们的输入。但与宏不同的是,它们不返回要计算的 Lisp 表达式。特殊函数提供了构建 Lisp 的原语,例如赋值、条件和块结构。
1989 年 [1],David S. Touretzky 写道,共有24 个内置的 Common Lisp特殊函数:
BLOCK,CATCH,COMPILER-LET,DECLARE,EVAL-WHEN,FLET,FUNCTION,GO,IF,LABELS,LET,LET*,MACROLET,MULTIPLE-VALUE-CALL,MULTIPLE-VALUE-PROG1,PROGN,PROGV,QUOTE,RETURN-FROM,SETQ,TAGBODY,THE,THROW;UNWIND-PROTECT。他还说:
这个列表可能会随着 Common Lisp 标准的未来修订而改变。
这本书在 2014 年有新版本。然而,信息保持不变。即使在 …
common-lisp ×4
built-in ×1
derivative ×1
function ×1
matplotlib ×1
negation ×1
python-3.x ×1
sbcl ×1
slime ×1