MATLAB:=语法?

时间:2015-06-23 09:04:20

标签: matlab syntax wolfram-mathematica

我无法尝试调试某些代码(MATLAB新手)。我遇到了以下代码:

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

我收到错误声明:

  

在“:”处解析错误:用法可能是无效的MATLAB语法。

当我删除:时,我得到了完全相同的消息,只是在这种情况下它表示'解析错误在'=''。有没有什么办法解决这一问题?这是相当古老的MATLAB代码,所以我不确定语法风格是否已经改变。

1 个答案:

答案 0 :(得分:4)

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

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

1i是Matlab中的虚构单元(Mathematica中的I)。 Matlab使用[a,b;c,d]定义2x2 - 矩阵(Mathematica中的{{a,b},{c,d}})。在Matlab中无法定义:=。可以使用函数句柄(如示例中所示)或符号函数。

使用命令theta=pi/4CC(pi/4)进行评估得出以下结果:

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