24小时热门版块排行榜    

查看: 1229  |  回复: 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的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
xiashaoyan: 金币+3, 有帮助 2015-09-12 00:39:50
是否可以考虑下函数重载,也就是在函数内部增加代码,判断输入参数是单个数还是向量,然后做相应的处理。
知其然,知其所以然。
6楼2015-09-11 16:58:22
已阅   回复此楼   关注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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 食品专硕 一志愿双一流 328 +3 xiaom99 2026-03-21 4/200 2026-03-24 21:20 by lailaisimei
[考研] 材料学硕333求调剂 +3 北道巷 2026-03-24 3/150 2026-03-24 19:17 by pswait
[考研] 0854 考研调剂 招生了!AI 方向 +5 pk3725069 2026-03-19 17/850 2026-03-24 17:30 by zhouxuan..
[考博] 26申博自荐 +3 whh869393 2026-03-24 3/150 2026-03-24 09:55 by 21018060
[考研] 284求调剂 +10 Zhao anqi 2026-03-22 10/500 2026-03-24 00:08 by Equinoxhua
[考研] 291求调剂 +8 hhhhxn.. 2026-03-23 8/400 2026-03-23 23:15 by peike
[考研] 284求调剂 +3 yanzhixue111 2026-03-23 6/300 2026-03-23 22:58 by pswait
[考研] 材料/农业专业,07/08开头均可,过线就行 +3 呵唔哦豁 2026-03-23 4/200 2026-03-23 22:30 by 汪!?!
[考研] 336化工调剂 +4 王大坦1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[论文投稿] 急发核心期刊论文 +3 贤达问津 2026-03-23 5/250 2026-03-23 17:13 by 妹子不好惹
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 323求调剂 +6 洼小桶 2026-03-18 6/300 2026-03-23 00:29 by king123!
[考研] 307求调剂 +3 余意卿 2026-03-18 3/150 2026-03-21 17:31 by ColorlessPI
[考研] 材料 271求调剂 +5 展信悦_ 2026-03-21 5/250 2026-03-21 17:29 by 学员8dgXkO
[基金申请] 学校已经提交到NSFC,还能修改吗? 40+4 babangida 2026-03-19 9/450 2026-03-21 16:12 by babangida
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 材料与化工 322求调剂 +4 然11 2026-03-19 4/200 2026-03-20 22:12 by luoyongfeng
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[考研] 0703化学调剂 +4 18889395102 2026-03-18 4/200 2026-03-19 16:13 by 30660438
信息提示
请填处理意见