【发布时间】:2021-04-19 05:46:28
【问题描述】:
我在 MatLab 方面有经验,目前正在过渡到 Python。以下是我在 MatLab 中编写的 For loop 的结构,但我不明白如何用 Python 编写它。
(顺便说一句,这里包含的值并不重要,而且大多是虚拟/修辞,我对这种方法更感兴趣)
U = 11;
dt = 0.1;
N = 100;
L = 120;
t(1)=0;
v(1)=0; v_(1)=0;
r(1)=0; r_(1)=0;
for i=2:N
t(i)=dt*(i-1);
v_(i-1)=v(i-1)/U;
r_(i-1)=r(i-1)/(U/L);
end
基本上,我想在 for 循环中执行数学计算并获得每个值,以制作 X、Y 图。我该如何处理?
提前致谢!
编辑:这是我目前所拥有的。
U = 11
dt = 0.1
N = 100
L = 120
t = []
v_ = []
r_ = []
v = []
r = []
for i in range(N):
t[i] = dt * (i - 1)
v_[i - 1] = v[i - 1] / U
r_[i - 1] = r[i - 1] / (U / L)
t.append()
v_.append()
r_.append()
print(t)
print(v_)
print(r_)
【问题讨论】:
-
您好,感谢您的回复。是的!我也寻找过类似的问题。我了解如何制定 for 循环并将值附加到列表中。但是我不知道如何处理两边的第i个(i和(i-1))项。
-
我建议您尝试在 Matlab 和 Python 中打印您的
i变量... -
你当前的 Python 代码有什么问题吗?您能解释一下 Matlab 代码的作用以及您在 Python 中编写代码时遇到的问题吗?
-
给定的 MATLAB 代码会引发错误,因为您没有正确更新您的变量(给定的
v、r等未初始化;根据给定的代码假设)。除此之外,我强烈建议您查看NumPy 库。有一个专用的NumPy for MATLAB users tutorial。 -
@tripleee 我的 Python 代码错误,因为我认为
i in range(N)以 0 开头(在 MatLab 中以 1 开头)。我认为这也是@Matteo V 对评论的意图。