我现在正在使用Python和MATLAB,我在Python中有一个2D数组,我需要将其写入文件,然后能够将其作为矩阵读入MATLAB.关于如何做到这一点的任何想法?
谢谢!
我有一个m乘n矩阵MATLAB,比如M.我有一个n元素行向量,即一个n列矩阵,比如X.
我知道X在M的某个地方.我怎样才能在M中找到索引?
这个问题从这个问题结束的那一刻开始.MATLAB具有强大而灵活的图像显示系统,您可以使用imshow和plot命令显示复杂图像,然后保存结果.例如:
im = imread('image.tif');
f = figure, imshow(im, 'Border', 'tight');
rectangle('Position', [100, 100, 10, 10]);
print(f, '-r80', '-dtiff', 'image2.tif');
Run Code Online (Sandbox Code Playgroud)
这非常有效.
问题是,如果你正在进行大量的图像处理,那么开始显示你创建的每个图像都是真正的拖累 - 你最想要保存它们.我知道我可以直接写入图像,然后保存结果.但是使用plot/rectangle/imshow是如此简单,所以我希望有一个命令可以让我调用plot,imshow等,不显示结果然后保存已经显示的内容.有人知道任何快速解决方案吗?
或者,将样条曲线放到位图上的快速方法可能有效......
如果我以EPS格式打印图表,EPS文件的内容将完全占用图表.但是如果我以PDF格式打印图表,那么PDF文件中的图表上方和下方都有很大的边距.如何在没有图块周围大边缘的PDF文件中保存图表?
我的猜测是如何根据绘图大小自动选择要打印到的PDF文件中的正确"纸张"大小.
这是我在tex.stackexchange.com上提出的一个问题,在那里我得到的回复主要是试图解决MATLAB之外的问题,而我仍然不太了解试图在MATLAB中解决的唯一回复.所以我想看看这里是否有更多的意见.
我有两个向量表示我想要绘制的点(x,y)的位置.
我知道如何绘制它们,但我也想将它们标记为1,2,3,4 ......在图上可以看到标签.标签表示它们在向量中的顺序.
在Haskell中,如果我想得到一个只包含数字5的10元素列表,我可以这样做:
take 10 $ repeat 5
Run Code Online (Sandbox Code Playgroud)
输出:
[5,5,5,5,5,5,5,5,5,5]
Run Code Online (Sandbox Code Playgroud)
在Matlab中有这样的东西吗?
我有一个关于使用该area功能的问题; 或者也许是另一个功能......我从一个大文本文件中创建了这个图:

绿色和蓝色代表两个不同的文件.我想要做的是分别填写红线和每次运行之间的区域.我可以用类似的想法创建一个区域图,但是当我在同一个图上绘制它们时,它们没有正确重叠.基本上,一个数字上有4个图.
我希望这是有道理的.
以下错误经常发生:
下标索引必须是实数正整数或逻辑
我发现了很多关于这个的问题,但没有一个有一个非常通用的答案.因此,我希望有解决这个问题的一般解决方案.
在Matlab中我这样做:
>> E = [];
>> A = [1 2 3 4 5; 10 20 30 40 50];
>> E = [E ; A]
E =
1 2 3 4 5
10 20 30 40 50
Run Code Online (Sandbox Code Playgroud)
现在我想在Numpy做同样的事情,但我有问题,看看这个:
>>> E = array([],dtype=int)
>>> E
array([], dtype=int64)
>>> A = array([[1,2,3,4,5],[10,20,30,40,50]])
>>> E = vstack((E,A))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/shape_base.py", line 226, in vstack
return _nx.concatenate(map(atleast_2d,tup),0)
ValueError: array dimensions must agree except for d_0 …Run Code Online (Sandbox Code Playgroud)