24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 1269  |  回复: 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的回帖

xiashaoyan

新虫 (正式写手)

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

发自小木虫Android客户端
5楼2015-09-11 06:33:56
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600材料与化工,求调剂 +14 won_qii 2026-04-07 14/700 2026-04-13 22:21 by pies112
[考研] 0854调剂 +10 长弓傲 2026-04-12 13/650 2026-04-13 17:32 by 长弓傲
[教师之家] 转长聘了 +3 简单化xn 2026-04-13 3/150 2026-04-13 14:18 by wwwkkk83
[考研] 一志愿鲁东大学071000生物学学硕初试分数276求调剂 +8 慕绝cc 2026-04-09 8/400 2026-04-13 14:08 by 张zhihao
[考研] 211本科材料化工求调剂 +17 YHLAH 2026-04-11 20/1000 2026-04-13 08:46 by Sammy2
[考研] 326求调剂 +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[考研] 材料与化工300求调剂 +39 肖开文 2026-04-09 43/2150 2026-04-12 01:30 by 秋豆菜芽
[考研] 材料工程日语考生求调剂 +7 0856?调剂 2026-04-10 7/350 2026-04-11 21:33 by 蓝云思雨
[考研] 求调剂,一志愿大连理工大学354分 +5 雨声余生 2026-04-11 6/300 2026-04-11 16:12 by 雨声余生
[考研] 广东省 085601 329分求调剂 +14 Eddieddd 2026-04-10 14/700 2026-04-11 09:58 by bljnqdcc
[考研] 22408 352分求调剂0854类 +4 努力的夏末 2026-04-09 4/200 2026-04-11 09:57 by zhq0425
[考研] 337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 08:57 by zhq0425
[考研] 本科211 工科085400 280分求调剂 可跨专业 +11 LZH(等待调剂中 2026-04-10 11/550 2026-04-11 08:39 by zhq0425
[考研] 287求调剂 +15 Fnhc 2026-04-07 21/1050 2026-04-10 19:09 by chemisry
[考研] 调剂 +19 2261744733 2026-04-08 19/950 2026-04-09 19:11 by vgtyfty
[考研] 332,085601求调剂 +12 ydfyh 2026-04-09 14/700 2026-04-09 17:28 by wp06
[考研] 349学科化学045106求调剂,化学类都可以 +8 保好懂懂 2026-04-08 8/400 2026-04-09 14:03 by xulei3024
[考研] 296求调剂 +3 汪!?! 2026-04-08 3/150 2026-04-08 22:00 by zhouyuwinner
[考研] 388求调剂 +6 四川王涛 2026-04-07 8/400 2026-04-08 00:17 by JourneyLucky
[考研] 344求调剂 +11 魏子per 2026-04-07 11/550 2026-04-07 23:01 by JourneyLucky
信息提示
请填处理意见