【问题标题】:I'm encountering a syntax error while plotting vectors我在绘制向量时遇到语法错误
【发布时间】:2021-02-06 06:45:09
【问题描述】:

这是我绘制一些向量的代码:

import numpy as np
import matplotlib.pyplot as plt
epsilon_new = 10e-16;
a1 = np.array([1,1])
a2 = np.array([-1,1])
b1 = np.array([1,1])
b2 = np.array([1-epsilon_new,1])

c1 =4;
c2 = 2; #coefficients solved using basis A
c3 = 6-(4/epsilon_new);
c4 = 4/epsilon_new ; #coefficients solved using basis B
f = np.array([2,6]) #true f

plt.figure()
plt.plot(np.array([0,f[0]]),np.array([0,f[1]]),label='true f vector');
plt.plot(np.array([0,c1*a1[0]+c2*a2[0]),np.array([0,c1*a1[1]+c2*a2[1]),linestyle='--',label='f vector basis A');

我一直在最后一行收到语法错误:

plt.plot(np.array([0,c1*a1[0]+c2*a2[0]),np.array([0,c1*a1[1]+c2*a2[1]),linestyle='--',label='f vector basis A');
                                          ^
SyntaxError: invalid syntax

所以我想做的是绘制向量 [2 6],然后使用另一组基向量 A 绘制相同的向量,其中 a1 是该 2x2 矩阵的第一列,a2 是第二列那个 2x2 矩阵。我不知道为什么会出现语法错误

【问题讨论】:

  • 你错过了] 在这里看到np.array([0,c1*a1[0]+c2*a2[0]), 和同样的问题np.array([0,c1*a1[1]+c2*a2[1])
  • 每当您遇到带有 ^ 的语法错误时,请查找上一个函数或行。总是前一个导致语法错误

标签: python numpy syntax-error


【解决方案1】:

这一行缺少两个]

plt.plot(np.array([0,c1*a1[0]+c2*a2[0]),np.array([0,c1*a1[1]+c2*a2[1]),linestyle='--',label='f vector basis A');

错误在这里:

np.array([0,c1*a1[0]+c2*a2[0])  #missing ]. It should be a2[0]])

这里:

np.array([0,c1*a1[1]+c2*a2[1])  #missing ]. It should be a2[1]])

【讨论】:

  • 非常感谢!使用 [ ] 进行索引后,我感到头晕目眩,哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
相关资源
最近更新 更多