Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么用numpy/matlab分别处理相同的数据会得到不同的结果
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个maxtrix数据,形状是10201*101,只包含0和1。下面的代码是用matlab/python实现的,但是得到的结果不同,我不知道为什么。。。你知道吗</p> <pre><code>BOUND = load('C:\Users\1\Desktop\ct06\result_data116.dat'); BOUND = reshape(BOUND,101,101,101); BOUND(:,:,[1,101]) = 1; BOUND(:,[1,101],:) = 1; Boundary = find(BOUND>0); #matlab > Boubdary : 808243x1 double import numpy as np BOUND = np.loadtxt(r'C:\Users\1\Desktop\ct06\result_data116.dat').reshape([101,101,101]) BOUND[:,:,[0,100]] = 1 BOUND[:,[0,100],:] = 1 Boundary = np.where(BOUND>0) print(Boundary[0].size) #python > 809074 </code></pre> <p>我真的不知道为什么它有两个不同的边界(808243和809074)?你知道吗</p> <p>我猜赋值操作是导致差异的原因(我推迟了赋值部分,然后他们得到了相同的结果)。。。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>可能的原因是Matlab使用了列主顺序,所以</p> <pre><code>BOUND[:,[0,100],:] = 1 </code></pre> <p>这种行为在Matlab和Python中是不同的。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
4 回答
Pyvisa IOerror设备:Korad K3005d电源
4 回答
PyVISA mac OS X(山狮)安捷伦33250
4 回答
Pyvisa Pyusb无法加载大于1 MB的序列
10 回答
pyVisa RS232太慢
6 回答
PyVISA RS232超时错误(安捷伦电源)
3 回答
PyVISA SCPI命令和查询(值更新问题)
1 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
3 回答
pyvisa,未找到函数viOpen
7 回答
pyVISA:以编程方式将仪器返回到本地模式
3 回答
pyvisa:接口类型是什么意思?
1 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
2 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
9 回答
PyVisapy后端
8 回答
PyVISA不能写入超过7F的十六进制字符
7 回答
PYVISA中的ENUM模块和cStringIO模块
9 回答
PyVisa代码的图形用户界面
3 回答
Pyvisa使用按键电源超时
7 回答
PyVISA和Kethley 2701只能从一个通道获取结果
10 回答
PyVisa和Printing New D
9 回答