看板 MATLAB 關於我們 聯絡資訊
請教一下大家 我想了很久 還是不知道哪個地方出錯了 先附上我的程式碼 x1=linspace(3.4*10^12,3.6*10^12,1024); %%頻率軸 sig1=sqrt(1000); %%高斯函數之參數 u1=0; %%高斯函數之參數 y1= 1/(sig1*sqrt(2*pi))*exp(-((((x1/7/10^12)*10-5)-u1).^2/2*sig1^2));%%高斯函數 A=2.*real(y1.*exp(i.*x1.*5));%%高斯函數乘以一個延遲相位的實部之後再乘以兩倍 B=2.*imag(y1.*exp(i.*x1.*5));%%高斯函數乘以一個延遲相位的虛部之後再乘以兩倍 for v=1:1024 C(v)=B(v)/A(v); %%B陣列除以A陣列 end theta=atan(C); %%希望獲得相位值x1.*5 plot(x1,theta,'-g'),xlabel('Frequency'),ylabel('Phase'),title('Spectral interferograms'); axis tight 我想請教的第一個問題是B陣列除以A陣列的數值 和實際上的數值有一些差距 這個要怎麼處理呢 第二個問題是 相位值theta對頻率作圖應該是一條直線 因為相位值是x1.*5 而頻率值是x1 但結果卻不是 想請教要怎麼解決這個問題呢 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.92.238
vincent59:實際上的數值有一些差距是指???? 04/25 23:23
hopeandhmm:與實際上述直有些差距,是指跟用計算機計算的精確結果 04/26 00:08
hopeandhmm:有差異 04/26 00:08