k=5.0e-4:1e-6:6e-4;
h=1.6e-6; n1=2.2899; n0=1.5040; n2=1.000;
p1=sqrt(k.^2.*n1.^2-b.^2); p2=sqrt(b.^2-k.^2.*n2.^2); p0=sqrt(b.^2-k.^2.*n0.^2);
y=solve('p1*h-pi-atan(p0./p1)-atan(p2./p1)=0');
出错的信息室b没有定义:
??? Undefined function or variable 'b'.
后来,我就把中间变量p0,p1,p2的表达式直接代入solve函数,但是还是出错,改后和出错原因如下:
k=5.0e-4:1e-6:6e-4;
h=1.6e-6; n1=2.2899; n0=1.5040; n2=1.000;
y=solve('(sqrt(k.^2.*n1.^2-b.^2)*h-pi-atan(sqrt(b.^2-k.^2.*n0.^2)./sqrt(k.^2.*n1.^2-b.^2))-atan(sqrt(b.^2-k.^2.*n2.^2)./sqrt(k.^2.*n1.^2-b.^2))=0');
出错提示信息:
??? Error using ==> solve
'sqrt(k.^2.*n1.^2-b.^2)*h-pi-atan(sqrt(b.^2-k.^2.*n0.^2)./sqrt(k.^2.*n1.^2-b.^2))-atan(sqrt(b.^2-k.^2.*n2.^2)./sqrt(k.^2.*n1.^2-b.^2))=0' is not a valid expression or equation.
Error in ==> E:\matlab\work\Untitled3.m
On line 6 ==> y=solve('sqrt(k.^2.*n1.^2-b.^2)*h-pi-atan(sqrt(b.^2-k.^2.*n0.^2)./sqrt(k.^2.*n1.^2-b.^2))-atan(sqrt(b.^2-k.^2.*n2.^2)./sqrt(k.^2.*n1.^2-b.^2))=0');
哪位高手能给我解释一下,谢谢。
错误提示如下:
??? Error using ==> solve
'p1=sqrt(k.^2.*n1.^2-b.^2)' is not a valid expression or equation.
Error in ==> E:\matlab\work\Untitled2.m
On line 6 ==> y=solve('p1=sqrt(k.^2.*n1.^2-b.^2)',...