matlab app designer:夫琅禾费圆孔衍射仿真

代码部分:

%仅回调函数

% Button pushed function: plotButton
        function plotButtonPushed(app, event)
            R=app.REditField.Value;
            lambda=app.lambdaEditField.Value;
            x=[0:0.01:6];
            theta=asin(lambda*x/R);
            m=pi*R*sin(theta)/lambda;
            z=(besselj(1,2*m)).^2./m.^2;
            plot(app.ax1,x,z);
            u=[-6:0.01:6];
            theta=asin(lambda*u/R);
            m=pi*R*sin(theta)/lambda;
            z=(besselj(1,2*m)).^2./m.^2;
            plot(app.ax4,u,z);
            
            
           y=[0:0.01:6];          
          [X,Y]=meshgrid(x,y);
          r1=sqrt((X-3).^2+(Y-3).^2);
          theta2=asin(lambda*r1/R);
           m2=pi*R*sin(theta2)/lambda;
           z2=abs((besselj(1,2*m2)).^2./m2.^2);
           mesh(app.ax3,x,y,z2);
                imagesc(app.ax2,z2.^0.3);
        colormap(app.ax2,gray(256));
        end

        % Button pushed function: clearButton
        function clearButtonPushed(app, event)
             cla(app.ax1,'reset');
            cla(app.ax2,'reset');
             cla(app.ax3,'reset');
            cla(app.ax4,'reset');
        end
    end

运行结果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值