MATLAB 板


LINE

各位前辈好,我是matlab的初学者 假设现在有一个长度为1000的数列由1和0组成「100101101100011.....」 我想要把这个数列整理成「101010101010101010.....」 目前我尝试的方法是将数列a(ii+1)和a(ii)比较 若a(ii+1) == a(ii)且a(ii) = 1时,a(ii+1) = 0 a(ii) = 0时,a(ii+1) = 1 若a(ii+1)不等於a(ii),则数值不变 比较的方法,我是以一个for回圈来判断数值前後的差别 我的写法如下 ------------------------------- function mode_org = SO(temp) filename = ['mode_' num2str(temp) '_K.txt']; filepath = sprintf(filename); fidw = fopen(filepath, 'w+'); filename2 = ['mode_' num2str(temp+1) '_K.txt']; if temp == 205 mode_org = textread('random_org.txt','%f'); elseif temp < 205 mode_org = textread(filename2, '%f'); end A = rand(1); Prob_T = tanh(1.4*sqrt((205/temp)-1)); mode_org(1) = 1; for ii = 1:1000 if mode_org(ii+1) == mode_org(ii) %------------------------------------------ if A <= Prob_T && mode_org(ii) == 1; mode_org(ii+1) = 0; elseif A <= Prob_T && mode_org(ii) ==0; mode_org(ii+1) = 1; end %------------------------------------------ else mode_org(ii+1) = mode_org(ii+1); end fprintf(fidw, '%.6f\r\n', mode_org(ii)); end fclose(fidw); end ------------------------------- 这边读取的txt档是一个由1和0构成的随机数列(共1000个数字) 这个写法执行後会出现错误讯息 index out of bounds because numel(a)=1000 我想应该是在ii = 1000时,找不到a(1001)所以无法执行 除了刻意把读入的txt档多加个一数值外,目前我还想不到解法... 不过因为计算需要,不可以多加入一个数值给a数列 想请教该如何解决这个问题 感激不尽 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 130.126.255.51
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1522556216.A.966.html
1F:推 profyang: 看不太懂你想做什麽 你的原数列不管是什麽出来的数列不 04/01 14:56
2F:→ profyang: 都是一样的1010这样的数列吗?那还排什麽? 04/01 14:56
3F:推 LiamIssac: ii只需要到999 04/01 15:00
不好意思没写清楚,我更新了上面程式码的部分 我想做的事情是把「100101010...」这个随机的数列逐渐变成「1010101010....」 控制的方法是用一个随temp变化的函数Prob_T 然後将「100101010...」这个数列随着temp逐渐变小最终趋向「1010101010....」 我的作法是把最开始的数列的a(ii+1)和a(ii)比较,若a(ii+1)跟a(ii)不同则变化 然後输出成一个新的txt档,再重新对着个txt档做一样的事,输出下一个档案 ii设999仅能执行一次,後面的档案似乎需要一次减少一个数值才能继续 不晓得该如何解决 感谢前辈帮忙解惑 ※ 编辑: mibmibx (130.126.255.51), 04/01/2018 20:30:47
4F:→ mibmibx: 目前我想到的是在ii=1000时补上新的数字,这样就可以正常 04/01 20:56
5F:→ mibmibx: 执行,不过还是想知道有没有方法可以不用补的 04/01 20:57
6F:推 sunev: for ii=1:999 04/02 12:43
7F:→ sunev: if 那里可改成 mode_org(ii+1) = 1-mode_org(ii) 04/02 12:43
8F:→ sunev: 这样就不用判断mode_org(ii)是1还是0 04/02 12:44
9F:→ mibmibx: 感谢指点 04/02 23:00







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP