返回信息流拟合这些执行之后都没问题,但是执行到%%色散曲线这部分的时候就出问题了
感觉是D1=diff(n_eff2,2);这句有问题
但不知道怎么改:( 麻烦大家帮我看看错在哪里,应该怎么改,谢谢
%%输入数据组;
w=[3.3837733611e+13 6.7502980771e+13 1.0089907768e+14 1.3401767560e+14 1.6691875733e+14 1.9970949832e+14 2.3247212435e+14 2.6524059400e+14 2.9802480901e+14 3.3082613186e+14 3.6364321368e+14 3.9647402890e+14 4.2931656938e+14 4.6216905771e+14 4.9502998747e+14 5.2789810376e+14 5.6077236729e+14 5.9365191733e+14 6.2653603898e+14 6.5942413586e+14];
n_eff=[1.4110425798 1.4146481350 1.4196309032 1.4250801683 1.4302312002 1.4344780793 1.4377008918 1.4400957925 1.4418878340 1.4432500437 1.4443039013 1.4451332328 1.4457962314 1.4463338682 1.4467754723 1.44714239620 1.4474504400 1.44771147470 1.4479345467 1.4481266405];
%%拟合有效折射率关于频率w的函数;
a=polyfit(w,n_eff,3)
w1=[0:0.1e14:7e14];
n_eff1=a(4)+a(3)*w1+a(2)*w1.^2+a(1)*w1.^3;
plot(w,n_eff,'*')
hold on
plot(w1,n_eff1,'-r')
xlabel('frequency/Hz');
ylabel('Effective Index');
figure(2)
plot(1./w1,n_eff1,'-g')
%%色散曲线
x=1./w;
b=polyfit(x,n_eff,3);
x1=[0:0.1e-13:1.0e-13];
n_eff2=a(4)+a(3)*x1+a(2)*x1.^2+a(1)*x1.^3;
D1=diff(n_eff2,2);
D=-x1/3e8.*D1;
figure(3)
plot(x1,D)
这是一条镜像帖。来源:北邮人论坛 / matlab / #4400同步于 2008/11/17
Matlab机器人发帖
请教怎么对拟合后的曲线求二次倒数
Elim
2008/11/17镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。