全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
1935 9
2012-05-03
m=magic(3)

m =

     8     1     6
     3     5     7
     4     9     2

>> r=find(m>3)

r =

     1
     3
     5
     6
     7
     8
如何让r在一行显示,而不是一列显示?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-5-3 12:36:13
用转置,r'
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-3 12:38:02
顺便再问问,>> a=magic(3)

a =

     8     1     6
     3     5     7
     4     9     2
>> l=abs(a>2)

l =

     1     0     1
     1     1     1
     1     1     0

>> abs不是求绝对值得函数吗?怎么可以这样用,还有a(l)=2,为什么会报错,我照着网上的例子,打的
错误是:Subscript indices must either be real positive integers or logicals
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-3 12:43:54
Chemist_MZ 发表于 2012-5-3 12:36
用转置,r'
厉害!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-3 12:49:14
matlab的所有函数基本都是矩阵化的,函数的输入参数和输出都可以是矩阵,所以会返回符合条件的所有矩阵里元素的位置,这个不奇怪。一般会写的人都会利用matlab强大的矩阵运算能力,尽量避免循环或者单个元素的处理,而用矩阵批量计算。

他返回的默认值是一个逻辑矩阵,即满足条件的元素位置是1,不满足的是0。
因为你的l矩阵里包含零,所以不positive,矩阵或者向量的元素的位置,在matlab里是没有零的,最小从1开始。不像其他语言中数组的元素下标从0开始,这点是比较大的区别。

其实我不知道你用a(l)想干嘛
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-3 12:53:43
liukuan415 发表于 2012-5-3 12:43
厉害!
嘿,这一点都不厉害,这些小技巧没几分钟都可以掌握。只是一些常用的小命令而已
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群