楼主: liukuan415
1979 9

[学科前沿] matlab显示问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

92%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
217 点
帖子
25
精华
0
在线时间
39 小时
注册时间
2012-4-6
最后登录
2016-3-8

楼主
liukuan415 学生认证  发表于 2012-5-3 12:28:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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在一行显示,而不是一列显示?
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB atlab matla Atl Mat matlab 如何

回帖推荐

Chemist_MZ 发表于5楼  查看完整内容

matlab的所有函数基本都是矩阵化的,函数的输入参数和输出都可以是矩阵,所以会返回符合条件的所有矩阵里元素的位置,这个不奇怪。一般会写的人都会利用matlab强大的矩阵运算能力,尽量避免循环或者单个元素的处理,而用矩阵批量计算。 他返回的默认值是一个逻辑矩阵,即满足条件的元素位置是1,不满足的是0。 因为你的l矩阵里包含零,所以不positive,矩阵或者向量的元素的位置,在matlab里是没有零的,最小从1开始。不像其他 ...

本帖被以下文库推荐

沙发
Chemist_MZ 在职认证  发表于 2012-5-3 12:36:13
用转置,r'
扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

藤椅
liukuan415 学生认证  发表于 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

板凳
liukuan415 学生认证  发表于 2012-5-3 12:43:54
Chemist_MZ 发表于 2012-5-3 12:36
用转置,r'
厉害!

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

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

其实我不知道你用a(l)想干嘛
已有 1 人评分经验 论坛币 收起 理由
见路不走 + 5 + 5 热心帮助其他会员

总评分: 经验 + 5  论坛币 + 5   查看全部评分

扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

地板
Chemist_MZ 在职认证  发表于 2012-5-3 12:53:43
liukuan415 发表于 2012-5-3 12:43
厉害!
嘿,这一点都不厉害,这些小技巧没几分钟都可以掌握。只是一些常用的小命令而已
扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

7
Jasonluo 发表于 2012-5-3 12:56:54
Chemist_MZ 发表于 2012-5-3 12:53
嘿,这一点都不厉害,这些小技巧没几分钟都可以掌握。只是一些常用的小命令而已
就是的。关键是多用,能够解决实际问题

8
liukuan415 学生认证  发表于 2012-5-4 09:07:46
Chemist_MZ 发表于 2012-5-3 12:49
matlab的所有函数基本都是矩阵化的,函数的输入参数和输出都可以是矩阵,所以会返回符合条件的所有矩阵里元 ...
例子说的是,把所有大于2的数,变成2,我就看不懂了~,一个求绝对值得怎么还可以把数据变零变一呢?

9
Chemist_MZ 在职认证  发表于 2012-5-4 09:12:31
liukuan415 发表于 2012-5-4 09:07
例子说的是,把所有大于2的数,变成2,我就看不懂了~,一个求绝对值得怎么还可以把数据变零变一呢?
你这里abs函数不是简单的求绝对值,你用的是判断语句“>",所以他给你返回一个逻辑值(1true,0false)。因为接受判断的对象是个矩阵,所以他返回一个逻辑矩阵,这个和其他语言应该也是差不多的吧,就是一个矩阵化了而已。
扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

10
Chemist_MZ 在职认证  发表于 2012-5-4 09:13:50
如果你真要达到那种效果
a(find(abs(a>2)))=2
这样不就行了么?
扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

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

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-24 10:31