QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 874|回复: 2
打印 上一主题 下一主题

【MATLAB动画教程十二】

[复制链接]
字体大小: 正常 放大

142

主题

50

听众

2万

积分

升级  0%

  • TA的每日心情
    开心
    2022-8-28 18:40
  • 签到天数: 1187 天

    [LV.10]以坛为家III

    网络挑战赛参赛者

    国际赛参赛者

    邮箱绑定达人 社区QQ达人 元老勋章 发帖功臣 新人进步奖 原创写作奖 最具活力勋章 风雨历程奖

    群组Matlab讨论组

    群组MATLAB技术交流

    群组西南交通大学数学建模

    群组学术交流A

    群组数学建模

    跳转到指定楼层
    1#
    发表于 2015-9-23 09:40 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    1. %Fraunhofer Diffraction of a Round Hole
    2. %弗朗和费衍射模拟Matlab源代码
    3. %rewrite by dynamic
    4. %all rights reserved by www.matlabsky.cn
    5. %2008.12.3
    6. close all
    7. figure('numbertitle','off','name','弗朗和费衍射模拟--by Matlabsky',...
    8. 'toolbar','none','position',[217 266 694 244]);
    9. axes('position',[0.05,0.08,0.6,0.8]);hold on;
    10. title('Fraunhofer Diffraction of a Round Hole',...
    11. 'fontsize',14)
    12. set(gcf,'doublebuffer','on');
    13. axis([-4,12,-5,5]);
    14. rectangle('position',[0,1,0.2,3],'FaceColor',[0.1,0.3,0.4]);
    15. rectangle('position',[0,-4,0.2,3],'FaceColor',[0.1,0.3,0.4]);
    16. rectangle('position',[3.8,-4,0.4,8],'FaceColor',...
    17. [0.4,0.3,0.4],'Curvature',[1,1]);
    18. rectangle('position',[11,-5,0.4,10],'FaceColor',[0.1,0.3,0.4]);
    19. h1=plot([-4,-4],[-0.7,-0.7]);
    20. h2=plot([-4,-4],[0,0]);
    21. h3=plot([-4,-4],[0.7,0.7]);
    22. for k=-4:.1:0;
    23. pause(0.05);
    24. try
    25. set([h1,h2,h3],'xdata',[-4,k]);
    26. catch
    27. return
    28. end
    29. end
    30. y=-4:.1:4;
    31. a=linspace(-atan(4/11),atan(4/11),length(y));
    32. a=10*sin(a);
    33. II=abs(sinc(a)).^2*6;
    34. x=11-II;
    35. plot(x,y,'r')
    36. K=find(diff(sign(diff(II)))==-2)+1;
    37. yyN=y(K);
    38. P=zeros(3,5); yN=[-0.7,0,0.7];H=P;
    39. for m=1:3;
    40. for n=1:5;
    41. P(m,n)=complex(p(1),p(2));
    42. H(m,n)=plot(0,yN(m));
    43. end
    44. end
    45. for Q=0:.1:11;
    46. pause(0.05)
    47. for w=1:15;
    48. [m,n]=ind2sub([3,5],w);
    49. Y=polyval([real(P(w)),imag(P(w))],Q);
    50. try
    51. set(H(w),'xdata',[0,Q],'ydata',[yN(m),Y]);
    52. catch
    53. return
    54. end
    55. end
    56. end
    57. axes('position',[0.65,0.08,0.3,0.8])
    58. a=linspace(-atan(4/11),atan(4/11),300);
    59. [X,Y]=meshgrid(a);
    60. r=sqrt(X.^2+Y.^2);
    61. R=10*sin(r);
    62. II=abs(sinc(R)).^2*6;
    63. imshow(II);
    复制代码

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    新浪微博:http://weibo.com/yzhsky
    Q        Q:
    736466568
    欢迎来数学中国交流,您的问题我们尽量回答,谢谢。

    413

    主题

    36

    听众

    1854

    积分

    升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    回复

    使用道具 举报

    142

    主题

    50

    听众

    2万

    积分

    升级  0%

  • TA的每日心情
    开心
    2022-8-28 18:40
  • 签到天数: 1187 天

    [LV.10]以坛为家III

    网络挑战赛参赛者

    国际赛参赛者

    邮箱绑定达人 社区QQ达人 元老勋章 发帖功臣 新人进步奖 原创写作奖 最具活力勋章 风雨历程奖

    群组Matlab讨论组

    群组MATLAB技术交流

    群组西南交通大学数学建模

    群组学术交流A

    群组数学建模

    森之张卫东 发表于 2015-9-23 22:49
    运行不了!!!!
    1. %Fraunhofer Diffraction of a Round Hole
    2. %弗朗和费衍射模拟Matlab源代码
    3. %rewrite by dynamic
    4. %all rights reserved by www.matlabsky.cn
    5. %2008.12.3

    6. close all
    7. figure('numbertitle','off','name','弗朗和费衍射模拟--by Matlabsky','toolbar','none','position',[217 266 694 244]);
    8. axes('position',[0.05,0.08,0.6,0.8]);hold on;
    9. title('Fraunhofer Diffraction of a Round Hole',...
    10.    'fontsize',14)
    11. set(gcf,'doublebuffer','on');
    12. axis([-4,12,-5,5]);
    13. rectangle('position',[0,1,0.2,3],'FaceColor',[0.1,0.3,0.4]);
    14. rectangle('position',[0,-4,0.2,3],'FaceColor',[0.1,0.3,0.4]);
    15. rectangle('position',[3.8,-4,0.4,8],'FaceColor',...
    16.    [0.4,0.3,0.4],'Curvature',[1,1]);
    17. rectangle('position',[11,-5,0.4,10],'FaceColor',[0.1,0.3,0.4]);
    18. h1=plot([-4,-4],[-0.7,-0.7]);
    19. h2=plot([-4,-4],[0,0]);
    20. h3=plot([-4,-4],[0.7,0.7]);
    21. for k=-4:.1:0;
    22.    pause(0.05);
    23.    try
    24.        set([h1,h2,h3],'xdata',[-4,k]);
    25.    catch
    26.        return
    27.    end
    28. end
    29. y=-4:.1:4;
    30. a=linspace(-atan(4/11),atan(4/11),length(y));
    31. a=10*sin(a);
    32. II=abs(sinc(a)).^2*6;
    33. x=11-II;
    34. plot(x,y,'r')
    35. K=find(diff(sign(diff(II)))==-2)+1;
    36. yyN=y(K);
    37. P=zeros(3,5); yN=[-0.7,0,0.7];H=P;
    38. for m=1:3;
    39.    for n=1:5;
    40.        p=polyfit([0,11],[yN(m),yyN(n)],1);
    41.        P(m,n)=complex(p(1),p(2));
    42.        H(m,n)=plot(0,yN(m));
    43.    end
    44. end
    45. for Q=0:.1:11;
    46.    pause(0.05)
    47.    for w=1:15;
    48.        [m,n]=ind2sub([3,5],w);
    49.        Y=polyval([real(P(w)),imag(P(w))],Q);
    50.        try
    51.            set(H(w),'xdata',[0,Q],'ydata',[yN(m),Y]);
    52.        catch
    53.            return
    54.        end
    55.    end
    56. end
    57. axes('position',[0.65,0.08,0.3,0.8])
    58. a=linspace(-atan(4/11),atan(4/11),300);
    59. [X,Y]=meshgrid(a);
    60. r=sqrt(X.^2+Y.^2);
    61. R=10*sin(r);
    62. II=abs(sinc(R)).^2*6;
    63. imshow(II);
    复制代码

    新浪微博:http://weibo.com/yzhsky
    Q        Q:
    736466568
    欢迎来数学中国交流,您的问题我们尽量回答,谢谢。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-21 13:05 , Processed in 0.377624 second(s), 67 queries .

    回顶部