小编yuk*_*yuk的帖子

从照片中删除纸张纹理图案

我用纸张纹理图案扫描了一张旧照片,我想尽可能地去除纹理而不降低图像质量.有没有办法,可能在MATLAB中使用图像处理工具箱?

我试图应用FFT转换(使用Photoshop插件),但我找不到任何明显的白点可以画画.对于这种方法,这种模式可能不那么规律吗?

您可以在下面看到示例.如果您需要完整的图像,我可以将其上传到某处. 照片样本

matlab textures design-patterns image-processing

28
推荐指数
2
解决办法
8450
查看次数

MATLAB m文件有助于格式化

我找不到可用于为您自己的MATLAB函数编写帮助的格式.官方文档中提供的信息非常少.

您是否知道使用帮助浏览器可以看到的任何其他格式(不具有帮助功能)?就像内置功能一样.如何格式化标题(如语法,描述,示例)?子弹,桌子可能吗?或者它应该是一个单独的文件?

我尝试过用于PUBLISH和HTML的文本标记,但没有用.

我发现只有一件有趣的事情.如果您的函数包含大小写混合大小写testHelpFunction,则其名称将突出显示:

替代文字

没有突出显示它是否正好testhelpfunction.

还有其他想法吗?

UPDATE

以下是我在创建您自己的帮助文件时找到的大量文档:

提供您自己的帮助和演示
(死链接替换为Web存档链接)


(已删除死链接)


再次更新:

formatting matlab

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

MATLAB中的加权随机数

如何从向量中随机选取N个数字,a并为每个数字分配权重?

让我们说:

a = 1:3; % possible numbers
weight = [0.3 0.1 0.2]; % corresponding weights
Run Code Online (Sandbox Code Playgroud)

在这种情况下,拾取1的概率应该比拾取2的概率高3倍.

所有权重的总和可以是任何东西.

random matlab

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

在MATLAB中围绕数据的椭圆

我想在MATLAB中重现下图:

exampleee.png

有两类具有X和Y坐标的点.我想用一个带有一个标准偏差参数的椭圆围绕每个类,它决定了椭圆沿轴线走多远.

这个图是用另一个软件创建的,我不太清楚它是如何计算椭圆的.

这是我用于此图的数据.第一列是第二列 - 第二列 - 第三列 - 第一列.我可以gscatter用来绘制点本身.

A = [
    0   0.89287 1.54987
    0   0.69933 1.81970
    0   0.84022 1.28598
    0   0.79523 1.16012
    0   0.61266 1.12835
    0   0.39950 0.37942
    0   0.54807 1.66173
    0   0.50882 1.43175
    0   0.68840 1.58589
    0   0.59572 1.29311
    1   1.00787 1.09905
    1   1.23724 0.98834
    1   1.02175 0.67245
    1   0.88458 0.36003
    1   0.66582 1.22097
    1   1.24408 0.59735
    1   1.03421 0.88595
    1   1.66279 0.84183
];

gscatter(A(:,2),A(:,3),A(:,1))
Run Code Online (Sandbox Code Playgroud)

仅供参考,是关于如何绘制椭圆的SO问题.所以,我们只需知道绘制它的所有参数.


更新:

我同意可以将中心计算为X和Y坐标的平均值.可能我必须PRINCOMP对每个类使用主成分分析()来确定角度和形状.仍然在想...

matlab plot normal-distribution ellipse standard-deviation

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

MATLAB功能

我很好奇在哪里可以找到FEATURE函数的完整描述?它接受哪些论据?没有找到任何文档.我只听说过memstatsgetpid.还要别的吗?

>> which feature
built-in (undocumented)
Run Code Online (Sandbox Code Playgroud)

matlab function

13
推荐指数
1
解决办法
8339
查看次数

与dplyr中的add_rownames相反的功能

作为中间步骤,我生成一个数据框,其中一列作为字符串,其余为数字.我想将它转换为矩阵,但首先我必须将该字符列转换为行名并将其从数据框中删除.

有没有简单的方法来做到这一点dplyr?这样的功能to_rownames()add_rownames()?相反?

我看到了一个使用自定义函数的解决方案,但它确实脱离了dplyr哲学.

r matrix dataframe dplyr

12
推荐指数
2
解决办法
5527
查看次数

使用 ggplot2 将组平均线添加到条形图

我使用 geom_col() 生成一个条形图,其中两个类由颜色分隔。然后我尝试为每个班级添加一条平均线。

这是我想得到的:

期望输出

但是,平均线下方的代码是针对每个条形独立的,我将其放入组参数中。

这是一个可重现的示例:

library(tidyverse)

df = data.frame(
  x = 1:10,
  y = runif(10),
  class = sample(c("a","b"),10, replace=T) %>% factor()
) %>% 
  mutate(x = factor(x, levels=x[order(class, -y)]))

ggplot(df, aes(x, y, fill=class)) +
geom_col() +
stat_summary(fun.y = mean, geom = "errorbar", 
             aes(ymax = ..y.., ymin = ..y.., group = class),
             width = 1, linetype = "solid")
Run Code Online (Sandbox Code Playgroud)

我得到的

请告诉我我做错了什么。或者任何其他方式(使用ggplot)来实现这一目标?

r bar-chart ggplot2

12
推荐指数
1
解决办法
6329
查看次数

映射2个向量 - 帮助进行向量化

在Matlab中工作我有2个不同长度的x坐标向量.例如:

xm = [15 20 24 25 26 35 81 84 93];
xn = [14 22 26 51 55 59 70 75 89 96];
Run Code Online (Sandbox Code Playgroud)

我需要将xm映射到xn,或者换句话说,找到xn中哪些坐标最接近xm.因此,如果我有与这些坐标相关联的值,我可以将此地图用作索引并关联这些值.

两个向量都被排序,每个向量中没有重复.

我用for循环写了一个简单的函数:

function xmap = vectors_map(xm,xn)
xmap = zeros(size(xm));
for k=1:numel(xm)
    [~, ind] = min(abs(xm(k)-xn));
    xmap(k) = ind(1);
end
Run Code Online (Sandbox Code Playgroud)

对于上面的例子是返回

xmap =
    1     2     2     3     3     3     8     9    10
Run Code Online (Sandbox Code Playgroud)

它工作正常,但需要一段时间长矢量(超过100,000点).

任何想法如何矢量化这段代码?

performance matlab vector map vectorization

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

如何在MATLAB中加载大文件(~150MB)?

我有一个矩阵形式的大型MATLAB文件(150MB)(即4070x4070).我需要在MATLAB中处理这个文件,但我似乎无法加载这个文件.我收到了"内存不足"的错误.有没有其他方法可以加载这个大小的文件?我使用的是32位处理器,并且有2GB的RAM.请帮助我,我在处理这个问题时已经筋疲力尽了.

memory file-io matlab mat-file

9
推荐指数
2
解决办法
9234
查看次数

按特定(自定义)顺序排序整数向量

我有一个整数向量,让我们说从1到3(可以更多):

x <- sample(1:3, 10, replace=T)

[1] 1 3 1 2 2 1 3 2 3 2
Run Code Online (Sandbox Code Playgroud)

如果我排序x我会得到

sort(x)
[1] 1 1 1 2 2 2 2 3 3 3
Run Code Online (Sandbox Code Playgroud)

但我首先需要2s,然后是1s,然后是3s.

[1] 2 2 2 2 1 1 1 3 3 3
Run Code Online (Sandbox Code Playgroud)

那么,如果我有一个向量y = c(2, 1, 3),我如何使用它来排序顺序?

实际上我不需要值本身,而是原始向量中的排序值索引,就像我从order函数中得到的那样.

sorting r vector

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