小编Dan*_*Dan的帖子

MATLAB - 如何从nxn矩阵绘制热图?

我有一个50x50的矩阵,其中一些数字从0到1比1不等.如何用彩条显示这些数据的热图?我正在寻找的是一个图,其中xy值的范围从150150,每个点(x,y给出相应的数据在矩阵条目(大小颜色)x,y).有关这种热图的示例,请查看这个有趣的xkcd帖子.

谢谢!

matlab plot

14
推荐指数
1
解决办法
5万
查看次数

使用Excel VBA检查数组中是否存在值

我在下面有一些代码,应该检查一个值是否在数组中.

Sub test()
    vars1 = Array("Examples")
    vars2 = Array("Example")
    If IsInArray(Range("A1").Value, vars1) Then
        x = 1
    End If

    If IsInArray(Range("A1").Value, vars2) Then
        x = 1
    End If
End Sub

Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
  IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function
Run Code Online (Sandbox Code Playgroud)

如果单元格A1中包含单词Examples出于某种原因两者的IsInArray检测为现有两个数组时,它应该只找到它存在的在vars1

我需要更改什么才能使我的IsInArray功能完全匹配?

arrays excel vba excel-vba

11
推荐指数
6
解决办法
9万
查看次数

将numpy数组转换为CSV字符串,将CSV字符串转换回numpy数组

我必须将numpy浮点数组转换为字符串(存储在SQL DB中),然后将相同的字符串转换回numpy浮点数组.

这就是我要去一个字符串(基于这篇文章)

VIstring = ''.join(['%.5f,' % num for num in VI])
VIstring= VIstring[:-1] #Get rid of the last comma
Run Code Online (Sandbox Code Playgroud)

首先,这确实有效,这是一个好方法吗?他们是摆脱最后一个逗号的更好方法吗?或者我可以获得join为我插入逗号的方法吗?

其次,更重要的是,是否有一种聪明的方法从字符串返回浮点数组?

这是一个数组和字符串的示例:

VI
array([ 17.95024446,  17.51670904,  17.08894626,  16.66695611,
        16.25073861,  15.84029374,  15.4356215 ,  15.0367219 ,
        14.64359494,  14.25624062,  13.87465893,  13.49884988,
        13.12881346,  12.76454968,  12.40605854,  12.00293814,
        11.96379322,  11.96272486,  11.96142533,  11.96010489,
        11.95881595,  12.26924591,  12.67548634,  13.08158864,
        13.4877041 ,  13.87701221,  14.40238245,  14.94943786,
        15.49364166,  16.03681428,  16.5498035 ,  16.78362298,
        16.90331119,  17.02299387,  17.12193689,  17.09448654,
        17.00066063,  16.9300633 ,  16.97229868,  17.2169709 ,  17.75368411])

VIstring
'17.95024,17.51671,17.08895,16.66696,16.25074,15.84029,15.43562,15.03672,14.64359,14.25624,13.87466,13.49885,13.12881,12.76455,12.40606,12.00294,11.96379,11.96272,11.96143,11.96010,11.95882,12.26925,12.67549,13.08159,13.48770,13.87701,14.40238,14.94944,15.49364,16.03681,16.54980,16.78362,16.90331,17.02299,17.12194,17.09449,17.00066,16.93006,16.97230,17.21697,17.75368'
Run Code Online (Sandbox Code Playgroud)

哦,是的,精确度的损失%.5f …

python csv numpy python-2.7

10
推荐指数
3
解决办法
1万
查看次数

在给定时间后打破专有工具箱

我每次都在MATLAB中迭代一个大的测试矩阵并调用第二方专有软件(在MATLAB中运行).我无法编辑软件源代码.有时候,软件会挂起,所以我想在一段时间后退出它并继续下一次迭代.

在伪代码中,我这样做:

for i = 1:n
    output(i) = proprietary_software(input(i));
end
Run Code Online (Sandbox Code Playgroud)

output(i)='too_long'如果专有软件耗时太长,我怎样才能跳到下一次迭代(并可能保存)?

matlab timeout break

10
推荐指数
1
解决办法
479
查看次数

在Pypi上注册内部包

我在某处读到,如果您为专有工作制作内部Python包,您仍应在PyPi上注册该名称,以避免潜在的未来依赖性问题.

如果不公开发布我的代码,我该怎么做?该软件包包含在我的工作内部使用的代码.我应该使用我想要保留的名称创建一个空的python包并将其上传到PyPi吗?然后使用git而不是PyPi在工作中安装我的包?

上传一个空包似乎是一件愚蠢的事情,这会让其他人烦恼.但我找不到一种方法来注册这个名字.

python package pypi python-3.x

10
推荐指数
1
解决办法
1148
查看次数

从Matlab函数返回多个输出变量

可以说我有一个功能:

function [ A, B, C ] = test(x, y, z)
    A=2*x;
    B=2*y;
    C=2*z;
end
Run Code Online (Sandbox Code Playgroud)

当您按下run时,matlab仅返回输出参数中的第一个值 - [A]在本例中.是否有一个命令,我可以放在我的函数中,自动返回所有函数输出参数[A,B,C]而不是第一个参数.我知道我可以输入我的命令窗口[ A, B, C ] = test(x, y, z)并获取所有值,但有时候我很懒,只想按Run并自动获取所有值.

matlab

9
推荐指数
1
解决办法
3万
查看次数

生成许多​​随机向量与单个随机矩阵之间是否存在统计差异

使用以下两种方法为montecarlo模拟生成一系列路径之间是否存在统计差异(请注意,路径中我指的是350点的向量,通常是分布式的):

一个)

for path = 1:300000
    Zn(path, :) = randn(1, 350); 
end
Run Code Online (Sandbox Code Playgroud)

或更高效的B)

Zn = randn(300000, 350);
Run Code Online (Sandbox Code Playgroud)

我只希望确保没有滑稽相加的关联或方法B中的行之间的依赖也许就像方法乙通常分布在2维,其中A是用1种尺寸,其不存在于方法A,所以也许这使得两个统计上有所不同?

如果存在差异,那么我需要知道相同的均匀分布(即rand而不是randn)

random statistics matlab matrix

8
推荐指数
1
解决办法
273
查看次数

在matplotlib中Matlab的surf(x,y,z,c)的等价物是什么?

我想实现的功能等surf(x,y,z,c)在MATLAB中,在这里x,y并且z是坐标,c是一个变量的值,我可以使用c来定义颜色.我不知道如何实现它matplotlib.

python matlab matplotlib

8
推荐指数
1
解决办法
9760
查看次数

在Python中使用mca包

我正在尝试使用mca包在Python中进行多个对应分析.

我对如何使用它感到有点困惑.随着PCA我希望到适合一些数据(即找到这些数据主要成分),再后来我就能够使用,我发现主成分变换看不见的数据.

根据MCA文档,我无法确定如何执行此最后一步.我也搞不懂什么任何的古怪cryptically命名的属性和方法做(即.E,.L,.K,.k等).

到目前为止,如果我有一个包含字符串的列的DataFrame(假设这是DF中唯一的列)我会做类似的事情

import mca
ca = mca.MCA(pd.get_dummies(df, drop_first=True))
Run Code Online (Sandbox Code Playgroud)

从我可以收集到的

ca.fs_r(1)
Run Code Online (Sandbox Code Playgroud)

是在数据的变换df

ca.L
Run Code Online (Sandbox Code Playgroud)

应该是特征值(虽然我得到的1s 的向量比我的特征数量少一个元素?).

现在,如果我有更多具有相同功能的数据,让我们说df_new并假设我已经正确地将其转换为虚拟变量,我如何找到ca.fs_r(1)新数据的等价物

pca python-3.x pandas scikit-learn

8
推荐指数
2
解决办法
6058
查看次数

在每行中获取不同的列

我想从矩阵的每一行中得到一个不同的列.例如:

A = [1,2;1,4;5,2]
B = [2;2;1]
Run Code Online (Sandbox Code Playgroud)

输出应该产生:

out = [2;4;5]
Run Code Online (Sandbox Code Playgroud)

所以简而言之:A是矩阵,并且B每行的列数都有索引.如何在不使用循环的情况下执行此操作(如果可能)?

matlab row matrix

7
推荐指数
2
解决办法
2793
查看次数