MATLAB怎么把一个矩阵的不同取值情况映射成一个向量? 5

比如,一个矩阵是3*9,每一行只能有一个1,是这个矩阵所有的组成情况。怎么能把所有的组成情况对应成一个向量,即1-729... 比如,一个矩阵是3*9,每一行只能有一个1,是这个矩阵所有的组成情况。怎么能把所有的组成情况对应成一个向量,即1-729 展开
 我来答
真greatdju
2019-03-16 · TA获得超过3856个赞
知道小有建树答主
回答量:1300
采纳率:91%
帮助的人:759万
展开全部
把1~729转换成9进制,这个9进制的3个数分别代表这个矩阵每一行中1所在的位置。
下面是求x=123对应的矩阵,你可以把123换成1~729中的任何一个数
clear;clc
x=123
b=de2bi(x-1,3,9)+1;
A=zeros(3,9);
for n=1:3
A(n,b(n))=1;
end
A
反过来,将这个矩阵中每一行1所在位置对应的三位数从9进制转为十进制,就得到了对应值
下面是求A对应的值
[p,q]=find(A);
y=sortrows([p q]);
y=9.^(0:2)*(y(:,2)-1)+1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式