Trouble with Interp2
Mostra commenti meno recenti
I am trying to use interp2 to look up values on in a table. I think that the problem is posed correctly (though obviously it is not), but all I get back is that the:
Error using interp2>makegriddedinterp (line 230)
Input grid is not a valid MESHGRID.
Error in interp2 (line 134)
F = makegriddedinterp(X, Y, V, method,extrap);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in LYNX_reflectivity_test_2 (line 61)
interp2(ang_mesh,ener_mesh,Refl,1,1000)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The code is below. The first step is to create a table of reflectivies as a function of angle and energy, interpolate that table line by line to create a finer grid in energy, and then test that the meshgrid works. That is where is fails, and I just can't see what the problem is with the 2 interp2 statements at the bottom.
Thanks
Peter
Code below:
%Ir 10.nm/Cr 10.nm/SiO2 at 300.eV, P=0. Ir 10.nm/Cr 10.nm/SiO2 at 1000.eV, P=0. Ir 10.nm/Cr 10.nm/SiO2 at 5000.eV, P=0. Ir 10.nm/Cr 10.nm/SiO2 at 10000.eV, P=0.
%Angle (deg), Reflectivity, Transmission into substrate Angle (deg), Reflectivity, Transmission into substrate Angle (deg), Reflectivity, Transmission into substrate Angle (deg), Reflectivity, Transmission into substrate
Ir_10nm_Cr_10nm= [...
0.000000 1.00000 0.000000 0.000000 1.00000 0.000000 0.000000 1.00000 0.000000 0.000000 1.00000 0.000000
0.100000 0.982382 8.652573E-07 0.100000 0.980819 2.761637E-08 0.100000 0.961194 7.556862E-09 0.100000 0.970851 7.765713E-09
0.200000 0.965071 1.719669E-06 0.200000 0.961976 5.596694E-08 0.200000 0.922734 2.765021E-08 0.200000 0.938211 1.647113E-05
0.300000 0.948057 2.567899E-06 0.300000 0.943431 8.642812E-08 0.300000 0.883305 1.645055E-07 0.300000 0.892460 6.416535E-04
0.400000 0.931332 3.414433E-06 0.400000 0.925152 1.205377E-07 0.400000 0.841437 1.641682E-05 0.400000 0.776047 3.014587E-02
0.500000 0.914888 4.263738E-06 0.500000 0.907106 1.602024E-07 0.500000 0.795022 1.044327E-04 0.500000 0.414675 0.203665
0.600000 0.898715 5.120294E-06 0.600000 0.889262 2.079145E-07 0.600000 0.740373 6.502263E-04 0.600000 2.639916E-02 0.600880
0.700000 0.882807 5.988663E-06 0.700000 0.871589 2.670899E-07 0.700000 0.670460 4.532680E-03 0.700000 5.090132E-02 0.666863
0.800000 0.867156 6.873516E-06 0.800000 0.854059 3.426060E-07 0.800000 0.582072 1.752900E-02 0.800000 8.964668E-03 0.739812
0.900000 0.851754 7.779961E-06 0.900000 0.836637 4.418530E-07 0.900000 0.462636 3.669631E-02 0.900000 6.255109E-03 0.778701
1.00000 0.836595 8.712494E-06 1.00000 0.819307 5.757112E-07 1.00000 0.287212 8.603266E-02 1.00000 8.307789E-03 0.801262
1.10000 0.821673 9.676867E-06 1.10000 0.802032 7.623986E-07 1.10000 0.113086 0.191545 1.10000 3.204778E-03 0.823322
1.20000 0.806979 1.067877E-05 1.20000 0.784783 1.032557E-06 1.20000 4.265893E-02 0.302449 1.20000 1.369765E-03 0.841015
1.30000 0.792511 1.172367E-05 1.30000 0.767544 1.440837E-06 1.30000 3.424924E-02 0.377434 1.30000 2.013776E-03 0.853180
1.40000 0.778259 1.281891E-05 1.40000 0.750272 2.097700E-06 1.40000 4.541511E-02 0.422315 1.40000 2.044105E-03 0.863582
1.50000 0.764220 1.397090E-05 1.50000 0.732951 3.244685E-06 1.50000 3.447726E-02 0.462093 1.50000 8.998325E-05 0.874569
1.60000 0.750386 1.518820E-05 1.60000 0.715537 5.501835E-06 1.60000 1.121614E-02 0.507514 1.60000 8.285744E-04 0.881952
1.70000 0.736754 1.647850E-05 1.70000 0.698017 1.043718E-05 1.70000 3.812777E-03 0.545209 1.70000 9.592185E-04 0.888774
1.80000 0.723318 1.785118E-05 1.80000 0.680360 1.979164E-05 1.80000 5.419738E-03 0.572716 1.80000 1.404092E-04 0.895597
1.90000 0.710075 1.931691E-05 1.90000 0.662529 3.291488E-05 1.90000 6.503398E-03 0.595698 1.90000 3.395465E-04 0.901000
2.00000 0.697017 2.088734E-05 2.00000 0.644491 4.970375E-05 2.00000 8.737379E-03 0.614274 2.00000 3.610264E-04 0.905901
2.10000 0.684142 2.257595E-05 2.10000 0.626204 7.134984E-05 2.10000 8.188237E-03 0.631155 2.10000 3.175893E-04 0.910347
2.20000 0.671445 2.439662E-05 2.20000 0.607643 9.966306E-05 2.20000 3.437309E-03 0.649587 2.20000 3.847828E-05 0.914674
2.30000 0.658921 2.636680E-05 2.30000 0.588763 1.371713E-04 2.30000 5.906834E-04 0.666898 2.30000 2.018896E-04 0.918212
2.40000 0.646567 2.850380E-05 2.40000 0.569542 1.872420E-04 2.40000 1.199021E-03 0.680769 2.40000 2.279600E-04 0.921553
2.50000 0.634379 3.083119E-05 2.50000 0.549920 2.546647E-04 2.50000 1.850882E-03 0.692946 2.50000 2.762698E-05 0.924826
2.60000 0.622354 3.337174E-05 2.60000 0.529880 3.458717E-04 2.60000 2.201997E-03 0.704161 2.60000 1.045066E-04 0.927638
2.70000 0.610487 3.615420E-05 2.70000 0.509386 4.698597E-04 2.70000 2.767883E-03 0.714045 2.70000 1.058603E-04 0.930281
2.80000 0.598776 3.921089E-05 2.80000 0.488413 6.389660E-04 2.80000 2.139947E-03 0.723734 2.80000 9.618340E-05 0.932737
2.90000 0.587217 4.257846E-05 2.90000 0.466955 8.699156E-04 2.90000 6.292278E-04 0.733747 2.90000 1.226485E-05 0.935114
3.00000 0.575808 4.630103E-05 3.00000 0.445010 1.185337E-03 3.00000 1.415811E-04 0.742847 3.00000 7.197971E-05 0.937195];
angle = [0:.1:3];
energy = [300:970:10000];
[ener_mesh, ang_mesh] = meshgrid(energy,angle);
i = 1;
indexs = [2 5 8 11];
energy_start = [300 1000 5000 10000];
Refl = zeros(length(angle),length(energy));
row_i = zeros(1,length(energy));
%Refl(i,:) = ones(1,length(energy));
for i = 1:1:length(angle)
row_i = row_i*0;
row_i = interp1(energy_start,Ir_10nm_Cr_10nm(i,indexs),energy,"linear");
Refl(i,:) = row_i;
end %end of for
%test above
ang_mesh
ener_mesh
Refl
interp2(ang_mesh,ener_mesh,Refl,1,1000)
interp2(ang_mesh,ener_mesh,Refl,2.6,10000)
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Descriptive Statistics in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!