matlab 矩阵第一列与第二列想比较t=[1;2;0;4;0;1];b=[1 2 18 1 1 0 12 1 20 1 1 1 13 2 35 1 0 0 14 2 20 1 1 0 05 1 15 1 0 0 06 2 15 1 1 1 1];[tm,tn]=size(t); [bm,bn]=size(b); ntable=zeros(size(b));%产生0矩阵用来存执行结果i=1;for j=1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 08:00:32
matlab 矩阵第一列与第二列想比较t=[1;2;0;4;0;1];b=[1 2 18 1 1 0 12 1 20 1 1 1 13 2 35 1 0 0 14 2 20 1 1 0 05 1 15 1 0 0 06 2 15 1 1 1 1];[tm,tn]=size(t); [bm,bn]=size(b); ntable=zeros(size(b));%产生0矩阵用来存执行结果i=1;for j=1

matlab 矩阵第一列与第二列想比较t=[1;2;0;4;0;1];b=[1 2 18 1 1 0 12 1 20 1 1 1 13 2 35 1 0 0 14 2 20 1 1 0 05 1 15 1 0 0 06 2 15 1 1 1 1];[tm,tn]=size(t); [bm,bn]=size(b); ntable=zeros(size(b));%产生0矩阵用来存执行结果i=1;for j=1
matlab 矩阵第一列与第二列想比较
t=[1;2;0;4;0;1];
b=[1 2 18 1 1 0 1
2 1 20 1 1 1 1
3 2 35 1 0 0 1
4 2 20 1 1 0 0
5 1 15 1 0 0 0
6 2 15 1 1 1 1];
[tm,tn]=size(t);
[bm,bn]=size(b);
ntable=zeros(size(b));%产生0矩阵用来存执行结果
i=1;
for j=1:bm
rul=t(j,i); %取出t矩阵第j列i行的值
cna=cname_d(j,i);%取出b矩阵第j列i行的值
if rul > 0 %如果t矩阵第j列i行的值大於0
if rul==cna %如果t矩阵与b矩阵第j列i行的值相同
ntable(j)=cname_d(i,:);%把b矩阵第j列i行存在ntable
end
end
i=i+1
end
小弟想要比较两个矩阵第n列第n行(n是相同的值)的值是否相等,如果相等就把b矩阵和t矩阵相等的那一行记录到ntable里面.
更详细说明:
想要比较两个矩阵的第一列中的数值,如果t矩阵的第一列第一行与b矩阵中的第一列第一行的值相等,就把b矩阵的第一列第一行记录到ntable里面,如果t矩阵的第二列第二行与b矩阵中的第二列第二行的值相等,就把b矩阵的第二列第二行记录到ntable里面.
程式码:
t=[1;2;0;4;0;1];
b=[1 2 18 1 1 0 1
2 1 20 1 1 1 1
3 2 35 1 0 0 1
4 2 20 1 1 0 0
5 1 15 1 0 0 0
6 2 15 1 1 1 1];
[bm,bn]=size(b);
ntable=zeros(size(b));%产生0矩阵用来存执行结果
i=1;
for j=1:bm
rul=t(j,i); %取出t矩阵第j列i行的值
cna=cname_d(j,i);%取出b矩阵第j列i行的值
if rul > 0 %如果t矩阵第j列i行的值大於0
if rul==cna %如果t矩阵与b矩阵第j列i行的值相同
ntable(j)=cname_d(i,:);%把b矩阵第j列i行存在ntable
end
end
i=i+1
end
执行后显示错误
In an assignment A(I) = B,the number of elements in B and I must be the same.
这该如何解决呢?

matlab 矩阵第一列与第二列想比较t=[1;2;0;4;0;1];b=[1 2 18 1 1 0 12 1 20 1 1 1 13 2 35 1 0 0 14 2 20 1 1 0 05 1 15 1 0 0 06 2 15 1 1 1 1];[tm,tn]=size(t); [bm,bn]=size(b); ntable=zeros(size(b));%产生0矩阵用来存执行结果i=1;for j=1
我将你的代码复制到我的matlab里面不识别cname_d(i,j)这个矩阵,就用下面的替换.
你原代码有以下错误:t是6*1的矩阵,而b是6*7的矩阵,在进行元素比较时会出错,也就是上面显示的那个意思.另外ntable(j)=cname_d(i,:);%把b矩阵第j列i行存在ntable 我在运行时也提示出错;还有,
i=1;
for j=1:bm
按你这样每循环一次j 和i都加1,这样下来只能比较对角线的元素了,应该用两个for循环.
下面我改了下,可以运行:
t=[ 1 0 0 0 0 0 0;
2 0 0 0 0 0 0;
0 0 0 0 0 0 0;
4 0 0 0 0 0 0;
0 0 0 0 0 0 0;
1 0 0 0 0 0 0];
b=[1 2 18 1 1 0 1
2 1 20 1 1 1 1
3 2 35 1 0 0 1
4 2 20 1 1 0 0
5 1 15 1 0 0 0
6 2 15 1 1 1 1];
[tm,tn]=size(t);
[bm,bn]=size(b);
ntable=zeros(size(b));%产生0矩阵用来存执行结果
for i=1:bn
for j=1:bm
rul=t(j,i); %取出t矩阵第j列i行的值
cna=b(j,i);%取出b矩阵第j列i行的值
if rul > 0 %如果t矩阵第j列i行的值大於0
if rul==cna; %如果t矩阵与b矩阵第j列i行的值相同
ntable(j,i)=b(j,i);%把b矩阵第j列i行存在ntable
end
end
end
end
ntable

matlab 矩阵第一列与第二列想比较t=[1;2;0;4;0;1];b=[1 2 18 1 1 0 12 1 20 1 1 1 13 2 35 1 0 0 14 2 20 1 1 0 05 1 15 1 0 0 06 2 15 1 1 1 1];[tm,tn]=size(t); [bm,bn]=size(b); ntable=zeros(size(b));%产生0矩阵用来存执行结果i=1;for j=1 matlab 重新排列打乱的矩阵的命令是什么比如说要把a矩阵的第一列放到第三列,第二列放到第一列,第三列放到第二列,我记得有个命令 matlab 去掉矩阵的两列一个矩阵,怎么去掉第一列和最后一列 matlab中设A矩阵,那么A(2),指的是第一行第二列还是第二行第一列? matlab 矩阵的行和列对应相乘 第一行和第一列相乘 第二行和第二列相乘请问如何实现matlab 矩阵的行和列对应相乘 是第一行和第一列相乘 第二行和第二列相乘.最后得到一个行向量 编程使N*N矩阵第一列与最后一列对调、第二列与倒数第二列对调……,其他依次类推. 若A为三阶方阵,将矩阵A第一列与第二列交换得矩阵B ,再把矩阵B的第二列加到第三列得矩阵C,则满足AQ=C的可逆矩阵Q为? 若A为三阶方阵,将矩阵A第一列与第二列交换得矩阵B ,再把矩阵B的第二列加到第三列得矩阵C,则满足AQ=C的可逆矩阵Q为? 请问matlab矩阵的两行如何比较大小一个matlab的矩阵,比如20行,5列.第一行的5个数都要大于等于第二行的5个数,才说第一行大于第二行,请问如何比较? matlab中如何实现一个矩阵的每一列数据对应相加并输出新的矩阵啊.,比如[1,2,3; 2,4,6][1,2,3;2,4,6}第一列加第2列,第一列加第二列加第三列输出3*2的矩阵;[3,6;6;12],我要做的问题是n*n阶的问 EXCEL中,第一列输入一列数字,在第二列输入相同的一列数字.然后怎么比较第二列中数字是否与第一列相同.不同的数字能怎样标记出来. 矩阵乘法有什么用处另外“两个矩阵相乘,满足第一个矩阵的列数等于第二个矩阵的行数.第一个矩阵第一行的每个数与第二个矩阵第一列的每个数相乘之和为新矩阵的第一个数,第一个矩阵第 matlab矩阵简化问题有一个n行2列的矩阵,如果第i行第一列大于任一行的第一列且同时第二列小于该行的第二列,则将第i行删除,请问该怎么编? 矩阵初等行变换设A是三阶矩阵,将A的第一列与第二列交换得到B,再将B的第二列加到第三列得到C,则满足AQ=C的可逆矩阵Q为? 怎样用matlab实现:一个列向量与矩阵的每一列做点乘? matlab 求矩阵一列矩阵A= 1 2 34 5 67 8 9矩阵B= 1 8 34 5 67 6 2求A与B的列向量的向量积就是分别对A和B的第一列到第三列求CROSS(a(i),b(i))但是我不知道怎么表示矩阵的一列,有谁知道? matlab中矩阵元素的判断我需要对矩阵中的一些元素作出判断,具体是这样的:A= [ 1 0 00 X 0 ]判断条件:A 的第一列不为零并且第二列X 如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值有矩阵如下 1 20 2 13 3 18 3 20 4 19 5 21 6 14 7 19