MATLAB := 语法?

MATLAB := Syntax?

我在尝试调试某些代码时遇到问题(MATLAB 新手)。我遇到了以下代码行:

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

我收到一条错误消息:

Parse error at ":": Usage may be invalid MATLAB syntax.

当我删除 : 时,我得到了完全相同的消息,只是在本例中显示的是 'Parse error at "="'。有没有什么办法解决这一问题?这是相当旧的 MATLAB 代码,所以我不确定语法风格是否发生了变化。

提供的代码显然来自 Mathematica。要在 Matlab 中做同样的事情,我们可以定义一个函数句柄:

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

1i 是 Matlab 中的虚数单位(I 在 Mathematica 中)。 Matlab 使用 [a,b;c,d] 来定义一个 2x2-矩阵(在 Mathematica 中是 {{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