今天记录一下MATLAB符号运算规则,为求解微环谐振器的输入输出光场(这个求光场的公式是错误的,只是列举MATLAB符号运算的例子):(里面的exp(i*fi/2)的这一项代表光程,所以fi没有正负之分,不要再在fi前写负号了)
% syms x y A B % [x y]= solve(\'x+A*y=10\',\'x-B*y=1\',\'x\',\'y\') % syms r t tao i f e1 e2 e3 e4 % [e2 e3 e4] = solve(\'e2=r*e1+i*t*e3\',\'e4=r*e3+i*t*e1\',\'e3=tao*exp(i*f)*e4\',\'e2\',\'e3\',\'e4\') % k= e2/e1 syms r t tao i f s1 s2 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 [e2 e3 e4 e5 e6 e7 e8 e9 e10]=solve(\'e2=r*e1+i*t*e3\',\'e4=r*e3+i*t*e1\',\'e6=s2*e5\',\'e7=s1*e5\',\'e5=tao*exp(i*f/2)*e4\',\'e3=tao*exp(i*f/2)*e6\',\'e8=tao*exp(i*f/2)*e7\',\'e9=i*t*e8\',\'e10=r*e8\',\'e2\',\'e3\',\'e4\',\'e5\',\'e6\',\'e7\',\'e8\',\'e9\',\'e10\') k= e2/e1 % 部分求解结果 % k= % -(r - r^2*s2*tao^2*exp(f*i) + i^2*s2*t^2*tao^2*exp(f*i))/(r*s2*exp(f*i)*tao^2 - 1) %
通过这种方式可以计算任意的符号运算的结果(前提是公式最多比变量少一个,少太多就求解不出了)
请发表评论