Имам проблеми при опит за отстраняване на грешки в някакъв код (нов за 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