matlab如何对结构体排序 20
我正用matlab做函数仿真,遇到一个问题:我想把函数的变量x,y与结果z打包成结构体形式,现在要根据z的值不同,对10组这样的结构体进行排序:如果这结构体用seed表示...
我正用matlab做函数仿真,遇到一个问题:
我想把函数的变量x,y与结果z打包成结构体形式,现在要根据z的值不同,对10组这样的结构体进行排序:如果这结构体用seed表示,我想做的是sort(seed.z).
如果matlab 不提供结构体的排序,那么有什么方法可以做到这种效果呢?例如把x,y,z分三个1维数组,对z排序后,要求z对应的x,y数组也要对应改变序列.
请高手帮忙下,哈哈!
我的是matlab7,貌似不可以象你这样做sort(seed.z),系统出错
??? Error using ==> sort
DIM must be within array bounds.
我再弄得简单点吧,定义seed(1).x=3;seed(1).y=6;seed(2).x=5;seed(2).y=7;seed(3).x=1;seed(3).y=2;
这样如果要按y排序,则如何处理呢? 展开
我想把函数的变量x,y与结果z打包成结构体形式,现在要根据z的值不同,对10组这样的结构体进行排序:如果这结构体用seed表示,我想做的是sort(seed.z).
如果matlab 不提供结构体的排序,那么有什么方法可以做到这种效果呢?例如把x,y,z分三个1维数组,对z排序后,要求z对应的x,y数组也要对应改变序列.
请高手帮忙下,哈哈!
我的是matlab7,貌似不可以象你这样做sort(seed.z),系统出错
??? Error using ==> sort
DIM must be within array bounds.
我再弄得简单点吧,定义seed(1).x=3;seed(1).y=6;seed(2).x=5;seed(2).y=7;seed(3).x=1;seed(3).y=2;
这样如果要按y排序,则如何处理呢? 展开
3个回答
展开全部
我改了一下,是我写错了,不是版本的问题,下面是正确的
[seednew,index] = sort([seed.z]) ;对seed.z升序排列
seednew 是升序排好的seed.z
查看只按z排列的结构体结果
则 seed(index(1))、seed(index(2)) 、seed(index(3))
或者seednew1=seed(index(:))
或seednew2=seed(index)
[seednew,index] = sort([seed.z]) ;对seed.z升序排列
seednew 是升序排好的seed.z
查看只按z排列的结构体结果
则 seed(index(1))、seed(index(2)) 、seed(index(3))
或者seednew1=seed(index(:))
或seednew2=seed(index)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打入下列变成即可:
[seednew,index] = sort([seed.z]) ;对seed.z升序排列
seednew 是升序排好的seed.z
查看只按z排列的结构体结果
则 seed(index(1))、seed(index(2)) 、seed(index(3))
或者seednew1=seed(index(:))
或seednew2=seed(index)
[seednew,index] = sort([seed.z]) ;对seed.z升序排列
seednew 是升序排好的seed.z
查看只按z排列的结构体结果
则 seed(index(1))、seed(index(2)) 、seed(index(3))
或者seednew1=seed(index(:))
或seednew2=seed(index)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就直接比较z
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |