工作生活

matlab提取科学计数法指数

2019-07-02  本文已影响0人  星独

把一个数表示成a与10的n次幂相乘的形式(1≤a<10,n为整数),这种记数法叫做科学记数法。

解决办法:将科学计算法转换为字符串,如5.624E+14,我们只需要找到字符E,将后面的提取出来即可。matlab中指数表示为e,即5.624Ee+14,但是如果我们输入5.624E+14时好像必须是E。

办法1:提取指数e前的a

function y = getmydata2(a)     % 存为 getmydata2.m

s = num2str(a,'%1.4e');

id = find(s=='e');

s = s(1:id-1);

y = str2num(s);

办法2:提取指数e后的指数

function y = getmydata2(a)     % 存为 getmydata2.m

s = num2str(a,'%1.4e');

id = find(s=='e');

s = s(id+1:end);  

y = str2num(s); 

注意:字符串第id位是e,id+1位是正负号,id+2位后面才是指数,可根据据情况修改。

这是来自一个人的回答,具体网址找不到了,希望对大家又帮助。

上一篇下一篇

猜你喜欢

热点阅读