Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
假设我们有以下数据:
H_T = [36 66 21 65 52 67 73; 31 23 19 33 36 39 42] P = [40 38 39 40 35 32 37] 使用MATLAB 7.0,我想创建三个具有以下属性的新矩阵: 矩阵H (矩阵H_T的第一部分)将分为3个间隔:
因此,结果矩阵将是: H_T_1 = [36 21; 31 19] P_1 = [40 39] H_T_2 = [52; 36] P_2 = [35] H_T_3 = [66 65 67 73; 23 33 39 42] P_3 = [38 40 32 37] 实际上,这是一个简单的示例,通过根据规格创建新矩阵很容易,但是在我的值中,我有成千上万个数字,因此很难做到这一点。 回答: 这是一个快速的解决方案 [~,bins] = histc(H_T(1,:), [20 40 60 80]); outHT = cell(3,1); outP = cell(3,1); for i=1:3 idx = (bins == i); outHT{i} = H_T(:,idx); outP{i} = P(idx); end 那么您可以通过以下方式访问矩阵: >> outHT{3} ans = 66 65 67 73 23 33 39 42 >> outP{3} ans = 38 40 32 37 更多&回答... |
![]() |
![]() |