首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab:使用"for“循环中的先前矩阵创建新矩阵

Matlab:使用"for“循环中的先前矩阵创建新矩阵
EN

Stack Overflow用户
提问于 2013-04-13 11:09:23
回答 4查看 682关注 0票数 0

我已经写了下面的代码来确定在矩阵X的列中出现颜色的概率。索引数字0-7指的是这些颜色。

我的问题是-我想在新的矩阵中,在第一行有“颜色概率0”,然后在第二行有“颜色概率1”,依此类推。我在谷歌和帮助文档上进行了广泛的搜索,但仍然一无所知。

代码语言:javascript
运行
AI代码解释
复制
[rows, cols] = size(X);

for index = 0:7   
    B = (X == index);
    colour_in_columns = sum(B,1);
    prob_colour_in_columns = (colour_in_columns ./rows);
    index = index + 1;

end
EN

回答 4

Stack Overflow用户

发布于 2013-04-13 11:27:04

基本上(我希望这是可行的),您将每个prob_colour_in_columns添加到自身

代码语言:javascript
运行
AI代码解释
复制
newmatrix=[newmatrix;prob_colour_in_columns];
票数 0
EN

Stack Overflow用户

发布于 2013-04-13 12:18:24

for循环中“手动”修改index变量并不会像您想的那样工作。每次循环体再次执行时,Matlab都会用你给出的列表0:7中的下一个值覆盖你的index。可能是循环体中的最后一行是错误的,您可能想要删除它。

票数 0
EN

Stack Overflow用户

发布于 2013-04-13 12:25:42

您可以用类似的方法确定矩阵X的行中出现颜色的概率:假设

代码语言:javascript
运行
AI代码解释
复制
X=[1 2 3 4;
   5 1 1 0;
   7 7 7 7;
   0 7 6 6]

[rows, cols] = size(X);

for index = 0:7   
    B = (X == index);
    colour_in_rows = sum(B,2);
    prob_colour_in_rows = (colour_in_columns ./cols);
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15987127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档