matlab——最曲线救国的一招,服了自己了。。。。

为了实现开水的最大乐趣和编程宗旨“能自动化的绝对自动化,不能自动化的搞成自动化!”,这两天一直在研究如何在matlab里实现获取当前文件夹的名称,需求不到合适的函数时,开水动了批处理的歪脑筋!(奸笑)

(批处理:奴家不要~ 皇上你才认识臣妾不到一个星期,怎么可以直接就上了?~  臣妾做不到啊)

(开水:管我认识你多久,说上咱就上,少啰嗦,度娘,上) (“雅蠛蝶~~” )
于是乎开水在度娘的帮助下,成功地掀开了批处理的面纱,一窥批处理的美貌~~(因此也误了作业,哼哼,走着瞧,待我再修炼修炼,刷好等级再与你一战~)


order=strvcat('call :get "%cd%"','pause>nul','exit',':get','echo %~nx1>name.txt','exit')
%将各行命令分为每个单元,存入order中(批处理最后得自行退出-exit,否则会阻碍程序的进行)
order=order'%转置以显示出所要求的形式
bat_w=fopen('A.bat','w+')%创建并将order写入批处理中
for i=1:6
fprintf(bat_w,'%s\r\n',order(:,i))
end
status=fclose(bat_w)
winopen('A.bat')
name=importdata('name.txt')
name=cell2mat(name)%将上面的name(元胞数组)转为矩阵
delete A.bat
delete name.txt%消灭处理痕迹


通过strvcat函数将各行命令并到一个矩阵中——→创建批处理文件并写入命令——→读取批处理存储记录名称的文件——→消除痕迹

经过这一番曲线救国,最后得到了开水想要的战果——文件夹名! (O(∩_∩)O哈哈~) 
虽然其中有不少曲折,但是学到的还是不少滴~~不知道可以整合成一个函数。
有人建议我用dir搭配uigetdir能完成,如果有哪位知道有更适合的函数或者方法,希望不吝赐教!


——————————————————小开水飘过~~~~~————————————————————————————
经过ilovematlab论坛里的回答——————→ http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=244407&page=1#pid2103942
最后知道真相的我眼泪流下来TAT  真的跟之前别人提示的一样,先获得路径,再寻找字符串..............

解决思路如下:
获取当前文件路径(dir、pwd)————→寻找特定格式的字符串( regexp、findstr、strfind

之前Q群里有人建议用dir获取路径时,我就曾想过正则表达式抓取路径里的文件夹名,但是不知道matlab里有没有正则表达式的函数,仅仅只是想到,没有实践。没想到还真有,O(∩_∩)O哈哈~真好,最近都在玩批处理和正则表达式,这下子两种方法分别用到了,岂不快哉?哈哈哈哈!
多跟人交流才能发现新大陆,以后多多交流,开阔下视野~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值