/ / MATLAB: = Синтаксис? - matlab, синтаксис, wolfram-mathematica

MATLAB: = Синтаксис? - matlab, синтаксис, wolfram-mathematica

Имам проблеми при опит за отстраняване на грешки в някакъв код (нов за MATLAB). Попаднах на следния ред код:

CC[theta_] := {{Cos[theta],I Sin[theta]},{I Sin[theta], Cos[theta]}}

Получавам грешка, която гласи:

Грешка при синтактичен анализ при ":": Използването може да е невалиден синтаксис MATLAB.

Когато го махна :, Получавам точно същото съобщение, само че в този случай пише "Грешка при разбор при" = "". Има ли някакъв начин да се поправи това? Това е доста стар MATLAB код, така че не съм сигурен дали стилът на синтаксиса се е променил.

Отговори:

4 за отговор № 1

Предоставеният код произхожда ясно от Mathematica. За да направим същото в Matlab, можем да определим дръжка на функция:

CC = @(theta) [cos(theta), 1i*sin(theta); 1i*sin(theta), cos(theta)]

1i е въображаемата единица в Matlab (I в Математика). Matlab използва [a,b;c,d] да се дефинира a 2x2-матрица ({{a,b},{c,d}} в Математика). Дефиницията := не е възможно в Matlab. Може да се използва функционална дръжка (както в примера) или символна функция.

Оценява се в theta=pi/4 с командата CC(pi/4) дава този резултат:

 0.7071 + 0.0000i   0.0000 + 0.7071i
0.0000 + 0.7071i   0.7071 + 0.0000i