我用纸张纹理图案扫描了一张旧照片,我想尽可能地去除纹理而不降低图像质量.有没有办法,可能在MATLAB中使用图像处理工具箱?
我试图应用FFT转换(使用Photoshop插件),但我找不到任何明显的白点可以画画.对于这种方法,这种模式可能不那么规律吗?
您可以在下面看到示例.如果您需要完整的图像,我可以将其上传到某处.

我找不到可用于为您自己的MATLAB函数编写帮助的格式.官方文档中提供的信息非常少.
您是否知道使用帮助浏览器可以看到的任何其他格式(不具有帮助功能)?就像内置功能一样.如何格式化标题(如语法,描述,示例)?子弹,桌子可能吗?或者它应该是一个单独的文件?
我尝试过用于PUBLISH和HTML的文本标记,但没有用.
我发现只有一件有趣的事情.如果您的函数包含大小写混合大小写testHelpFunction,则其名称将突出显示:

没有突出显示它是否正好testhelpfunction.
还有其他想法吗?
UPDATE
以下是我在创建您自己的帮助文件时找到的大量文档:
提供您自己的帮助和演示
(死链接替换为Web存档链接)
(已删除死链接)
再次更新:
如何从向量中随机选取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倍.
所有权重的总和可以是任何东西.
我想在MATLAB中重现下图:

有两类具有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对每个类使用主成分分析()来确定角度和形状.仍然在想...
我很好奇在哪里可以找到FEATURE函数的完整描述?它接受哪些论据?没有找到任何文档.我只听说过memstats和getpid.还要别的吗?
>> which feature
built-in (undocumented)
Run Code Online (Sandbox Code Playgroud) 作为中间步骤,我生成一个数据框,其中一列作为字符串,其余为数字.我想将它转换为矩阵,但首先我必须将该字符列转换为行名并将其从数据框中删除.
有没有简单的方法来做到这一点dplyr?这样的功能to_rownames()与add_rownames()?相反?
我看到了一个使用自定义函数的解决方案,但它确实脱离了dplyr哲学.
我使用 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)来实现这一目标?
在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点).
任何想法如何矢量化这段代码?
我有一个矩阵形式的大型MATLAB文件(150MB)(即4070x4070).我需要在MATLAB中处理这个文件,但我似乎无法加载这个文件.我收到了"内存不足"的错误.有没有其他方法可以加载这个大小的文件?我使用的是32位处理器,并且有2GB的RAM.请帮助我,我在处理这个问题时已经筋疲力尽了.
我有一个整数向量,让我们说从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函数中得到的那样.