Как я объявляю символьную матрицу в Октаве?

Python - как C #, Java, Perl, Ruby, Lua и многие другие языки - использует сборку мусора, а не ручное управление памятью. Вы просто произвольно создаете объекты и диспетчер памяти языка периодически (или когда вы специально направляете его) ищет любые объекты, которые больше не ссылаются на вашу программу.

Итак, если вы хотите удержать объект , просто держите ссылку на него. Если вы хотите, чтобы объект был освобожден (в конечном итоге), удалите любые ссылки на него.

def foo(names):
  for name in names:
    print name

foo(["Eric", "Ernie", "Bert"])
foo(["Guthtrie", "Eddie", "Al"])

Каждый из этих вызовов foo создает объект Python list, инициализированный тремя значениями. На время вызова foo они ссылаются на переменную names, но как только эта функция выходит из какой-либо переменной, она держит ссылку на них, и они являются честной игрой для удаления сборщика мусора.

24
задан TwentyMiles 18 March 2010 в 18:46
поделиться

2 ответа

Поможет ли этот ?

Похоже, вам может понадобиться пакет символьных инструментов , ссылка здесь .

9
ответ дан 29 November 2019 в 00:01
поделиться

Еще один пример для потомков.

Я использовал http://octave-online.net/ для разработки и запуска этого октавного скрипта.

Примечание: я включил вывод в качестве комментариев, чтобы показать результаты.

disp("2-state markov chain symbolic analysis");

syms lambda mu

L = [lambda,0]
# L = (sym) [λ  0]  (1×2 matrix)

U = [1;0]
#U =
#   1
#   0

C = [ [1,1]; [lambda,-mu]]
#C = (sym 2×2 matrix)
#  ⎡1  1 ⎤
#  ⎢     ⎥
#  ⎣λ  -μ⎦

C^-1
#ans = (sym 2×2 matrix)
#  ⎡  λ          -1   ⎤
#  ⎢────── + 1  ──────⎥
#  ⎢-λ - μ      -λ - μ⎥
#  ⎢                  ⎥
#  ⎢   -λ         1   ⎥
#  ⎢  ──────    ──────⎥
#  ⎣  -λ - μ    -λ - μ⎦

P = C^-1 * U
#P = (sym 2×1 matrix)
#
#  ⎡  λ       ⎤
#  ⎢────── + 1⎥
#  ⎢-λ - μ    ⎥
#  ⎢          ⎥
#  ⎢   -λ     ⎥
#  ⎢  ──────  ⎥
#  ⎣  -λ - μ  ⎦

lambda_sys = L * C^-1 * U
#lambda_sys = (sym)
#
#    ⎛  λ       ⎞
#  λ⋅⎜────── + 1⎟
#    ⎝-λ - μ    ⎠
1
ответ дан philcolbourn 29 November 2019 в 00:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: