load('e1.mat')
load('e2.mat')
load('e3.mat')
w=3:1:9;%input('请输入脊宽:');
lanmuda=1.55;%input('请输入波长:');
M=1;%input('请输入模数= ');
N=1;
teneff=cell(M+1,N+1);
neff=cell(length(w),1);
for i=0:N
n1=teneff1{i+1,1}
n2=teneff2{i+1,1}
n3=teneff3{i+1,1}
k0=2*pi/lanmuda;
for j=0:M
p=j;
for k=1:length(w)
w=2+k
fun=@(n)(sqrt(n2^2-n^2)*k0*w-atan((n2^2*sqrt(n^2-n1^2))/(sqrt(n2^2-n^2)*n1^2))-atan((n2^2*sqrt(n^2-n3^2))/(sqrt(n2^2-n^2)*n1^2)))-p*pi;
neff{k,1}=fsolve(fun,1.6);
end
teneff{j+1,i+1}=neff;
end
end
这个函数的解是2*2的矩阵,矩阵中的每个元素是7*1的矩阵,我现在想话出w与7*1矩阵中每个元素的图像,就是说要在一幅图上画4条曲线,自变量是w=3:1:9,因变量是7个数值。该如何编程?还有就是他的结果是
[1.5738 + 0.0000i]
[1.6461 + 0.0000i]
[1.6456 + 0.0000i]
[1.6453 + 0.0000i]
[1.6468 + 0.0000i]
[1.6467 + 0.0000i]
[1.6453 - 0.0000i]
这样的形式,画图的时候不希望有虚数,这样的结果会影响画图吗?如果影响的话,改如何修正。画出来图的样式如下图。
这直接加在最后吗?
本回答被提问者采纳