Matlab如何让矩阵中的excel数据透视表技巧不以科学计数法出现

在matlab中我在输入数据之后,为什么他自己变成了科学计数法的表示形式。_百度知道
在matlab中我在输入数据之后,为什么他自己变成了科学计数法的表示形式。
&&x1=[957.12.4.574.574.35.0981.5...755.71.73.77.79.5...00.00.0...
x1=[957.5 830.5 112.5 112.5 112.5 112.5 74.5 74.5 74.5 491.0 391.0 535.0 981.5...755.0 377.5 294.3 371.3 395.9 518.8 573.3 226.5 468.0 377.5 226.5 226.5 679.5....0 600.0 151.0 150.0 600.0 604.0 906.0 .5]x1 =
1.0e+003 *
Columns 1 through 8
Columns 9 through 16
Columns 17 through 24
Columns 25 through 32
Columns 33 through 36
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
gggssg知道合伙人
擅长:暂未定制
我喜欢用 format long g如果不需要那么高的精度format short g
宇逸ycl知道合伙人
采纳数:891
获赞数:2804
matlab系统默认的显示格式,你可以自己改一下 format long format shortformat long g等等
你查一下显示格式,有很多显示格式可以供你选择的。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Matlab如何让矩阵中的数据不以科学计数法出现_百度知道
Matlab如何让矩阵中的数据不以科学计数法出现
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
VXCW知道合伙人
方法:敲下format,回车,会变回到默认的4位小数。不过你的数要是实在很小,matlab还是会默认用科学计数法输出的。拓展:1、数学术语,a×10的n次幂的形式。将一个数字表示成 (a×10的n次幂的形式),其中1≤|a|&10,n表示整数,这种记数方法叫科学计数法。用幂的形式,有时可以方便的表示日常生活中遇到的一些较大的数,如:光的速度大约是300 000 000米/秒。常在物理上见到这样的大数,读、写都很不方便,考虑到10的幂有如下特点  一般的,10n次幂,在1的后面有n个0,这样就可用10的幂表示一些大数,如:  6 100 000 000=6.1×1 000 000 000。 2、科学记数法(Scientific Notation),用幂的形式,可以方便的表示日常生活中遇到的一些较大的数,如:光的速度大约是300 000 000米/秒;全世界人口数大约是:6 100 000 000人。常在物理上见到这样的大数,读、写都很不方便,考虑到10的幂有如下特点:10的二次方=100,10的三次方=1000,10的四次方=10 000……
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Github:https://github.com/MrLevo520
少数派:https://sspai.com/user/808474
解决:将.mat文件保存到.txt不带有科学计数法e-0
Python 2.7
IDE Pycharm 5.0.3
Matlab 2014a
在进行数据处理的时候,比如说我正好遇到KNN算法的python描述,但我的数据集是matlab的.mat文件,我想要用python处理数据的话,mat是不可行的,那怎么办呢?
python能读入的是txt,现在数据很多也是存在txt中的(以我接触的一些数据来说),python读取txt是非常方便的,而且读完构造array也好,list也好,都是十分方便的。所以我们目的就是把.mat文件转化成txt即可
1.在matlab端采用命令
实现转换代码
&& load('testAVIRIS.mat', 'IM')
&& save('testAVIRIS_Label.txt','CL','-ascii')
&& save('testAVIRIS.txt','testAVIRIS_IM','-ascii')
转换好之后就是这样的。
大家也看到,为了保存数据完整度,这里有科学计数法,但是写到txt之后效果就变了,都是字符串了,所以,开始数据清洗
line = line.strip()
line = re.sub('e-01',' ',line)
line = re.sub(' +',' ',line)
listFromLine = line.split(' ')
目的是,将e-01替换成空格,然后将多空格替换为一个空格,然后再进行对空格分割。这里耍了个小机灵,处理完了值后,应该就是可以下一步处理了,对Label的数据也相同处理方式,如下,只是把 点 作为分割对象了,记得正则表达式的转义符,使用\.
line = line.strip()
line = re.sub('\.',' ',line)
line = re.sub(' +',' ',line)
listFromLine = line.split(' ')
但是。这有个严重的BUG!导致我后续的分类精度差的离谱!!!因为我竟然傻乎乎的以为所以得数据都是e-01和e+00结尾的,其实不是的!!这个我大意了,数据之间差十倍也是有的,比如说有数据是e-02的!,还有类别是11的,如果直接以’.’为分隔符的话,第10类和第1类就一样了!!!,所以,这种方法对于这类数据来说,失败!
2.采用.mat先写入excel之后,用excel另存为txt!
具体的语句是这样的,我以IM.mat为例
&& data_label =IM(:,:);
&& xlswrite('label.xls',data_label)
之后的数据大概是这样的.OK没有讨厌的科学计数法!!
之后点击另存为txt就可以了
注意!选择保存类型为文本制表符txt!!!!,不然将会在后续操作中报错!
之后的样式就是这样,非常标准的制表符形式的txt文件,之后的数据清洗和数据分析很有帮助!
如遇以下问题
Error using xlswrite (line 219)
Error: 服务器出现意外情况。
这是端口被占用的原因,多谢@偏爱小毛驴的解决方案
相比较方法一,方法二完胜,就是多了一步excel的保存操作,但是这么简单的想法我却花了半天才想到,刚开始用format long之后,想把小数点全部读完然后写到txt,但是失败,之后又用num2str,mat2str想转变为字符串之后保存txt这样就没有科学计数法的困扰,也失败,还有也尝试用过fprintf函数,有点费时间,所以对于不怎么熟悉matlab的人来说,第二种方法实际可行,所以就酱紫把!
利用python进行数据分析.Wes McKinney著
机器学习实战.Peter Harrington著
matlab将矩阵存为txt,不使用科学计数法,并用逗号隔开
写文件去掉科学计数法
Python读取mat文件,并转为csv文件
Matlab输出写入文本文件及csv文件
怎么将一个很大的数写进一个文件时不用科学计数法?
python 不以科学计数法输出
MATLAB中,矩阵元素输出到TXT/csv文件,干掉讨厌的科学计数法。
用numpy输出时不用科学计数法
python读取文件——python读取和保存mat文件
解决python中 ndarray 默认用科学计数法显示的问题
没有更多推荐了,在matlab中如何控制数据的输出格式?_百度知道
在matlab中如何控制数据的输出格式?
请问各位大侠,在matlab中怎么样控制数据的输出格式啊?在C语言中printf函数有很多的选项可以实现这个操作,但matlab中,我输出一个矩阵,结果它就自动按照某一列成科学计数法表示,在...
请问各位大侠,在matlab中怎么样控制数据的输出格式啊?在C语言中printf函数有很多的选项可以实现这个操作,但matlab中,我输出一个矩阵,结果它就自动按照某一列成科学计数法表示,在表头上上写1.0e+006 *,但这样以来,其余列就有些显示全部是0.0000了,怎么办啊?急,谢谢各位我设成format longp之后也不行,还是有关1.0e+006*...然后还是有个不应该是0的数显示为0了。short的话就更不行了...
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
day忘不掉的痛知道合伙人
来自知道合伙人认证行家
day忘不掉的痛
知道合伙人
电脑类行家
采纳数:62901
获赞数:141769
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。
matlab中有专用命令 format但该命令不影响数据的储存形式和计算精度format
默认格式format short
5字长定点数format long
15字长定点数format short e
5字长浮点数format long e
15字长浮点数format short gformat long gformat hex
16进制format bank
定点货币形式format rat
小数分数表示format +
+,-,空格format compact
压缩空格format loose
包括空格和空行format long
15字长定点数format short e
5字长浮点数format long e
15字长浮点数format short gformat long gformat hex
16进制format bank
定点货币形式format rat
小数分数表示format +
+,-,空格format compact
压缩空格format loose
包括空格和空行当然也可以不用format 命令,可以修改系统的默认设置格式,File-&Preferences-&Command Window-&Text Display.如果想得到分数可以用rats()函数如果想得到根号,只有用符号表示了,当然用符号表示是万能的。例如:a=1/3
0.33333rats(a)
1/3a='sqrt(3)'
得到 sqrt(3)
不过这是字符型,要转换成数值型可以用eval(a),或str2num(a).但是无论Matlab中采取什么样的输出格式,在系统内核中的变量的精度总是保持精确的(尽可能)。除非人为的改变它的计算精度。可以用一个简单的例子来说明这个问题:如a=1/3
显示为0.a=a*3
得到 1 (不是0.)
McCrocodile知道合伙人
McCrocodile
采纳数:33
获赞数:189
擅长:暂未定制
数据显示格式可以由命令:vpa,format等改变另外还有fprintf格式与C基本一致,format rational最接近的有理数,format long 14位小数,format恢复。vap(c,6)设置c为6位小数。fprintf(‘%20.6f’,c)。至于你的问题,你可以使用vap(最好)也可以使用format long eng,如果问题允许你也可以事先处理数据使之再适合范围。推荐你使用help,其中有详细介绍。format命令参数:shortScaled fixed point format, with 4 digits after the decimal point. For example, 3.1416.longScaled fixed point format with 14 to 15 digits after the deci and 7 digits after the decimal point for single. For example, 3.793.short eFloating point format, with 4 digits after the decimal point. For example, 3..long eFloating point format, with 14 to 15 digits after the deci and 7 digits after the decimal point for single. For example, 3.793e+000.short gBest of fixed or floating point, with 4 digits after the decimal point. For example, 3.1416.long gBest of fixed or floating point, with 14 to 15 digits after the deci and 7 digits after the decimal point for single. For example, 3.79.short engEngineering format that has 4 digits after the decimal point, and a power that is a multiple of three. For example, 3..long engEngineering format that has exactly 16 significant digits and a power that is a multiple of three. For example, 3.79e+000.
本回答被提问者采纳
greatdju知道合伙人
采纳数:1589
获赞数:18764
试试看format long g或format long e还有一种试试看在变量前加个vpa例如a=[1 10 100
0000]+rand()vpa(a)
52xenos知道合伙人
采纳数:459
获赞数:2747
help sprintf这是matlab的format格式输出,很好用.也有%s,%5d,%g,%f等
xuxinhust知道合伙人
获赞数:20
擅长:暂未定制
数字显示,在最后可以通过函数format来控制,它可以控制很多种的输出的格式,至于matlab中,是默认的按照format short e输出.你可以通过format long来加大输出的显示有效位数,或者是format long e.
其他2条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。只需一步,快速开始
扫一扫,访问微社区
请完成以下验证码
查看: 10317|回复: 6|关注: 0
Matlab如何让矩阵中的数据不以科学计数法出现?
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
定义矩阵,数据如下:.0369248.03 36.90 4.50 4 5
61252.85 13.80 1.70 4 4
.4824503.10 .61 5 4
matlab会以科学计数法的形式显示。
1.0e+004 *
& & 0.1224& & 1.2153& & 6.9248& & 0.0037& & 0.0004& & 0.0004& & 0.0005
& & 0.2716& & 0.7522& & 6.1253& & 0.0014& & 0.0002& & 0.0004& & 0.0004
& & 0.2344& & 1.7235& & 2.4503& & 0.3206& & 0.0138& & 0.0005& & 0.0004
如何不让matlab转换?
我用的是matlab7.0
<h1 style="color:# 麦片财富积分
查一下“format”的帮助 能找到你需要的显示方式
<h1 style="color:# 麦片财富积分
不知道楼主解决没有,format我试过了,没有用:(
论坛优秀回答者
<h1 style="color:#95 麦片财富积分
关注者: 405
本帖最后由 jingzhaos 于
21:30 编辑
&& format short g
&& a
& && && &1224& && &&&12153& && &&&69248& && && &36.9& && && & 4.5& && && && &4& && && && &5
& && && &2716& && & 7521.9& && &&&61253& && && &13.8& && && & 1.7& && && && &4& && && && &4
& && && &2344& && &&&17235& && &&&24503& && & 3206.1& && & 137.61& && && && &5& && && && &4
复制代码
<h1 style="color:# 麦片财富积分
我试了一下&&format short g
& && && && & 1& && && && &0& && && && &0& && && && &0
& && && &-0.3& && && && &1& && && && &0& && && && &0
& && && & 0.5& &&&-2.5e+06& && && && &1& && && && &0
& && && & 0.2& &&&-2.4e+06& && && &0.96& && && && &1
论坛优秀回答者
<h1 style="color:#95 麦片财富积分
关注者: 405
我试了一下&&format short g
& && && && & 1& && && && &0& && && && &0& && && && &0
& && && &-0.3& &&&...
2500000超过了short的长度,只能按指数形式了
<h1 style="color:# 麦片财富积分
2500000超过了short的长度,只能按指数形式了
恩,好的。谢啦
站长推荐 /3
用 MATLAB/Simulink开发自动驾驶功能的实例研究
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区}

我要回帖

更多关于 2*3和2*2矩阵乘法公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信