24小时热门版块排行榜    

查看: 1486  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiashaoyan

新虫 (正式写手)

[求助] MATLAB带有两重循环程序怎么改为向量话编程呢? 已有1人参与

我想用MATLAB向量化编程,遇到一些问题,下面我用下面这个案例说明一下我的问题
下面是一个MATLAB中arrayfun函数的案例,是个正确的代码,能运行程序
R1=1:100;
R2=1:100;
R3=1:100;
R = arrayfun( @zxy,R1,R2,R3);
function funz =zxy(x,y,z)
  funz = x+y.*z;
end
1.问题1:如果funz.m文件中需要调用一个变量的值(比如下面的例子中的a),怎么设置呢?比如:
R1=1:100;
R2=1:100;
R3=1:100;
a=5;
R = arrayfun( @zxy(R1,R2,R3,a),R1,R2,R3);
function funz =zxy(x,y,z,1)
  funz = a*x+y.*z;
end

然后MATLAB报错,说
Error: File: Untitled2.m Line: 5 Column: 19
Unbalanced or unexpected parenthesis or bracket.

所以我想问的问题,怎么在arrayfun函数中调用a的值呢???

问题2:
我发现最开始运行正确的程序中,R矩阵的大小和R1,R2,R3矩阵大小都一样,都是1*100,也就是说
R1=1:100;
R2=1:100;
R3=1:100;
R = arrayfun( @zxy,R1,R2,R3);
function funz =zxy(x,y,z)
  funz = x+y.*z;
end
在计算的过程中是R1,R2,R3是一一对应的,但是如果不是一一对应,而是每个R1值对应R2=1:100呢?
比如说我想用MATLAB向量化编程实现下面用for循环,但是怎么实现呢???

for R1=1:100
     for R2=1:100
           for R3=1:100
                 R =R1+R2*R3;
           end
      end
end
现在我想用MATLAB想量化实现,比如用arrayfun、cellfun、spfun函数,但是针对这个问题,我不知道用这几个函数中的哪一个?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
3楼: Originally posted by xiashaoyan at 2015-09-10 23:49:44
问题2我已经解决了,现在主要是问题1,设计到一些参数的调用,不知道arrayfun函数能不能调用类似a这样的变量值...

感觉 R = arrayfun( @zxy(R1,R2,R3,a),R1,R2,R3);
成了嵌套调用,语法有问题
4楼2015-09-11 05:56:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

大约是加点,形如
R. =R1.+R2.*R3.;
你可以试一试
2楼2015-09-10 20:28:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiashaoyan

新虫 (正式写手)

引用回帖:
2楼: Originally posted by feixiaolin at 2015-09-10 20:28:10
大约是加点,形如
R. =R1.+R2.*R3.;
你可以试一试

问题2我已经解决了,现在主要是问题1,设计到一些参数的调用,不知道arrayfun函数能不能调用类似a这样的变量值
3楼2015-09-10 23:49:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiashaoyan

新虫 (正式写手)

是呀,我感觉这个函数不能这么写。那么怎么解决问题二这种问题呢?因为这种问题我感觉也经常遇到吧

发自小木虫Android客户端
5楼2015-09-11 06:33:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +4 gdd2018 2026-08-28 5/250 2026-08-28 12:41 by Tide man
[基金申请] 2026年叶企孙基金 +3 bud_bud 2026-08-27 6/300 2026-08-28 11:53 by bud_bud
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金不中,共勉 +10 eulota 2026-08-26 10/500 2026-08-27 17:23 by lqllinqiaoli
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026国自然函评费到账 +22 羊腰板 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
信息提示
请填处理意见