小编use*_*419的帖子

如何消除子图和周围的差距

我在一个图中绘制了两个子图(2x1).我想删除两个子图之间的所有间距,并删除顶部子图的xlable和xlabel刻度.此外,我试图删除子图外的所有间距.我试试

set(gca, 'LooseInset', get(gca,'TightInset'))
Run Code Online (Sandbox Code Playgroud)

但它不起作用.现在我手动删除这些边距和标签,我需要处理60个数字并且手动执行所有这些操作非常耗时.有更好的方法吗?谢谢.

我也尝试了subtightplot,它有助于减少所有边距,但xlabel和ylabel也被剪切

margins=[0 0];
t = 0:0.01:10;
y1 = sin(t);
y2 = cos(t);
h1 = subtightplot(2,1,1, margins);
plot(t, y1);
ystr = {'sin(x)','(dimensionless)'}
hy1 = ylabel(ystr);
set(gca, 'fontsize', 14);
set(hy1, 'fontsize', 14);
set(gca, 'XTickLabel', [],'XTick',[])

h2 = subtightplot(2,1,2,margins);
plot(t, y2, 'r-o');
hx2=xlabel('frequency');
hy2=ylabel('amplitude');
set(gca, 'fontsize', 14);
set(hx2, 'fontsize', 14);
set(hy2, 'fontsize', 14);
Run Code Online (Sandbox Code Playgroud)

我也尝试了subplot_tight,但情况更糟

matlab margins subplot

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

如何改进 Python 中列表的模式匹配

我有一个很大的列表,其中可能包含数千到数百万个条目。我设置了一个有限大小的窗口来滑过列表。我需要计算窗口中匹配的元素并通过一次向前滑动窗口 1 的位置来重复该过程。这是一个列表的简单示例

L = [1 2 1 3 4 5 1 2 1 2 2 2 3 ]
Run Code Online (Sandbox Code Playgroud)

假设窗口的长度为 3,它将捕获

  1. [1 2 1] 包含一对匹配元素 (1 & 1)
  2. 将窗口向前移动 1 个位置 => [2 1 3],没有匹配的元素
  3. 将窗口向前移动 1 个位置 => [1 3 4],没有匹配的元素
  4. 将窗口向前移动 1 个位置 => [3 4 5],没有匹配的元素
  5. 将窗口向前移动 1 个位置 => [4 5 1],没有匹配的元素
  6. 将窗口向前移动 1 个位置 => [5 1 2],没有匹配的元素
  7. 将窗口向前移动 1 个位置 => [1 2 1], 1 个匹配元素 (1 & 1)
  8. 将窗口向前移动 1 个位置 => [2 …

python list python-itertools

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

如何在matlab中将图形导出为彩色eps

我在Matlab中有一个用于保存eps格式的图.如果我使用图中的交互式菜单这样做,一切都很顺利,导出的eps很好.但是,如果我使用以下命令

saveas(gca, 'myplot.eps','psc2');
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,导出的eps不会被剪裁,边距太大.如何在程序中保存没有保证金的eps?谢谢.

顺便说一句,如果我使用以下代码

saveas(gca, 'myplot.eps','eps');
Run Code Online (Sandbox Code Playgroud)

然后输出eps被剪裁,但它是黑色和白色而不是颜色.

matlab eps

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

c ++ fstream的文件读/写有2G限制吗?

我正在编写一个c ++程序来读/写一个大文件(可能大于60GB).通过谷歌搜索问题,似乎32位系统中的文件io有2GB限制(我使用的是Windows 7 64位,但我的程序是用mingw32编译的).在我的程序中,我一次向文件写入10个整数,所有这些数字都是根据某些算法随机生成的.即使文件大小超过40GB,程序似乎也可以运行,但是我无法检查程序读取的数据是否真的是存储在文件中的数据或一些垃圾数字.但无论如何,该程序不会报告任何警告或错误.这是否真的可以在32位程序中读/写大于60GB的文件?

c++ windows file-io

7
推荐指数
1
解决办法
1731
查看次数

为什么我的表单在文件被删除时不会收到WM_DropFiles?

我正在使用Embarcadero RAD Studio XE来开发应用程序.我正在尝试使用以下代码将文件拖放到应用程序中

TMainForm = class(TForm)
public:
  procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Self.Handle, True);
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  DragAcceptFiles(Self.Handle, False);
end;

procedure TMainForm.WMDropFiles(var Msg: TWMDropFiles);
begin
  inherited;
  showmessage('catch here');
  // some code to handle the drop files here
  Msg.Result := 0;
end;
Run Code Online (Sandbox Code Playgroud)

这段代码没有问题.此外,当我拖放文件时,光标显示状态已更改为拖放,但在删除后,没有任何反应(也未显示任何消息).这有什么不对吗?

delphi drag-and-drop

6
推荐指数
2
解决办法
3904
查看次数

关于boost :: ublas中的逐个元素操作

我发现boost :: ublas不能很好地支持逐个元素的操作和操作(但效率很高:))我试图

D = A ^ 2.*B ^ 3.*C.

其中A,B,C都是相同大小的方形矩阵,运算符".*"表示逐个元素的运算,^是矩阵的幂.有了提升:ublas,我写道

for (int n=0; n<300; n++)
{
  for (int k=0; k<300; k++)
  {
    D(n, k) = pow(abs(A(n, k)), 2)*pow(abs(B(n, k)), 3)*C(n, k);
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的程序中,我有许多后续操作,如上所示,无论如何,我可以得到相同的结果,但使用一行代码而不是循环?

另外,我观察到为矩阵或向量的所有元素分配常量似乎无效

boost :: numeric :: ublas :: vector v(100); v = 0.2;

相反,我必须使用循环再次执行赋值,更好的方法来保存一些代码?我的算法很长,并且有很多繁琐的操作,如上所述.我尝试了另一个数字库Armadillo,它提供了简单操作的好方法,但它目前没有假设稀疏矩阵(在运行我的代码时会花费大约10倍).

c++ matrix ublas

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

在html <img rel="nofollow noreferrer" width = xxx>中指定的图像宽度单位是多少?

我对HTML语言非常新鲜.在html中附带的图像中,我们需要通过以下标记指定图像的宽度

<img width=350 src='/var/tmp.jpg'/>
Run Code Online (Sandbox Code Playgroud)

那么这里宽度的单位是多少?我猜它是在像素?如果它在像素中,是否意味着图像的大小实际上相对于显示器的分辨率?我打开一个网页,在不同的机器上显示宽度为350的图像,并显示不同的分辨率.我测量屏幕上显示的图像的宽度,它们是相同的.那么我可以用厘米或毫米(在PHP中)找出图像的绝对宽度吗?

html image

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

动态确定基于系统的整数类型(c ++)

我正在编写一个程序来将数据存储到每32位单元(即一次4个字节)的文件中.我在64位Windows系统中编写了代码,但我使用的编译器是32位(mingw32).在当前系统中,int的长度是相同的,32位(4字节).我目前通过使用g ++重新编译(无需更改代码)将代码移植到其他系统.但是,我发现int或long的大小不同,具体取决于系统.是否有任何方式(如在头文件中使用宏)来确定整数的大小,以决定是否应将int或long用作代码中的数据类型?我必须在4种不同类型的系统中重新编译代码,如果我修改代码为每个系统有4个不同的副本,那真的很头疼.

c++ int long-integer

4
推荐指数
1
解决办法
137
查看次数

如何在matlab中找到xlabel的实际长度或坐标

我使用以下代码在matlab图中找到xlabel的位置.

xlabel('X');
get(get(gca,'XLabel'),'Position');
Run Code Online (Sandbox Code Playgroud)

这给了我一些坐标(0.4981 -0.0669 1.0001).我认为坐标只是标签左上角的位置.那么如果我只知道字体大小,我如何找到标签的边界?

matlab plot text label

4
推荐指数
1
解决办法
995
查看次数

在 div 前后添加换行符的最佳方法是什么?

有人向我展示了一个 html,使用 div 标签来显示一些包含背景图像的文本

<div class='main'>
   <div class='img1'>
      SOME TITLE TEXT
   </div>  
</div>";
<div class='img2'>"
  SOME DESCRIPTION TEXT HERE
</div>"
Run Code Online (Sandbox Code Playgroud)

这里类 img1 和 img2 包含两个背景图像,img2 的相应 div 将显示在 img1 旁边(无间隙)。我需要重复整个模式几次才能显示内容不同但格式相同的内容。

<!-- GROUP 1 -->  
<div class='main'>
   <div class='img1'>
      SOME TITLE TEXT 1
   </div>  
</div>";
<div class='img2'>"
  SOME DESCRIPTION TEXT HERE 1
</div>"
<!-- GROUP 2 -->  
<div class='main'>
   <div class='img1'>
      SOME TITLE TEXT 2
   </div>  
</div>";
<div class='img2'>"
  SOME DESCRIPTION TEXT HERE 2
</div>"
Run Code Online (Sandbox Code Playgroud)

但我发现如上所示,任何两个组之间都没有分离。说实话,我对html确实没有经验,只是复制别人的代码。但是在网上搜索后,我找到了该
命令,我尝试在组之间添加该标签,但似乎中断比我预期的要多。有没有其他方法可以以更小的间隙插入分离?

html line-breaks

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