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
我在尝试调试某些代码时遇到问题(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