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这样的结果

matlab中的unique 函数可以实现检查矩阵中有多少个不同的类型数组,具体实现如下:

[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 弄一个空矩阵,如何把输出的数据放到空矩阵里面,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何将两个矩阵的指定元素相加放入一个空矩阵中

matlab怎样数据放入零矩阵中

matlab的cell语句

用matlab编了个小程序,画了幅图,怎样把图里横纵坐标值输出来?

matlab中如何向矩阵中添加元素

matlab里如何把一个矩阵相同列向量的列序号依次输出出来?