首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >matlab中两个相关向量的重排

matlab中两个相关向量的重排
EN

Stack Overflow用户
提问于 2019-11-20 15:03:43
回答 1查看 43关注 0票数 0

我正在用matlab分析多路电路的效率。输出为最大工作距离,分析了电路的功率。该向量的输出如下:

代码语言:javascript
运行
复制
>> display(distance)

distance =

     8    21    21     4     3     8     3     8     2     6    10     7     6     8    12    11     6     8

>>display(power)

power =

  Columns 1 through 13

    3.2047    3.5666    3.7578    1.8184    3.0810    3.7973    2.8699    3.3953    2.5971    3.1933    3.8191    3.7992    3.4802

  Columns 14 through 18

    4.1104    4.0836    3.2191    3.9155    0.2394

正如你所看到的,我有电路1,它的功率为3.2047,最大距离为8米。我有电路6,它的最大距离与3.7973电源相同。我希望重新排列distance向量,使其成为新月(例如,从2开始,以21结尾),并能够相应地重新排列power。下面你有一个display,我希望看到这样做来澄清这个问题。

代码语言:javascript
运行
复制
>> display(distanceReorganized)

distanceReorganized =

     2    3    3     4     6     6     6     7     8     8    8     8     8     10    11     12     21    21

>>display(powerReorganized)

powerReorganized =

  Columns 1 through 13

    2.5971    2.8699    3.0810    1.8184    3.1933    3.4802    3.9155    3.7992    0.2394    3.2047    3.3953    3.7973    4.1104

  Columns 14 through 18

    3.8191    3.2191    4.0836    3.5666    3.7578
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-20 16:12:10

使用来自sortsort

代码语言:javascript
运行
复制
[~,I] = sort(distance, 'ascend');
distanceReorganized = distance(I);
powerReorganized = power(I);

编辑:基于您的评论,sortrows应该做您想要做的事情:

代码语言:javascript
运行
复制
circuitData = table(distance', power', 'VariableNames', {'Distance', 'Power'});
sortrows(circuitData,{'Distance','Power'})

然后,如果愿意,可以将表的列重新分配给新的向量变量。

这是水晶石的文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58957423

复制
相关文章

相似问题

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