首页 > 解决方案 > Matlab中名称后的两个连续括号

问题描述

请原谅我这个业余的问题,

我正在尝试将一些 Matlab 代码转换为 Python,我没有任何使用 Matlab 的经验,但到目前为止,我已经能够推断出 Matlab 代码的作用,并且到目前为止转换已经成功。

但现在我被这些代码行困住了;

        SERAstart = []
        for n=1:length(bet)
            alf = -bet(n) * 1e-2;
            SERAstart = [SERAstart(alf - i * bet(n))(alf + i * bet(n))];
        end

我不明白的是这条线;

SERAstart(alf - i * bet(n))(alf + i * bet(n))

“SERAstart”之后的两个连续括号,它们是嵌套数组索引吗?他们是索引然后函数调用返回索引吗?他们是函数调用然后再次函数调用以返回第一次调用的值吗?

请帮助我了解这里发生了什么,以便我可以将其转换为 Python。

我意识到,仅从我发布的一段代码中可能无法明确说出它的作用,但如果你能帮助指导我如何弄清楚它(不使用 Matlab),那么我也会非常感谢。

非常感谢您的帮助!

编辑:

这是我自己的转换尝试,但我不知道这是否有意义;

        # SERAstart = [];
        SERAstart = [[]]
        # for n=1:length(bet)
        for n in range(len(bet)):
            # alf = -bet(n) * 1e-2;
            alf = -bet[n] * 1e-2
            # SERAstart = [SERAstart(alf - i * bet(n))(alf + i * bet(n))];
            SERAstart = [SERAstart[alf - 1j * bet[n]][alf + 1j * bet[n]]]
        # end

编辑2:

我刚刚在与 SERAstart 相关的文档中注意到这一行:

        % SERAstart(N,1) : vector of starting poles [rad/sec]

标签: pythonmatlabporting

解决方案


推荐阅读