如何在python中编写这个求和方程

时间:2019-08-15 05:54:56

标签: python-3.x matlab

我有一个求和方程,并在matlab中进行编码。但是我不确定这是正确的。所以我想用python编写这个求和方程。我不知道如何用python编写此求和代码。谁能帮助我更正此代码?

在这里绘制图形时,图形中什么也不会显示。

enter image description here

代码:

clc;
clear all;
n=0:24
for i=24
  f= sum(X(t))*(i)
end
vpa(sum(f))
plot(n,f)

图:

enter image description here

X(t)
10
20
30
50
60
80
90
150
160
170
180

使用Nijin Koderi代码后:

enter image description here

2 个答案:

答案 0 :(得分:2)

我不确定您要达到什么目标。也许您可以帮助我理解您的代码?

您的问题是您不知道如何在python中重新编写方程式(在MATLAB中给出)还是无法成功绘制方程式?实际上,给出的代码段无法绘制。

  • t的值是多少?
  • 第二,您打算如何实现这一目标?
for i=24
  f=sum(X)*(i)
end

(1)就像写作:

i=24
f=sum(X()*(i)

您将获得一个标量值。 两种情况下的结果均为f = 41040

(2)如果要接收向量,可以将两个值相乘:

n=0:24
f=sum(X)*n

这将返回向量f = [ 0 1710 3420 ... ]

  • 在下一行中,您对向量X(t)求和,在您的情况下为 1710 。然后将其相乘24次,但始终将其分配给相同的变量(先前的值将被覆盖)。
    由于您的行vpa(sum(f)),我假设您期望的是矢量(2),而不是标量。我已经在上面解释了。
    顺便说一句:这行对我来说没有意义。假设您的意思是(2),您将再次收到标量值,但未将其分配给变量。

我已经重写了您的代码,因此对我来说很有意义。如果我绘制此图,我将收到一个坡道。

clc;
clear all;
X=10:10:180
n=0:24
f=sum(X)*n
vpa(sum(f)) % What’s the purpose?
plot(n,f)

答案 1 :(得分:0)

clc;
clear all;
n=0:24
X=[10,20,30,50,60,80,90,150,160,170,180]
for i=24
f= sum(X)*(i)
end
plot(n,f)

enter image description here

尝试一下