怎么用matlab程序表示下面的问题
怎么用matlab程序表示下面的问题要用matlab表示几个设备的连接关系,设备名分别用3,9,5,6表示,连接图如下最左图现有excel文件格式如下中图显示excel文件导入matlab后,请问怎样生成最右边的矩阵形式?矩阵是4*4维,其中4是设备数,矩阵的行代表起始设备,矩阵列代表终止设备.比如第一行第二列的1表示从设备3到9有连接关系.若设备名是字符串不是数字,比如a-1,b-2,c-3,d-4 代替 图中的 3,9,5,6,该怎么实现呢
最佳回答
N=[3 9 5 6]; % 设备编号V=[3 9; 9 5; 9 6]; % Excel的连接关系 % 连接矩阵,初始化为0,然后根据连接关系对有连接的元素赋值M=zeros(length(N));for i=1:size(V,1) r=find(V(i,1)==N); c=find(V(i,2)==N); M(r,c)=1;enddisp(M) 再问: 谢谢你。请问下如果矩阵N和V换成字符串形式,(比如N=[a-1 b-2 c-3 d-4], V也改成相应的形式)那怎么使用find命令呢, V(i,1)==N只能用在数字比较吧?(如果find命令不行,其他实现方式也行,谢谢了) 再答: 1、如果是字符串,N和V应该使用元胞数组(cell,用花括号); 2、find不能用于字符串比较,应该用strmatch。 修改后的代码见下,需要注意,字母的大小写是有区别的。 N = {'a-1' 'b-2' 'c-3' 'd-4'}; % 设备编号 V = {'a-1' 'b-2'; 'b-2' 'c-3'; 'b-2' 'd-4'}; % 连接关系 % 连接矩阵,初始化为0,然后根据连接关系对有连接的元素赋值 M=zeros(length(N)); for i=1:size(V,1) r=strmatch(V{i,1},N,'exact'); c=strmatch(V{i,2},N,'exact'); M(r,c)=1; end disp(M)
最新回答共有2条回答
-
2026-03-30 15:49:55结实的大山
回复N=[3 9 5 6]; % 设备编号V=[3 9; 9 5; 9 6]; % Excel的连接关系 % 连接矩阵,初始化为0,然后根据连接关系对有连接的元素赋值M=zeros(length(N));for i=1:size(V,1) r=find(V(i,1)==N); c=find(V(i,2)==N); M(r,c)=1;enddisp(M) 再问: 谢谢你。请问下如果矩阵N和V换成字符串形式,(比如N=[a-1 b-2 c-3 d-4], V也改成相应的形式)那怎么使用find命令呢, V(i,1)==N只能用在数字比较吧?(如果find命令不行,其他实现方式也行,谢谢了) 再答: 1、如果是字符串,N和V应该使用元胞数组(cell,用花括号); 2、find不能用于字符串比较,应该用strmatch。 修改后的代码见下,需要注意,字母的大小写是有区别的。 N = {'a-1' 'b-2' 'c-3' 'd-4'}; % 设备编号 V = {'a-1' 'b-2'; 'b-2' 'c-3'; 'b-2' 'd-4'}; % 连接关系 % 连接矩阵,初始化为0,然后根据连接关系对有连接的元素赋值 M=zeros(length(N)); for i=1:size(V,1) r=strmatch(V{i,1},N,'exact'); c=strmatch(V{i,2},N,'exact'); M(r,c)=1; end disp(M)
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
