1.矩陣函數pinch(x,i,j):簡單來說就是矩陣的降維。
reflection = getsweepresult("wavelength", "R");
R = -reflection.T;
lambda = reflection.lambda_sweep*1e9;
plot(reflection.source_angle, pinch(R,2,1), pinch(R,2,2), pinch(R,2,3),
"angle of incidence (degrees)","Reflection","Reflection vs angle");
legend('lambda = ' + num2str(lambda(1)),
'lambda = ' + num2str(lambda(2)),
'lambda = ' + num2str(lambda(3)));
如上例,在FDTD監視器數據中,
反射率監視器中的數據是一個四維矩陣,原文件是通過嵌套掃描獲取結構反射率隨入射角的變化,並獲取指定三個波長的數據。這里,x就代表因變量,也就是R,2就表示選擇因變量第二項source_angle,從而實現了降維。lambda_sweep是外層掃描的參數(掃描三個波長),pinch最后一項1,2,3就代表三個對應波長。曲線與內層掃描對應,曲線條數與外層掃描對應。
2.num2str(x)函數:將數字x轉換為字符串。x也可以是一維或二維矩陣。制表符(而不是空格)將用作列之間的分隔符。
3.getsweepresult命令:out = getsweepresult("sweep_name", "result");從指定的參數掃描,優化,蒙特卡洛或S參數掃描任務返回指定的結果數據集。
4.plot命令:作圖,plot(x,y, "x label", "y label", "title", "options");