']'근처 예기치 기호 (내 테스트 파일 test.lua
라는) :는 SciLua 다음 <a href="http://scilua.org/index.html" rel="nofollow noreferrer">SciLua</a> 페이지에서 다음 예제를 실행
test.lua:13: unexpected symbol near ']'
대부분의 다른 :
-- No global key is set:
local alg = require "sci.alg" -- Load sci.alg module.
local dist = require "sci.dist" -- Load sci.dist module.
local function randmatstat(t)
local n = 5
local v, w = alg.vec(t), alg.vec(t)
for i=1,t do
local a, b, c, d = randn(n, n), randn(n, n), randn(n, n), randn(n, n)
local P = alg.join(a..b..c..d)
local Q = alg.join(a..b, c..d)
v[i] = alg.trace((P[]`**P[])^^4) -- Matrix transpose, product and power.
w[i] = alg.trace((Q[]`**Q[])^^4) -- Matrix transpose, product and power.
end
return sqrt(stat.var(v))/stat.mean(v), sqrt(stat.var(w))/stat.mean(w)
end
내가 오류가 계속 모듈은 정상적으로 작동하지만 행렬을 사용할 때만 문제가 발생합니다. 도와 주셔서 감사합니다.
업데이트
: @stepelu으로 도움이 대답, 나는 그에게 매우 감사 해요, 다음과 같은 완전한 예는 지금 잘 작동 : 예상 출력
local alg = require 'sci.alg'
local prng = require 'sci.prng'
local stat = require 'sci.stat'
local dist = require 'sci.dist'
local min, sqrt, random, abs = math.min, math.sqrt, math.random, math.abs
local rng = prng.std()
local vec, mat, join = alg.vec, alg.mat, alg.join
local function randn(r, c)
local x = mat(r, c)
for i=1,#x do
x[i] = dist.normal(0, 1):sample(rng)
end
return x
end
local function randmatstat(t)
local n = 5
local v, w = alg.vec(t), alg.vec(t)
for i=1,t do
local a, b, c, d = randn(n, n), randn(n, n), randn(n, n), randn(n, n)
local P = alg.join(a..b..c..d)
local Q = alg.join(a..b, c..d)
v[i] = alg.trace((P[]`**P[])^^4) -- Matrix transpose, product and power.
w[i] = alg.trace((Q[]`**Q[])^^4) -- Matrix transpose, product and power.
end
return sqrt(stat.var(v))/stat.mean(v), sqrt(stat.var(w))/stat.mean(w)
end
print(randmatstat(1000))
:
0.75865001347735 0.74932678346271
[Finished in 0.2s]
백틱을 좋아하지 않아 냄새가 난다. –
나는 downvote를 본다. 그러나 이것은 루아를 배우는 나의 하루이다, 나는 바보 같은 짓을하고 있을지 모른다. downvoter는 나에게 힌트를 그 대신에주고, 더 긍정 일 수 있었느냐? – AboAmmar
@MarcinOrlowski - 백틱은 페이지가 말한 것처럼 매트릭스 전치를위한 것입니다. – AboAmmar