Redian新闻
>
[转载] matlab的字符串处理功能强吗?
avatar
[转载] matlab的字符串处理功能强吗?# Computation - 科学计算
l*r
1
【 以下文字转载自 Programming 讨论区 】
【 原文由 littledear 所发表 】
偶的具体问题是这样的。
偶有一个sym object, such as:
y=3*x^2+5*x^7
想把系数和阶次取出放到数组里面。
偶能想到的办法是用字符串比较,找'x','*','^'等关键字,然后取出相应的
字符串,然后转换成数。这在c里面应该不难,不知道matlab是否方便?
有更好的办法实现这个吗?
avatar
c*v
2
should be very easy to identify the number after '*X^'

【在 l********r 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 【 原文由 littledear 所发表 】
: 偶的具体问题是这样的。
: 偶有一个sym object, such as:
: y=3*x^2+5*x^7
: 想把系数和阶次取出放到数组里面。
: 偶能想到的办法是用字符串比较,找'x','*','^'等关键字,然后取出相应的
: 字符串,然后转换成数。这在c里面应该不难,不知道matlab是否方便?
: 有更好的办法实现这个吗?

avatar
l*r
3
我现在觉得作为字符串取出来的确不难。问题在于:
matlab的symbol expression总是把小数写成分数形式,分母分子经常会有几百个数字,
这样
转化成数字(str2num)时超出处理范围了。难道symbol不能是小数形式吗?这样我至少还
可以指定精度什么的。

【在 c*v 的大作中提到】
: should be very easy to identify the number after '*X^'
avatar
r*y
4

suppose string
str = 'y =3*x^2+5*x^7'
idx = findstr(str, '*');
ind = findstr(str, '^');
coefficient = str2num(str(idx-1));
power = str2num(str(ind+1));
If your coefficient and power can be real number, needs more
positioning statement.


【在 l********r 的大作中提到】
: 我现在觉得作为字符串取出来的确不难。问题在于:
: matlab的symbol expression总是把小数写成分数形式,分母分子经常会有几百个数字,
: 这样
: 转化成数字(str2num)时超出处理范围了。难道symbol不能是小数形式吗?这样我至少还
: 可以指定精度什么的。

avatar
l*r
5
我现在觉得作为字符串取出来的确不难。问题在于:
matlab的symbol expression总是把小数写成分数形式,分母分子经常会有几百个数字,
这样
转化成数字(str2num)时超出处理范围了。难道symbol不能是小数形式吗?这样我至少还
可以指定精度什么的。
btw,你的算法有个小flaw:
如果某个系数为1,表达式不显示出来,所以需要多些判断语句。

【在 r****y 的大作中提到】
:
: suppose string
: str = 'y =3*x^2+5*x^7'
: idx = findstr(str, '*');
: ind = findstr(str, '^');
: coefficient = str2num(str(idx-1));
: power = str2num(str(ind+1));
: If your coefficient and power can be real number, needs more
: positioning statement.
:

相关阅读
求推荐并行计算软件库请教UAI‘13会议求个算法求个计算机博后职位即将回国,整理这几年下来不少东西,出售生活用品,家具搞学术的 老中 真是 太抠门了请教: 阿里达摩院 的压缩,计算机视觉和 AI 融合CCF Lead Web Developer openingShibboleth and JbossPH.D Openings in ECE of the University of Alabama寻找在美国的有缘人,26岁征婚找朋友。那个CS的certificate有用?好找工作Codility的考试谁做过,和Reviewing Opportunities in big data, cloud computing and mu (转载)PhD student positions at <a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="bffafafcecffead1d6c9dacdccd6cbc6">[email protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script> of California, Mercedfortran output 弱问题求助跪求Visualization, Data Mining, Computer Graphics 方面的审有做网络安全科研的同学么,一个科研小项目,报酬1000刀EE PhD 申请 CS master云计算动了谁家的“奶酪”--谁将会失去他的饭碗!慎重
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。