matlab 弄一个空矩阵,如何把输出的数据放到空矩阵里面,谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 弄一个空矩阵,如何把输出的数据放到空矩阵里面,谢谢相关的知识,希望对你有一定的参考价值。
Data = []; 这个就是申明一个名字叫Data的空矩阵Data = [Data;a]; 这个是把a作为一列加到Data中
至于你想怎么把数据放进去,要看你的数据是怎样的。
矩阵操作有函数,Data = [Data;a];这种默认的好像是竖着一列一列的往后加.想一行一行的加,或者一个矩阵一个矩阵加,都是有函数可以用的。~ 参考技术A 伪代码:
[m,n]=size(输出数据);
a=zeros(m,n);
a=输出数据;
有一事不明,一定要先定义个空矩阵a吗?你不是要把数据写入到那个矩阵a吗?直接把输出数据赋值给a不就行了吗 参考技术B 假设A=zeros(5),b是你要输出的值,你只要把b赋值给A中的元素就行了,比如A(2,1)=b,也就是A的第2行第1列的值为b
matlab里如何把一个矩阵相同列向量的列序号依次输出出来?
例如如下矩阵:
R = [1 1 1 0 0 0 0 0 0 0 0;
1 1 1 0 0 0 0 0 0 0 0;
1 1 1 0 0 0 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0 0;
0 0 0 0 0 0 1 0 0 0 0;
0 0 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 0 0 0 1];
就希望输出1,2,3,4,5,6,7,8,9,10,11这样的结果
[a, b, c] = unique(R, 'row', 'stable');
for i = 1:size(a,1)-1
posi = b(i):b(i+1)-1;
end
%其中a就是不同行的类型;
%b就是a中对应在R中的起始行的位置;
%c就是R中每行对应在a中的检索值
%pos里面存的就是你要的结果。 参考技术A 在matlab中让矩阵按某一列排列,需要用到排序算法对某一列数据排序,然后在排序算法的if判断句中,依次交换矩阵两行内容。
以题目中矩阵为例,可以利用冒泡法对第三列数据排序,实现程序如下:
a=[5 7 8;4 6 1;8 0 7];
n=length(a);b=[];
for i=1:n-1
for j=1:n-i
if(a(j,3)>a(j+1,3))
b=a(j,:);a(j,:)=a(j+1,:);a(j+1,:)=b;
end
end
end
disp(a)
以上是关于matlab 弄一个空矩阵,如何把输出的数据放到空矩阵里面,谢谢的主要内容,如果未能解决你的问题,请参考以下文章