早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab的 input函数问题syms x lanmuda n2 n1 n3 H k0H=input('请输入芯层厚度=');lanmuda=('请输入波长=');n1=('请输入上层折射率=');n2=('请输入中间层折射率=');n3=('请输入下层折射率=');N=('请输入模数=');k0=2*pi

题目详情
matlab的 input函数问题
syms x lanmuda n2 n1 n3 H k0
H=input('请输入芯层厚度=');
lanmuda=('请输入波长=');
n1=('请输入上层折射率=');
n2=('请输入中间层折射率=');
n3=('请输入下层折射率=');
N=('请输入模数=');
k0=2*pi/lanmuda;
for i=0:N
q=i;
fun=sqrt(n2*n2-x^2)*k0*H-atan(sqrt(x^2-n1*n1)/sqrt(n2*n2-x^2))-atan(sqrt(x^2-n3*n3)/sqrt(n2*n2-x^2))-q*pi;
S=solve(fun,'x')
end
运行后出现请输入芯层厚度=,我输入1.8后,按enter键,出现错误,
错误使用 /
矩阵维度必须一致.
出错 m4 (line 9)
k0=2*pi/lanmuda;
数字输入完怎么结束输入,然后继续下一个输入.
▼优质解答
答案和解析
把第一排删了.syms是声明符号变量,你这里的H什么的都是数值变量,在MATLAB里不需要声明,直接写出来用就行了.