小编bla*_*bla的帖子

MATLAB中的xkcd样式图

xkcd风格的图形

因此,有才能的人已经想出了如何在Mathematica,LaTeX,PythonR中制作xkcd样式图.

如何使用MATLAB生成如上图所示的图?

我试过了什么

我创造了摇摆的线条,但我无法得到摇摆的轴.我想到的唯一解决方案是用摇摆的线覆盖它们,但我希望能够改变实际的轴.我也无法使幽默字体工作,使用的代码位是:

 annotation('textbox',[left+left/8 top+0.65*top 0.05525 0.065],...
'String',{'EMBARRASSMENT'},...
'FontSize',24,...
'FontName','Humor',...
'FitBoxToText','off',...
'LineStyle','none');
Run Code Online (Sandbox Code Playgroud)

对于摇摆不定的线,我尝试添加一个小的随机噪声和平滑:

 smooth(0.05*randn(size(x)),10)
Run Code Online (Sandbox Code Playgroud)

但是当它们交叉时,我无法使白色背景出现在它们周围......

matlab plot

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

通过空矩阵乘法更快地初始化数组的方法?(Matlab的)

我偶然发现了Matlab处理空矩阵的奇怪方式(在我看来).例如,如果两个空矩阵相乘,则结果为:

zeros(3,0)*zeros(0,3)
ans =

 0     0     0
 0     0     0
 0     0     0
Run Code Online (Sandbox Code Playgroud)

现在,这已经让我感到惊讶,然而,快速搜索让我进入上面的链接,我得到了解释为什么会发生这种情况的一些扭曲的逻辑.

但是,没有任何事情让我为以下观察做好准备 我问自己,这种类型的乘法与使用zeros(n)函数的效率有多高,比如初始化的目的?我以前timeit回答这个问题:

f=@() zeros(1000)
timeit(f)
ans =
    0.0033
Run Code Online (Sandbox Code Playgroud)

VS:

g=@() zeros(1000,0)*zeros(0,1000)
timeit(g)
ans =
    9.2048e-06
Run Code Online (Sandbox Code Playgroud)

两者都有1000x1000类零的矩阵相同的结果double,但空矩阵乘法1的速度快〜350倍!(使用ticand toc和循环发生类似的结果)

怎么会这样?是timeit或是tic,toc虚张声势还是我找到了一种更快速的方法来初始化矩阵?(这是用matlab 2012a完成的,在win7-64机器上,intel-i5 650 3.2Ghz ...)

编辑:

在阅读了您的反馈之后,我更仔细地研究了这个特性,并在2台不同的计算机上进行了测试(同样的matlab ver,尽管2012a),这是一个检查运行时间与矩阵n大小的代码.这就是我得到的:

在此输入图像描述

生成此代码的代码与timeit之前一样使用,但循环使用tic并且toc看起来相同.因此,对于小尺寸,zeros(n)是可比的.然而,围绕n=400空矩阵乘法的性能有所提升.我用来生成该图的代码是:

n=unique(round(logspace(0,4,200)));
for k=1:length(n)
    f=@() zeros(n(k));
    t1(k)=timeit(f);

    g=@() zeros(n(k),0)*zeros(0,n(k));
    t2(k)=timeit(g);
end

loglog(n,t1,'b',n,t2,'r');
legend('zeros(n)','zeros(n,0)*zeros(0,n)',2);
xlabel('matrix size …
Run Code Online (Sandbox Code Playgroud)

performance matlab initialization matrix-multiplication

62
推荐指数
3
解决办法
4750
查看次数

如何在内部绘制带有双色颗粒的水晶球

我只想提出一个有可能关闭的想法.我需要绘制一个水晶球,其中红色和蓝色颗粒随机定位.我想我必须和photoshop一起去,甚至试图用图像制作球,但是因为这是用于研究论文并且不一定要花哨,我想知道是否有任何方法可以使用R,matlab或任何方法进行编程其他语言.

matlab plot r computer-vision

56
推荐指数
9
解决办法
2660
查看次数

在Matlab中启动.exe文件后以编程方式按回车键

在Matlab中我可以启动外部.exe文件,有时会弹出一个需要按下回车键的文件.例如:

system('C:\Program Files (x86)\WinZip\WINZIP32.EXE')
Run Code Online (Sandbox Code Playgroud)

将启动Winzip,然后为了使用它,您需要通过按Enter键传递"立即购买"弹出窗口.现在我的问题不在于winzip,我只是把它作为一个例子(我还是使用winrar :).

在这种情况下,如何以编程方式在Matlab中按Enter键?(我用win 7)

可以使用事件监听器来解决这个问题吗?

编辑:java.awt.Robot类确实适用于资源管理器,但不适用于任何具有需要按下确定按钮的弹出窗口的软件.我不知道为什么它不起作用.我给了winzip的例子,因为我假设每个人都在他们的机器上安装了winzip/winrar.我拥有的实际软件与此问题不同且无关紧要.

matlab ui-automation

25
推荐指数
2
解决办法
6729
查看次数

(0.3)^ 3 ==(0.3)*(0.3)*(0.3)在matlab中返回false?

我试图理解MATLAB中基本算术运算的舍入误差,我遇到了以下奇怪的例子.

(0.3)^3 == (0.3)*(0.3)*(0.3)

ans = 0
Run Code Online (Sandbox Code Playgroud)

我想确切地知道如何计算左侧.MATLAB文档表明,对于整数幂,使用"通过平方取幂"算法.

"矩阵功率.如果p是标量,则X ^ p是功率p的X.如果p是整数,则通过重复平方来计算功率."

所以,我认为(0.3)^3(0.3)*(0.3)^2会返回相同的值.但这种情况并非如此.如何解释舍入误差的差异?

floating-point matlab

19
推荐指数
2
解决办法
501
查看次数

MATLAB:使用相同的重复块创建块对角矩阵

我有一个矩阵ķ尺寸为n×n .我想创建一个尺寸为N×N的新块对角矩阵M,使得它包含d个矩阵K块作为其对角线.

我会直接使用M = blkdiag(K,K,K)等已经ð过小.不幸的是,d是非常大的,我不想手动编写与公式d的完全相同的参数blkdiag()函数.

有没有更短,更聪明的方法来做到这一点?

matlab matrix vectorization

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

从matlab中的矩阵中随机选取数字

我怎样才能从下面给出的下面的矩阵中随机选择一个数字?

    A=[0.06 0.47 0.47]
Run Code Online (Sandbox Code Playgroud)

我只是想从上面的矩阵中随机选择一个数字.我在matlab环境中这样做.请帮忙.此外,是否有可能假设matlab中的变量趋于零,就像我们在限制中那样?

matlab matrix

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

如何在C#中清空数组?

我正在使用该函数Array.Clear()清空数组,但它会生成错误.这是我使用的代码:

private int[] activeFielderNumber = new int[10];
private string[] activeFielderAction = new string[10];  
....
...
....
Array.Clear(activeFielderNumber, 0, activeFielderNumber.Length);
Array.Clear(activeFielderAction, "", activeFielderAction.Length);
Run Code Online (Sandbox Code Playgroud)

错误是:

error CS0103: The name `Array' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

c# arrays

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

在MATLAB中显示不同大小的图像

我在MATLAB 2010b中创建高斯金字塔.我想展示像这里提到的相同图案的图像.

我尝试使用imresize,truesize但获得相同大小的所有图像.有人可以帮我解决这个问题吗?

matlab plot resize image-processing gaussian

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

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

使用以下两种方法为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
查看次数