我无法尝试调试某些代码(MATLAB新手)。我遇到了以下代码:
CC[theta_] := {{Cos[theta],I Sin[theta]},{I Sin[theta], Cos[theta]}}
我收到错误声明:
在“:”处解析错误:用法可能是无效的MATLAB语法。
当我删除:
时,我得到了完全相同的消息,只是在这种情况下它表示'解析错误在'=''。有没有什么办法解决这一问题?这是相当古老的MATLAB代码,所以我不确定语法风格是否已经改变。
答案 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/4
在CC(pi/4)
进行评估得出以下结果:
0.7071 + 0.0000i 0.0000 + 0.7071i
0.0000 + 0.7071i 0.7071 + 0.0000i