找回密码
 注册
Simdroid-非首页
查看: 53|回复: 5

matlab如何互换两个变量的变量名?

[复制链接]
发表于 2013-12-10 11:05:40 | 显示全部楼层 |阅读模式 来自 辽宁大连
ai=(2 ,3,4,5,6,7,8)
aj=(1,2,3,4,5,6,7,8)
ai,aj是两个不同的数组
我想实现的功能是:判定ai,aj中最小元素的大小,如果ai中的最小元素大于aj中的最小元素,则交换两变量的数组,反之,则不变。

请问如何实现?
发表于 2013-12-10 14:24:14 | 显示全部楼层 来自 北京
Simdroid开发平台
本帖最后由 ljelly 于 2013-12-10 14:26 编辑

以下是类似C的写法
  1. imin = min(ai);
  2. jmin = min(aj);
  3. temp = [ ];
  4. if imin > jmin
  5.    temp = ai;
  6.    ai = aj;
  7.    aj = temp
  8. end
复制代码
这样存在一个问题,如果ai与aj维数相同,是可以的,当两个数组或矩阵大小不一样时,是无法直接赋给的

评分

1

查看全部评分

回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2013-12-10 16:45:52 | 显示全部楼层 来自 辽宁大连
ljelly 发表于 2013-12-10 14:24
以下是类似C的写法这样存在一个问题,如果ai与aj维数相同,是可以的,当两个数组或矩阵大小不一样时,是无 ...

谢谢版主
回复 不支持

使用道具 举报

发表于 2013-12-10 18:50:14 | 显示全部楼层 来自 英国
另一种思路:
  1. A = [3 4 5];
  2. B = [1 2 3 4];

  3. if(min(A)>min(B))
  4.     [B, A] = deal(A, B);
  5. end
复制代码

点评

Note Beginning with MATLAB Version 7.0 software 应该是有的,现在这个函数不建议用的元胞和结构数组 这个函数在实现多个输出的时候是很方便的  发表于 2013-12-11 08:53
deal这个函数以前版本有吗  发表于 2013-12-11 08:06

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-21 02:31 , Processed in 0.041210 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表