MATLAB用fsolve解方程H=1.90;lanmuda=1.55;n1=1.55;n2=1.67;n3=1.50;k0=2*pi/lanmuda;r1=sqrt(n^2-n1^2)*k0;r2=sqrt(n2^2-n^2)*k0;r3=sqrt(n^2-n3^2)*k0;fun=@(n)(r2*H-atan(r1/r2)-atan(r3/r2))s= fsolve(fun,1.60)错误信息如下:fun = @(n)(r2*H-atan(r1/r
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 05:06:49
![MATLAB用fsolve解方程H=1.90;lanmuda=1.55;n1=1.55;n2=1.67;n3=1.50;k0=2*pi/lanmuda;r1=sqrt(n^2-n1^2)*k0;r2=sqrt(n2^2-n^2)*k0;r3=sqrt(n^2-n3^2)*k0;fun=@(n)(r2*H-atan(r1/r2)-atan(r3/r2))s= fsolve(fun,1.60)错误信息如下:fun = @(n)(r2*H-atan(r1/r](/uploads/image/z/13585468-4-8.jpg?t=MATLAB%E7%94%A8fsolve%E8%A7%A3%E6%96%B9%E7%A8%8BH%3D1.90%3Blanmuda%3D1.55%3Bn1%3D1.55%3Bn2%3D1.67%3Bn3%3D1.50%3Bk0%3D2%2Api%2Flanmuda%3Br1%3Dsqrt%28n%5E2-n1%5E2%29%2Ak0%3Br2%3Dsqrt%28n2%5E2-n%5E2%29%2Ak0%3Br3%3Dsqrt%28n%5E2-n3%5E2%29%2Ak0%3Bfun%3D%40%28n%29%28r2%2AH-atan%28r1%2Fr2%29-atan%28r3%2Fr2%29%29s%3D+fsolve%28fun%2C1.60%29%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%A6%82%E4%B8%8B%EF%BC%9Afun+%3D+%40%28n%29%28r2%2AH-atan%28r1%2Fr)
MATLAB用fsolve解方程H=1.90;lanmuda=1.55;n1=1.55;n2=1.67;n3=1.50;k0=2*pi/lanmuda;r1=sqrt(n^2-n1^2)*k0;r2=sqrt(n2^2-n^2)*k0;r3=sqrt(n^2-n3^2)*k0;fun=@(n)(r2*H-atan(r1/r2)-atan(r3/r2))s= fsolve(fun,1.60)错误信息如下:fun = @(n)(r2*H-atan(r1/r
MATLAB用fsolve解方程
H=1.90;
lanmuda=1.55;
n1=1.55;
n2=1.67;
n3=1.50;
k0=2*pi/lanmuda;
r1=sqrt(n^2-n1^2)*k0;
r2=sqrt(n2^2-n^2)*k0;
r3=sqrt(n^2-n3^2)*k0;
fun=@(n)(r2*H-atan(r1/r2)-atan(r3/r2))
s= fsolve(fun,1.60)
错误信息如下:
fun =
@(n)(r2*H-atan(r1/r2)-atan(r3/r2))
错误使用 fsolve (line 256)
FSOLVE requires all values returned by user functions to be of data type double.
出错 m11 (line 14)
s= fsolve(fun,1.60)
不要用solve,用slove我会解.
MATLAB用fsolve解方程H=1.90;lanmuda=1.55;n1=1.55;n2=1.67;n3=1.50;k0=2*pi/lanmuda;r1=sqrt(n^2-n1^2)*k0;r2=sqrt(n2^2-n^2)*k0;r3=sqrt(n^2-n3^2)*k0;fun=@(n)(r2*H-atan(r1/r2)-atan(r3/r2))s= fsolve(fun,1.60)错误信息如下:fun = @(n)(r2*H-atan(r1/r
fsolve要求所有内容都是double型,你这里r1,r2,r3
是sym变量,所以出错,改为下面:
f = @(n)sqrt(n2^2-n^2)*k0*H-atan(sqrt(n^2-n1^2)*k0/(sqrt(n2^2-n^2)*k0))-atan(sqrt(n^2-n3^2)*k0/(sqrt(n2^2-n^2)*k0));
>> fsolve(f,1.6)
fsolve要求所有内容都是double型,你这里r1,r2,r3
是sym变量,所以出错,改为下面:
f = @(n)sqrt(n2^2-n^2)*k0*H-atan(sqrt(n^2-n1^2)*k0/(sqrt(n2^2-n^2)*k0))-atan(sqrt(n^2-n3^2)*k0/(sqrt(n2^2-n^2)*k0));
>> fsolve(f,1.6)好,我...
全部展开
fsolve要求所有内容都是double型,你这里r1,r2,r3
是sym变量,所以出错,改为下面:
f = @(n)sqrt(n2^2-n^2)*k0*H-atan(sqrt(n^2-n1^2)*k0/(sqrt(n2^2-n^2)*k0))-atan(sqrt(n^2-n3^2)*k0/(sqrt(n2^2-n^2)*k0));
>> fsolve(f,1.6)
收起