在matlab 维度中可以把两个维度相同的double矩阵合成一个cell吗

只需一步,快速开始
扫一扫,访问微社区
查看: 9497|回复: 6|关注: 0
维数不同的矩阵怎样合并成一个矩阵
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
比如说两个矩阵分别是a=[1 2 3],b=[1 2 3 4].现在想得到新的矩阵c,使c的第一行为a的元素,第二行为b的元素,这个需要怎么做?希望大家回复一下,非常感谢
<h1 style="color:# 麦片财富积分
这个....不同维数,不足的是否要添零?
论坛优秀回答者
关注者: 304
这样的要求不能直接实现,矩阵的每行元素个数必须要相同
你可以采取填补0或者nan之类的方法
<h1 style="color:# 麦片财富积分
嗯,谢谢大家的回复,我是用nan补齐的,问题解决掉了
<h1 style="color:# 麦片财富积分
请问楼主,若需要补齐的维数很多怎么办?
<h1 style="color:# 麦片财富积分
请问楼主能不能提供这个问题解决方法的代码啊,求赐教
<h1 style="color:# 麦片财富积分
嗯,谢谢大家的回复,我是用nan补齐的,问题解决掉了
你好,你是怎么补齐的啊
站长推荐 /3
筑起功能安全的堡垒 - 基于模型设计的软件开发
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区matlab 如何把两个cell合并?_百度知道
matlab 如何把两个cell合并?
a={&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;e&#39;},b={&#39;e&#39;,&#39;f&#39;,&#39;g&#39;},c=[a b]matlab优势特点&1) 高效的 数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学 表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
采纳率:100%
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。从cell转换为matrix以及如何找出两个集合中的不同元素(matlab)
比如说你有一个细胞型文件,举个例子:
a={'8';'8';'8';'14';'21';'25';'27';'31'}
然后呢,你想把这个细胞型文件转成矩阵,数据类型变成double,最简单的思维方式就是cell2mat,先转成string,然后再str2num就好了。很可惜,在matlab里面,cell2mat是默认要求你的矩阵的大小是统一的,可是这里呢,‘8’的长度是1,‘14’的长度是2,所以转换的时候就会出问题,就会出现错误提示。
cell2mat(a)
??? Error using ==& cat
CAT arguments dimensions are not consistent.
Error in ==& cell2mat at 89
&&&&&&&&&&&
m{n} = cat(1,c{:,n});
那么怎么办呢,Matlab官方论坛真是一个神一般的地方,终于不负我也。
&str2num(char(cell))
没想到这么简单的一个函数char居然有这么神的功能,Matlab的函数真是深不可测。
注意!!神一般的函数cellfun又出现了!!
&cellfun(@str2num,
参考资料:http://blog.163.com/6_mao/blog/static//
=========================================================
matlab判断2个数组中不同元素--setdiff
c = setdiff(A, B)&
返回在A中有,而B中没有的值,结果向量将以升序排序返回。在集合论中,c = A - B。A和B也可以是字符串细胞数组。
c = setdiff(A, B, 'rows')
当A和B是具有相同列数的矩阵时,返回A中有而B中没有的那些行。
参考资料:http://blog.sina.com.cn/s/blog_7cfc0d1301013pzh.html
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。matlab中cell里面有很多不同维度的矩阵,并且元素只有矩阵,如何输出cell中的每一个矩阵,_百度知道
matlab中cell里面有很多不同维度的矩阵,并且元素只有矩阵,如何输出cell中的每一个矩阵,
就是例如cell有十个元素,每个元素都是一个矩阵,但是他们维度不同,如何输出每个矩阵,矩阵是具体矩阵求高手指点???
我有更好的答案
%&生成一个包含随机维度矩阵的元胞数组a&=&randi(5,1);&b&=&randi(3,1);for&m&=&1:a&&&&for&n&=&1:b&&&&&&&&A{m,n}&=&randi(10,randi(5,1),randi(5,1));&&&&endend%&将上元胞数组拆散[m,n]&=&size(A);d&=&1;for&k&=&1:m&&&&for&h&=&1:n&&&&&&&&nm&=&sprintf(&#39;A%d_%d&#39;,[k,h]);&&&&&&&&ss&=&[nm&&#39;=A{&#39;&num2str(d)&&#39;};&#39;];&&&&&&&&eval(ss)&&&&&&&&d&=&d+1;&&&&endend
采纳率:77%
来自团队:
可以用celldisp函数。
为您推荐:
其他类似问题
勃兰兑斯的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。MATLAB中三种数组之间的转换
三种数组是:数值型矩阵,字符数组(或字符串),单元数组(也有叫元胞数组)
1、数值型矩阵转换为字符数组(num2str、mat2str)
&& A=[1,2,3;4,5,6];
&& B=num2str(A)
Size&&&&&&&&&&&
Attributes
2x3&&&&&&&&&&&&&&&
double&&&&&&&&&&&&&
2x7&&&&&&&&&&&&&&&
28& char&&
2、字符数组转换为数值型(str2num&4位精度&、str2double&双精度&)
&& B=['123.34'];
&& A=str2num(B)
& 123.3400
Size&&&&&&&&&&&
Attributes
1x1&&&&&&&&&&&&&&&&
double&&&&&&&&&&&&&
1x6&&&&&&&&&&&&&&&
3、单元数组转换为字符数组(cell2mat):
A={'sfjsdlgksdgjlsdjgkl'};
&& B=cell2mat(A)
sfjsdlgksdgjlsdjgkl
Size&&&&&&&&&&&
Attributes
1x1&&&&&&&&&&&&&&&
cell&&&&&&&&&&&&&&
1x19&&&&&&&&&&&&&&
char&&&&&&&&&
4、字符数组转换为单元数组(cellstr)
A=['what';'edit';'play'];%注意:用A=[]生成字符数组是,必须保证每行有相同的长度,不够可用空格补
&& B=cellstr(A)
&&& 'edit'
&&& 'play'
Size&&&&&&&&&&&
Attributes
3x4&&&&&&&&&&&&&&&
char&&&&&&&&&&&&&&
3x1&&&&&&&&&&&&&&
5、单元数组转换为数值型矩阵
&& A={'123.4'};
&& B=cell2mat(A)
&& C=str2num(B)
& 123.4000
Size&&&&&&&&&&&
Attributes
1x1&&&&&&&&&&&&&&&
cell&&&&&&&&&&&&&&&
1x5&&&&&&&&&&&&&&&
char&&&&&&&&&&&&&&&
1x1&&&&&&&&&&&&&&&&
8& double&
6、数值型矩阵转换为单元数组(num2cell)
&& A=[1,2,3;4,5,6];
&& B=num2cell(A)
[2]&&& [3]
[5]&&& [6]
Size&&&&&&&&&&&
Attributes
2x3&&&&&&&&&&&&&&&
double&&&&&&&&&&&&&
2x3&&&&&&&&&&&&&&
408& cell&&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 matlab 数组维度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信