如何将matlab中的函数转换为python?

2024-04-19 15:01:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把这段代码从matlab转换成python,但是我得到了这个错误,我不知道是怎么回事。 如果你能帮我写代码我会很感激的

我已经试过玩空格了。 我不知道如何在python上使用for循环

这是我在matlab中的函数:

function err=Mse(RuleBase,x1,x2)
temp=zeros(1,6);
Soogeno=zeros(49,4);
for i=1:length(RuleBase)
    y=crisp(0,50,RuleBase(i,3),7);
    temp(1,:)=RuleBase(i,:);
    temp(1,3)=y;
    Soogeno(i,:)=temp(1,1:4);    
end

这是我的python代码:

def Mse(RuleBase,x1,x2):
temp=np.zeros(shape = (1,6))
soogeno=np.zeros(shape = (49,4))

for i in range(len(RuleBase)):
    y=crisp(m=0,M=50,fy=RuleBase[i,3],n=7) 
    temp[0]=RuleBase[i]
    temp[0,2]=y
    Soogeno[i]=temp[0,0:3]
    return(soogeno)

这是我得到的错误:

对于范围内的i(len(RuleBase)): ^ 缩进错误:意外缩进


Tags: 代码for错误npzerostempx1x2
1条回答
网友
1楼 · 发布于 2024-04-19 15:01:59

缩进在python中是严格执行的:

应该运行:

def Mse(RuleBase,x1,x2):
    temp=np.zeros(shape = (1,6))
    soogeno=np.zeros(shape = (49,4))

    for i in range(len(RuleBase)):
        y=crisp(m=0,M=50,fy=RuleBase[i,3],n=7)
        temp[0]=RuleBase[i]
        temp[0,2]=y
        Soogeno[i]=temp[0,0:3]
    return(soogeno)     

相关问题 更多 >