matlab中如何有效的存储for循环中的结果?
下面这个程序不能够完整的输出每一次循环的结果,请问该怎样改进呢?clear;clc;a=[123456];%24x3b=[78];%18x2[m,n]=size(a);[...
下面这个程序不能够完整的输出每一次循环的结果,请问该怎样改进呢?
clear;clc;
a=[1 2 3
4 5 6]; %24x3
b=[7 8 ]; %18x2
[m,n]=size(a);
[i,j]=size(b);
value=[];
for h=1:m
a1=a(h,:);
for h2=1:i
b1=b(h2,:);
c(i,:)=[a1,b1];
end
value=[value,c];
end
value
就像上面的程序一样,我的目的是不论a,b矩阵式什么样的,都可以组合成一个新的矩阵;比如a是一个24x3的矩阵,b是一个18x2的矩阵。最后输出的一定要是一个 行为18x24;列为3+2的矩阵 请问 怎样编程呢? 结果输出要是一个矩阵才行。谢谢各位了。 展开
clear;clc;
a=[1 2 3
4 5 6]; %24x3
b=[7 8 ]; %18x2
[m,n]=size(a);
[i,j]=size(b);
value=[];
for h=1:m
a1=a(h,:);
for h2=1:i
b1=b(h2,:);
c(i,:)=[a1,b1];
end
value=[value,c];
end
value
就像上面的程序一样,我的目的是不论a,b矩阵式什么样的,都可以组合成一个新的矩阵;比如a是一个24x3的矩阵,b是一个18x2的矩阵。最后输出的一定要是一个 行为18x24;列为3+2的矩阵 请问 怎样编程呢? 结果输出要是一个矩阵才行。谢谢各位了。 展开
展开全部
matlab最擅长矩阵运算,你应该用矩阵的公式去表示你要实现的结果,而不是循环逐个数字去拼接。理解我的意思不。你走入误区了。。。行18×24是几个意思
你要每次循环都输出的话,直接value就行了,或者去掉分号
for h=1:m
a1=a(h,:);
for h2=1:i
b1=b(h2,:);
c(i,:)=[a1,b1];
value
end
value=[value,c]
end
你要每次循环都输出的话,直接value就行了,或者去掉分号
for h=1:m
a1=a(h,:);
for h2=1:i
b1=b(h2,:);
c(i,:)=[a1,b1];
value
end
value=[value,c]
end
追问
刚才重启了下电脑,我按您的方法试了一下,的确是每行都有输出,可是并不是一个完整的矩阵啊?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |