QQ登录

只需要一步,快速开始

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

gplot的用于画矩阵的结构图

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

46

主题

4

听众

1415

积分

升级  41.5%

  • TA的每日心情
    郁闷
    2016-9-11 07:08
  • 签到天数: 80 天

    [LV.6]常住居民II

    新人进步奖

    群组matlab共享与进阶

    群组数学建摸协会

    群组学术交流A

    群组学术交流B

    跳转到指定楼层
    1#
    发表于 2009-8-27 15:28 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    gplot的用于画矩阵的结构图

    gplot的用法:
    gplot(A,xy),A说的是相应点的邻接矩阵,而后面的xy是以相应点的坐标为元素的列向量。举个例子,A=[1 1 0;1 0 0;0 0 1];xy=[x(1) y(1);x(2) y(2);x(3) y(3)]。x(2) y(2)可以可以看成一个二维点的坐标,于是xy可以看成由两个三维列向量的对应点组成的三个点的坐标,前面的矩阵A可以看成对应三个点的联系。如果对应位置有关系则相应位置的元素不为零,否则为零。也就是说前面的邻接矩阵是逻辑的邻接矩阵,有关系对应一个非零数(任意非零数),没关系对应零。
    例如:A=[0,1,0,1,1,1;0,0,0,1,1,1;1,1,0,1,0,0;0,0,0,0,1,1;0,0,1,0,0,1;0,0,1,0,0,0]
    xy=[-0.5 1;0.5 1;1.5 0;0.5 -1;-0.5,-1;-1.5,0]
    a=-max(abs(xy(:,1)))*1.1;b=max(abs(xy(:,1)))*1.1;
    c=-max(abs(xy(:,2)))*1.1;d=max(abs(xy(:,2)))*1.1;
    gplot(A,xy),axis([a b c d])

    如果要给邻接矩阵的图画为有向图,则可使用如下程序:
    function y=graphy_plot(A,xy,l,p)
           % Axyll=0      
           %l~=0,p
    a=-max(abs(xy(:,1)))*1.1;b=max(abs(xy(:,1)))*1.1;
    c=-max(abs(xy(:,2)))*1.1;d=max(abs(xy(:,2)))*1.1;
    if l==0
       gplot(A,xy),axis([a b c d]),hold on,
    elseif l~=0
       U=[];V=[];X=[];Y=[];
       n=length(A(:,1)) ;
       for i=1:n
          k=find(A(i,~=0);
          m=length(k);
          if(m~=0)
             for j=1:m
                u(1)=(xy(k(j),1)-xy(i,1)); v(1)=(xy(k(j),2)-xy(i,2));
                u(2)=eps;     v(2)=eps;     U=[u;U];V=[v;V];
                X=[[xy(i,1) xy(k(j),1)];X]; Y=[[xy(i,2) xy(k(j),2)];Y];
             end
              text(xy(i,1),xy(i,2),['\bullet\leftarrow\fontsize{16}\it{V}',...
              num2str(i)]);hold on,
           end
              end
       gplot(A,xy),axis([a b c d]),hold on,
       h=quiver(X,Y,U,V,p);set(h,'color','red');hold on,
       plot(xy(:,1),xy(:,2),'k.','markersize',12),hold on,
    end  , hold off
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    建模迷        

    0

    主题

    0

    听众

    27

    积分

    升级  23.16%

    该用户从未签到

    新人进步奖

    群组数学趣味、游戏、IQ等

    回复

    使用道具 举报

    3

    主题

    3

    听众

    120

    积分

    升级  10%

  • TA的每日心情
    开心
    2012-7-2 13:20
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    群组Matlab讨论组

    回复

    使用道具 举报

    zzx6155        

    2

    主题

    13

    听众

    69

    积分

    升级  67.37%

  • TA的每日心情

    2015-2-6 08:08
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    数模新手
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-5-23 11:00 , Processed in 0.813674 second(s), 71 queries .

    回顶部