function graph(rel,control)
%由邻接矩阵画图
%输入为邻接矩阵,必须为方阵;
%第二个输入为控制量,0表示无向图,1表示有向图。默认值为0
r_size=size(rel);%获取矩阵大小
if nargin<2 %如果参数小于2,默认无向图control=0;
end
if r_size(1)~=r_size(2)disp('Wrong Input! The input must be a square matrix!');%输入为邻接矩阵,必须为方阵return;
end
len=r_size(2);
!echo len;
disp(len);rho=10;%限制图尺寸的大小
r=1/1.05^len;%点的半径
theta=0:(2*pi/len):2*pi*(1-1/len);%以0开始,步长2*pi/len,结束2*pi*(1-1/len),相当于有len个点
[pointx,pointy]=pol2cart(theta',rho);
theta=0:pi/36:2*pi;%73个点
!echo theta:
disp(theta);
[tempx,tempy]=pol2cart(theta',r);%73个坐标
point=[pointx,pointy];%6个坐标点
!echo point;
disp(point);
hold on
for i=1:lentemp=[tempx,tempy]+[point(i,1)*ones(length(tempx),1),point(i,2)*ones(length(tempx),1)];%73行1列的1矩阵与point每个坐标相乘plot(temp(:,1),temp(:,2),'r');%plot(x,y),画出圆圈%plot(point(:,1),point(:,2),'r');%plot(x,y)text(point(i,1)-0.3,point(i,2),num2str(i));%画点
end
for i=1:lenfor j=1:lenif rel(i,j)%如果邻接矩阵rel中该点是1,代表相连link_plot(point(i,:),point(j,:),r,control);%连接有关系的点endend
end
set(gca,'XLim',[-rho-r,rho+r],'YLim',[-rho-r,rho+r]);
axis off
%%
function link_plot(point1,point2,r,control)
%连接两点
temp=point2-point1;
if (~temp(1))&&(~temp(2))return;%不画子回路;
end
theta=cart2pol(temp(1),temp(2));
[point1_x,point1_y]=pol2cart(theta,r);
point_1=[point1_x,point1_y]+point1;
[point2_x,point2_y]=pol2cart(theta+(2*(theta<pi)-1)*pi,r);
point_2=[point2_x,point2_y]+point2;
if controlarrow(point_1,point_2);
elseplot([point_1(1),point_2(1)],[point_1(2),point_2(2)]);
end
%%
function arrow(start,stop,l)
%start,stop分别为起点和终点
%l为箭头的线长度,默认为主线长的1/10
t=0.1;
ang=15/180*pi;
temp=stop(1)-start(1)+1i*(stop(2)-start(2));
L=abs(temp);P=angle(temp);
if nargin<3l=t*L;
end
p1=P-ang;p2=P+ang;
a=[stop(1)-l*cos(p1) stop(2)-l*sin(p1)];
b=[stop(1)-l*cos(p2) stop(2)-l*sin(p2)];
hold on
plot([start(1) stop(1)],[start(2) stop(2)]);
plot([a(1) stop(1)],[a(2) stop(2)]);
plot([b(1) stop(1)],[b(2) stop(2)]);

在命令行:

A=ones(8);

graph(8)

matlab无向图 有向图画法相关推荐

  1. 判断图有无环_判断无向图/有向图中是否存在环

    本文主要针对如何判断有向图/无向图中是否存在环的问题进行简单的论述. 一 无向图 1.利用DFS进行判断 利用DFS判断有向图是否存在环,是最为常用的一种方法,虽然这种方法很常用,但可参考的代码的实现 ...

  2. 判断图有无环_【转】判断一个图是否有环 无向图 有向图

    无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二 ...

  3. 数据结构——图的五种种类【无向图-有向图-简单图-完全无向图-有向完全图】

    目录: 一:无向图 1.定义 2.图形化解释 3.结合​表达式介绍 二:有向图 1.定义 2.图形化解释 3.结合​表达式介绍 有向图和无向图区别: 三:简单图 1.定义 2.图形化解释 四:完全无向 ...

  4. 无向图有向图的邻接表法建立

    目录 无向图的邻接表法建立 有向图的邻接表法 无向图的邻接表法建立 要求建立一个无向图,采用邻接表做为存储结构. 例如: 输入信息为:第一行给出图的顶点数n和边数e.第二行给出n个字符,表示n个顶点的 ...

  5. 椭圆抛物面matlab程序,椭圆抛物面画法.pdf

    椭圆抛物面画法.pdf §4.6 抛物面 一.椭圆抛物面 1.椭圆抛物面的定义 2 2 在直角坐标系下,由方程 x +y 2z (a >0, b >0) (*) a 2 b2 所表示的曲面 ...

  6. matlab scatter 散点图画法

    scatter(X,Y,S,C),这是matlab画散点图的命令:这里X,Y是画散点图的数据. 其中S为大小,系统默认大小为50,C表示所画图的颜色. x=1:0.05:10; . scatter(x ...

  7. Matlab实现有向图的关联矩阵和邻接矩阵的转换

    function W = mattransf( F,f ) %有向图的关联矩阵和邻接矩阵相互转换 %f=0:邻接矩阵->关联矩阵,F为邻接矩阵,W为关联矩阵 %f=1:关联矩阵->邻接矩阵 ...

  8. 最大团 matlab,无向图中最大团问题的求解(附上matlab代码)

    一.问题描述: 团就是最大完全图:最大团就是数目最多的最大子图:[1] 对于给定的无向图G(V,E).如果U在V集合内,且对任意的u,v在集合V内,且(u,v)属于集合E,则称U是G的完全子图:(u, ...

  9. matlab三维散点图画法

    软件版本:MATLAB R2016a.使用scatter3()函数画散点图.初始数据进行处理之后,写入新的文本文档中,每行的数据类型为%d %d %d %f中间以空格分离.将每行的前面三个整形作为三维 ...

最新文章

  1. 入职体检体检错了_我们如何更新入职体验并获得更多用户
  2. 零基础的前端开发初学者应如何系统地学习?
  3. OpenCV三种立体匹配求视差图算法总结
  4. LeetCode35.搜索插入位置
  5. 小微企业名录查询系统_欢迎访问辽宁小微企业名录系统
  6. Linux信号处理机制
  7. redis linux 删除数据结构,Redis集合数据结构和常用命令
  8. ubuntu之安装显卡驱动
  9. HR人事管理系统软件有哪些?如何选择HR人事管理软件?
  10. 计算机2.0培训心得,教育信息化20培训心得体会
  11. Omar Loves Candies
  12. 解决_使用大白菜软件安装纯净版win有预装软件的问题
  13. 英语一大作文模板如何自己制作?
  14. 电脑配置单5(自用勿删)
  15. Linux技术--mysql数据库基础操作
  16. html左右滑轮标签,css样式支持左右滑动要点
  17. CISCO交换机备份和恢复配置文件
  18. qq邮箱的SMTP服务器是什么
  19. 相机光学(七)——光源
  20. NSIS教程(1): 基础语法

热门文章

  1. 小i机器人软件工程师揭秘机器人的“脑细胞”NLU
  2. halcon学习拓展系列—《halcon精髓之坐标系仿射篇》
  3. 如何恢复电脑中毒文件
  4. 中国石油大学继续教育计算机一,2017年中国石油大学继续教育计算机网络基础答案【多版本整合】(10页)-原创力文档...
  5. 气体浓度PPM与mg/m3的换算关系
  6. arcgis for javascript API3.13 加载天地图卫星影像
  7. python中import as的浅显理解
  8. python3 opencv 视频格式转换
  9. 第一次使用炫云云渲染软件该怎么使用?
  10. 详细使用git打tag,删除tag,切换到某个tag时期,删除/查看分支