MATLAB符号计算

今天记录一下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)
%  

通过这种方式可以计算任意的符号运算的结果(前提是公式最多比变量少一个,少太多就求解不出了)

 

posted @ 2020-04-11 17:09  楚千羽  阅读(314)  评论(0编辑  收藏  举报