matlab 中如何将三维数组中的部分赋值到二维数组中
我创建了一个三维数组,要将数组中a(1,:,:)中的数据求出它们的eig,特征向量及特征值。应该怎么做?eig好像不支持三维数组,所以想将a(1,:,:)中的数据先赋值,...
我创建了一个三维数组,要将数组中a(1,:,:)中的数据求出它们的eig,特征向量及特征值。应该怎么做?
eig好像不支持三维数组,所以想将a(1,:,:)中的数据先赋值,但是k中创建的就是三维数组。也没法对k操作。
求高手求解~ 先谢谢了~
a=[1 2 3;4 5 6;7 8 9];
a(:,:,2)=[0 0 1;0 1 0;1 0 0];
a(:,:,3)=3
for j=1:3
k=a(j,:,:);
eig(k)
end 展开
eig好像不支持三维数组,所以想将a(1,:,:)中的数据先赋值,但是k中创建的就是三维数组。也没法对k操作。
求高手求解~ 先谢谢了~
a=[1 2 3;4 5 6;7 8 9];
a(:,:,2)=[0 0 1;0 1 0;1 0 0];
a(:,:,3)=3
for j=1:3
k=a(j,:,:);
eig(k)
end 展开
1个回答
展开全部
使用reshape命令对矩阵进行整形。使用方式reshape(X,m,n...)
改进方式:
a(:,:,1)=[1 2 3;4 5 6;7 8 9];
a(:,:,2)=[0 0 1;0 1 0;1 0 0];
a(:,:,3)=3
for j=1:3
k=a(j,:,:);
k=reshape(k,3,3);%更改位置,3,3按照自己的矩阵变化,但要保证数目相同
[x,y]=eig(k);%x:特征向量;y:特征值。后期自己再改正哈程序
end
改进方式:
a(:,:,1)=[1 2 3;4 5 6;7 8 9];
a(:,:,2)=[0 0 1;0 1 0;1 0 0];
a(:,:,3)=3
for j=1:3
k=a(j,:,:);
k=reshape(k,3,3);%更改位置,3,3按照自己的矩阵变化,但要保证数目相同
[x,y]=eig(k);%x:特征向量;y:特征值。后期自己再改正哈程序
end
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询