Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在尝试编写一些代码来计算Matlab中的累积分布函数。当我尝试将结果实际放入数组时,它会大吼大叫。
tempnum = ordered1(1); k=2; while(k vertcat CAT arguments dimensions are not consistent. Error in ==> lab8 at 1164 output = [output;[(count/537),tempnum]]; 我的助教给了我添加到输出矩阵的那一行。他一年四季都没有教我们太多语法,所以我不确定我做错了什么。任何帮助是极大的赞赏。 回答: 如果要从头开始构建矩阵output ,则应确保尚未将其初始化为任何东西。为此,可以在代码开头将其设置为空矩阵: output = []; 另外,如果您知道output是多少,那么如果您预先分配数组 output并索引到数组中以分配值而不是向其附加值,则代码将更有效地运行 。在您的情况下, output应具有与ordered1数组中唯一值相同的行数,因此您可以使用函数UNIQUE来预分配output : nRows = numel(unique(ordered1)); %# Get the number of unique values output = zeros(nRows,2); %# Initialize output 然后,您将必须保留一个单独的计数器(例如r )以跟踪将添加到下一个output索引: ... output(r,:) = [count/537 tempnum]; %# Overwrite a row in output r = r+1; %# Increment the row index ... 一些其他建议... 即使您解决了遇到的错误,您也会在上面的代码中遇到更多的问题: |
![]() |
![]() |