Numpy 类型错误:';模块';对象不能使用调用
错误Numpy 类型错误:';模块';对象不能使用调用,numpy,python-3.4,Numpy,Python 3.4,错误 from __future__ import division from numpy import * import matplotlib as plt import os clear = lambda: os.system('cls') clear() # clear screen meu=1e-05 # exponential form x1=load(char('neweeg.txt')) x=x1(arange(1,5000)) xx=x1(arange(5001,10000)
from __future__ import division
from numpy import *
import matplotlib as plt
import os
clear = lambda: os.system('cls')
clear() # clear screen
meu=1e-05 # exponential form
x1=load(char('neweeg.txt'))
x=x1(arange(1,5000))
xx=x1(arange(5001,10000))
N=length(x)
X=zeros(4,1)
w=rand(4,1)
for n in arange(1,N).reshape(-1):
X[arange(2,end())]=X(arange(1,end() - 1))
X[1]=x(n)
y[n]=w.T * X
e[n]=x(n) - y(n)
w=w + meu * e(n) * X
J[n]=e(n) * e(n)
MSE=mean(J,1)
plt.plot(10 * log10(MSE))
plt.figure
plt.plot(x)
hold(char('on'))
plt.plot(y,char('r'))
plt.figure
plot(xx - (e).T)
hold(char('on'))
plt.plot(xx,char('r'))
文件“/home/pi/Documents/final.py”,第10行,在
x1=加载(char('neweeg.txt'))
typeError:“模块”对象不可调用
我认为直接的错误是因为您将char()当作函数来使用。这并不清楚您的意图(有一个python内置函数chr()从整数生成字符)
那就不清楚你想做什么了。load()将读取numpy.save()生成的pickle数组,但如果它是文本文件,则numpy.loadtxt()似乎更相关。但是x1将是一个ndarray,所以在接下来的两行中,将其作为函数与x1()一起使用是没有意义的。还有length()len()?rand(4,1)random.randint(1,4)还是numpy.random.randint(1,4)?正如安东所说,你只需要通过修正错误,在文档中查找东西来解决问题
最后,如果您不导入*而是以您认为正在使用的模块的名称作为每个方法的前缀,这将使您和其他人更加清楚。这是一个100%运行良好的Matlab代码。并尝试将其转换为Python
file "/home/pi/Documents/final.py", line 10, in <module>
x1=load(char('neweeg.txt'))
typeError: 'module' object is not callable
请使用适当的格式,先生,我不明白你在说什么,第8行显示错误先生,请帮我一个忙,我正在做我的最后一年项目,你为什么使用
char('newegg')
?您希望将其转换为char
type吗?先生,我有一个文本文件neweeg,其中10008个随机no'sinneweeg.txt 1008个数值,我想在x1中分配这个1008值,1-5000值分配给其他变量,5000-10000值分配给其他变量。如果我做错了,请帮助我解决这个问题。。我是新手,我真的不知道如何使用python中的模块,这段代码基本上是从matlab代码转换而来的,在matlab中工作100%很好,x1=np.loadtxt('neweeg.txt')x=np.arange(15001)xx=np.arange(500010001),但是matlab必须是一种边缘语言,如果它能够处理像y[],e[]和j[]这样引入下标变量的话。如果您发布您的matlab工作代码,或者用文字解释您的代码试图做什么,可能会更清楚。一般来说,如果您在numpy中使用python循环,您就会知道您的操作方式是错误的!(但我仍然不知道你想做什么)我已经发布了我的matlab代码,它将帮助你,我需要你的帮助。请
clc;
close all;
clear all;
meu = 0.00001;
x1=load('neweeg.txt');
x = x1(1:5000);
xx =x1 (5001:10000);
N = length(x);
X = zeros(4,1);
w = rand(4,1);
for n = 1:N
X(2:end) = X(1:end-1);
X(1) = x(n);
y(n) = w'*X;
e(n) = x(n) - y(n);
w = w + meu*e(n)*X;
J(n) = e(n)*e(n);
end
MSE = mean(J,1);
plot(10*log10(MSE))
title('MSE')
figure
plot(x);hold on; plot(y,'r')
title('X and Y')
figure;
plot(xx-(e)')
hold on
plot(xx,'r')
title('XX-(e) or XX')