24小时热门版块排行榜    

查看: 2306  |  回复: 6

yhyffrshuh

木虫 (正式写手)

流浪者一枚

[求助] matlab重复调用子程序的问题

问题
如有以下的子程序
[train,val,test]=dividerand(A,0.8,0,0.2);
重复运行上述子程序,
当[mean(train),std(train)]=[mean(test),std(test)]时,终止

程序如下:
A=[1 2 3 4 5 6 7 8 9 10];
[train,val,test]=dividerand(A,0.8,0,0.2);
if [mean(train),std(train)]=[mean(test),std(test)];
    break
elseif [mean(train),std(train)]~=[mean(test),std(test)] ;   
???         这里回到第一行子程序(实际上我的子程序比这个复杂),该怎么写?
end
回复此楼
Allhumanwisdomissummedupintwowords:waitandhope.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjliu1265

至尊木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yhyffrshuh: 金币+5, ★★★很有帮助 2012-04-30 19:25:07
xiegangmai: 金币+1, 谢谢应助! 2012-04-30 21:13:46
建议用while程序结构写程序:
epsv=1e-12;
A=[1 2 3 4 5 6 7 8 9 10];
while abs(mean(train)-mean(test))>epsv&abs(std(train)-std(test))>epsv;
    [train,val,test]=dividerand(A,0.8,0,0.2);
end
2楼2012-04-30 18:01:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhyffrshuh

木虫 (正式写手)

流浪者一枚

引用回帖:
2楼: Originally posted by zjliu1265 at 2012-04-30 18:01:59:
建议用while程序结构写程序:
epsv=1e-12;
A=;
while abs(mean(train)-mean(test))>epsv&abs(std(train)-std(test))>epsv;
    =dividerand(A,0.8,0,0.2);
end

按你的程序运行出错
??? Error using ==> minus
Matrix dimensions must agree.

我实际的子程序比较复杂,将子程序先存了一个m文件。
仍以上面简单的问题为例
将子程序存为
function[train val test]=dividerand(A,n,m,p)
[train,val,test]=dividerand(A,0.8,0,0.2);

主程序:A=[1 2 3 4 5 6 7 8 9 10];
[train,val,test]=dividerand(A,0.8,0,0.2);
while [mean(train),std(train)]~=[mean(test),std(test)] ;
[train,val,test]=dividerand(A,0.8,0,0.2);     %重复子程序
end
实际运行是[mean(train),std(train)]~=[ean(test),std(test)]时,并没有重复子程序
Allhumanwisdomissummedupintwowords:waitandhope.
3楼2012-04-30 19:43:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjliu1265

至尊木虫 (正式写手)

【答案】应助回帖


xiegangmai: 金币+1, 谢谢参与! 2012-04-30 21:14:13
??? Error using ==> minus
Matrix dimensions must agree.

你能把出错的语句显示下么?不然我们也不好判断啊
4楼2012-04-30 19:50:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhyffrshuh

木虫 (正式写手)

流浪者一枚

引用回帖:
4楼: Originally posted by zjliu1265 at 2012-04-30 19:50:54:
??? Error using ==> minus
Matrix dimensions must agree.

你能把出错的语句显示下么?不然我们也不好判断啊

一、  你2楼给的程序出错提示就是
??? Error using ==> minus
Matrix dimensions must agree.
这个你可以自己将你给的2楼程序放在命令窗口运行试试

二、我的程序运行没有出错
但是运行结果  [mean(train),std(train)]~=[ean(test),std(test)]就终止了(我想要的结果是[mean(train),std(train)]=[ean(test),std(test)]),估计是while中的子程序并没有运行
那又为什么没有运行呢????
Allhumanwisdomissummedupintwowords:waitandhope.
5楼2012-04-30 20:05:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rocmanz

新虫 (初入文坛)


xiegangmai: 金币+1, 鼓励讨论交流! 2013-07-25 22:03:33
引用回帖:
2楼: Originally posted by zjliu1265 at 2012-04-30 18:01:59
建议用while程序结构写程序:
epsv=1e-12;
A=;
while abs(mean(train)-mean(test))>epsv&abs(std(train)-std(test))>epsv;
    =dividerand(A,0.8,0,0.2);
end

2楼的判断条件如果发生一个<就跳出循环了吧?不能是与,得是或吧。
btw:我的matlab太古老,没有楼主的dividerand程序。不知道是不是判断有问题。
6楼2013-07-25 13:45:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

风随尘动

新虫 (小有名气)

我也遇到相似问题了,楼主怎么解决的呢

发自小木虫Android客户端
7楼2018-11-27 14:38:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yhyffrshuh 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 XlxB7q11Bc3x 2026-09-01 3/150 2026-09-01 21:52 by Y3OMSsg8u9zj
[基金申请] 面上合作单位盖章 +6 ssyjh 2026-08-27 9/450 2026-09-01 20:01 by huagongfeihu
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 为什么国自然不能直接公布 +5 bjdxyxy 2026-08-26 5/250 2026-09-01 17:54 by 小伟大博士
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
信息提示
请填处理意见