% Button pushed function: Button_7 function Button_7Pushed(app, event) global img1 z1=str2double(app.mEditField2.Value); z2=str2double(app.mEditField3.Value); z3=str2double(app.mEditField4.Value); z4=str2double(app.mEditField5.Value); z5=str2double(app.mEditField6.Value); z6=str2double(app.mEditField7.Value); z=z1+z2+z3+z4+z5+z6; lambda=str2double(app.nmEditField1.Value); k=2e9*pi/lambda; Gx=15.36e-3;Gy=8.64e-3;N=4096; pixel=8e-6;L=pixel*N; x1=linspace(-L/2,L/2,N); y1=linspace(-L/2,L/2,N); [X1,Y1]=meshgrid(x1,y1); E0=ones(N); E0((abs(X1)>Gx/2)|(abs(Y1)>Gy/2))=0; angle0=im2double(img1)*2*pi; E0(1509:2588,1089:3008)=E0(1509:2588,1089:3008).*exp(1i.*angle0); H0=fftshift(fft2(fftshift(E0))); H=H0.*exp(1i.*k.*z.*sqrt(1-(lambda.*(X1/L/pixel)).^2-(lambda.*(Y1/L/pixel)).^2)); E=(fftshift(ifft2(fftshift(H)))); img=abs(E); end代码里的img计算完后然后将其绘制为色度图并显示
时间: 2024-01-01 16:05:04 浏览: 97
Test_dload_1.rar_The Test
要将`img`绘制为色度图并显示,您可以使用MATLAB的`imshow`函数。下面是一个示例代码,可以将`img`绘制为色度图并在新窗口中显示:
```matlab
% 显示色度图
figure;
imshow(img, []);
% 添加色度图标题
title('My Color Map', 'FontSize', 14);
```
在上述代码中,使用`imshow`函数将`img`绘制为色度图,并使用`[]`参数将像素值映射到0~255的范围。然后,使用`title`函数添加色度图标题。
请注意,如果您想要在App Designer中显示色度图,您可以使用`uiimage`组件,并将其`ImageSource`属性设置为`img`。例如:
```matlab
% 显示色度图
app.UIImage.ImageSource = img;
% 添加色度图标题
app.UIAxes.Title.String = 'My Color Map';
app.UIAxes.Title.FontSize = 14;
```
在上述代码中,将`app.UIImage.ImageSource`属性设置为`img`,这将使色度图显示在`uiimage`组件中。然后使用`app.UIAxes.Title.String`和`app.UIAxes.Title.FontSize`属性添加色度图标题。
阅读全文