|
用matlab中solve函数解一个方程时给出了很多限制条件,并不能得到数值解,请问怎么解决?谢谢啦代码如下,就是公式里除了alpha其余全是已知量,为了输入一个delta的值解出一个alpha的值。
delta=10;
n_o=1.528;
n_e=1.7297;
lambda=632.8e-9;
d=30e-6;
alpha=solve('tan(alpha)=((n_e^2-n_o^2)*(((((2*pi*d*n_o*n_e)/((2*pi*d*n_o+delta*lambda)*cos(alpha)))^2-n_o^2)/(n_e^2-n_o^2))^0.5)*(((((2*pi*d*n_o*n_e)/((2*pi*d*n_o+delta*lambda)*cos(alpha)))^2-n_e^2)/(n_o^2-n_e^2))^0.5))/(n_o^2*((((2*pi*d*n_o*n_e)/((2*pi*d*n_o+delta*lambda)*cos(alpha)))^2-n_e^2)/(n_o^2-n_e^2))+n_e^2*((((2*pi*d*n_o*n_e)/((2*pi*d*n_o+delta*lambda)*cos(alpha)))^2-n_o^2)/(n_e^2-n_o^2)))','alpha');
|
|