首页 > 解决方案 > 包括在循环中计算导数

问题描述

我对 Python 很陌生。我想编写一个包含导数以及其他表达式的循环(到目前为止,我只有导数)。

但是,我收到错误“第一个变量不能是数字:1”。我认为我收到了错误,因为 Python 试图将函数 wrt 与 t 区分开来,但是由于 range 函数,已经指定了 t 的值。

我不知道如何解决这个错误(特别是因为我认为函数和导数需要在我想要编程的其他东西的循环中)。

## IMPORT PACKAGES
import numpy as np
import math
import sympy as sym
import matplotlib.pyplot as plt
from scipy import misc

## DEFINING THE SYMBOLS AND FUNCTIONS
t = sym.Symbol("t")
f_diff = sym.Function("f_diff")
f = sym.Function("f")

## LOOP WITH DERIVATIVE

for t in range (1,4,1):
    f = t**2
    f_diff = sym.diff(f, t)
    print(f_diff)

标签: pythonloopsrangesympyderivative

解决方案


利用evalf

您正在传递变量的值而不是传递变量。如果您想找到某个值的导数,那么您可以使用evalf

for i in range (1,4,1):
    f = t**2
    f_diff = sym.diff(f,t).evalf(subs={t: i})
    print(f_diff)

2.00000000000000
4.00000000000000
6.00000000000000

推荐阅读