对由 MATLAB 中的结构组成的元胞数组进行排序?

Sorting a Cell Array which consists of structures in MATLAB?

你好,希望你们一切都好。

现在我正在做一个关于 MATLAB 的作业。我有一个元胞数组,它由 6 个结构组成,其中有 6 个字段。元胞数组如下所示:

每个结构也看起来像这样:

我需要根据存储在其中的 totalCost 值对该元胞数组进行排序。我不知道我是否能够仅通过排序功能来做到这一点。我希望单元格中的每个结构在排序后保持不变。具有最少 totalCost 的结构将成为元胞数组中的第一个元胞,反之亦然。你能帮我吗?

也许你可以像下面那样尝试 cellfun + getfield + sort

[~,I] = sort(cellfun(@(s) getfield(s,"totalCost"), OPEN));
OPENsort = OPEN(I);