我基本上寻找相反的methods(some_function),它返回该函数存在的所有类方法.有没有一些简单的方法来搜索具有method给定对象类的显式的所有函数?
例如,methods(my_func)返回一堆myfunc.classname值.有没有一个functions(my_class)方法可以返回所有函数func.my_class?
可以说我有矩阵
a = [ 1 1 1 1;
1 1 1 1;
1 1 1 1]
Run Code Online (Sandbox Code Playgroud)
我想将子矩阵a(2:3, 2:3)乘以5; 所以新的矩阵是
a = [ 1 1 1 1;
1 5 5 1;
1 5 5 1]
Run Code Online (Sandbox Code Playgroud)
那是什么功能?我试过这个=>
a = a(2:3, 2:3)*5;
Run Code Online (Sandbox Code Playgroud)
但那只会给我一个新的矩阵2x2
a = [5 5;
5 5]
Run Code Online (Sandbox Code Playgroud) 我正在使用一堆货币数据.csv文件.这些.csv没有标题,我正在尝试添加,使用colnames函数.
colnames(variable_name) <- c('Date', 'Time', 'Open', 'Close', 'Volume')
Run Code Online (Sandbox Code Playgroud)
数据导入和列标题的分配应该使用for循环自动完成.数据框的名称是文件名的一部分.
file_names <- list.files()
for (i in 1:length(file_names)){
assign(substr(file_names,1,6)[i], read.csv(file_names[i], header=F))
colnames(variable_name) <- c('Date', 'Time', 'Open', 'Close', 'Volume')
}
Run Code Online (Sandbox Code Playgroud)
如何设置将variable_name输入到colnames函数中.我试过用:
colnames(substr(file_names,1,6)[i])
Run Code Online (Sandbox Code Playgroud)
但这会给我输入"AUDUSD",我需要输入没有引号的AUDUSD.
那么如何才能将String转换为我可以在这里使用的变量名?或许我的方法在这里完全错了?
非常感谢!
克里斯
我在某个地方看到了一些(坏)代码,这些代码最终调用了一个mymatrix[TRUE]沿途执行的函数.事实证明,至少在我测试的样本中,这被解释为选择矩阵的所有元素.显然[不是强迫TRUE来1,因为当时我只得到第一个元素中返回,而不是整个矩阵.
mymatrix[FALSE]回报numeric(0).有人能解释一下[这里到底在做什么吗?
> x <- 1.00042589212565
> x
[1] 1.000426
Run Code Online (Sandbox Code Playgroud)
如果我想打印确切的值x,我该怎么做?
对不起,如果这是一个愚蠢的问题.我试着谷歌搜索"R"和"确切"或"圆形",但我得到的是关于如何舍入的文章.
先感谢您!
我编写了一个宏,它对文档中特定Word样式集的每个实例执行某些操作.
为此,我用这种方式创建了一个名字数组:
Dim mylist(4) As String
mylist(1) = "Heading 1"
mylist(2) = "Heading 2"
mylist(3) = "Heading 3"
mylist(4) = "Caption"
Run Code Online (Sandbox Code Playgroud)
我无法找到任何帮助页面(在Office帮助或microsoft.com中)提到了一个更短的方法.是否有任何语法可以让我简化为(伪代码)
mylist(1:4) = ["Heading 1", "Heading 2", "Heading 3", "Caption"]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个数组的单行加载的通用解决方案,无论是字符串还是数字,当我不想要整个集合时,比如说文档中的所有样式.
编辑:我在Visual Basic 2008中运行了Collection初始化语法?,这表明答案是"直到VB10".任何对该结论的更新都将受到欢迎.
我在 R 中生成了列表 L,其中
L <- list()
L[[1]] <-cbind ("Orks", "Eldar")
L[[2]] <-cbind ("Nid", "Tau")
Run Code Online (Sandbox Code Playgroud)
和输出
> L
[[1]]
[,1] [,2]
[1,] "Orks" "Eldar"
[[2]]
[,1] [,2]
[1,] "Nid" "Tau"
Run Code Online (Sandbox Code Playgroud)
我想用以下输出编写一个 .csv 文件
Number Type
1 Orks, Eldar
2 Nid, Tau
Run Code Online (Sandbox Code Playgroud)
即,将列表组件 L[[i]] 传输到文件的第 i 行,具有上述拆分和列名。我开始使用
LL <- data.frame(matrix(unlist(L), nrow=2) )
Run Code Online (Sandbox Code Playgroud)
但输出并没有说服我,因为我不知道如何在将条目LL发送到 .csv 文件之前将它们绑定到 的同一行上。
是否有一种蛮力方法可以到达上面的 .csv 结构,而不是玩弄unlist它的结果?
我非常感谢你!
我已经阅读了几个关于为数据设置两个x轴的SO答案,以及在mathworks.com上的一些教程,但我没有看到完全如下的方法:
通常绘制数据集第一.在图形的顶部创建第二个x轴,但使用现有的y轴作为下一个数据集.绘制第二个数据集,使其控制第二个x轴(缩放等),并且不会覆盖或重新缩放现有的单个y轴.
这样做的原因是我想基于相同的源数据集绘制两组不同的直方图值,因此频率分布的大小相似,但是bin大小/边的值是不同的.
我的后备是对第二个数据集的x数据进行点斜率缩放,但是我仍然需要创建第二个x轴,类似于如何在Matlab中插入两个X轴.
这是一个普遍问题,与特定操作无关.我希望能够将任意函数的结果写入单元格数组的元素,而不考虑函数返回的数据类型.考虑这个伪代码:
zout = cell(n,m);
myfunc = str2func('inputname'); %assume myfunc puts out m values to match zout dimensions
zout(1,:) = myfunc(x,y);
Run Code Online (Sandbox Code Playgroud)
这将适用于"inputname"=="strcat",例如,给定它x并且y是具有适当维度的字符串或单元格.但是如果"inputname"=="strcmp"则输出是逻辑数组,并且Matlab会抛出错误.我需要这样做
zout(1,:) = num2cell(strcmp(x,y));
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:有没有办法填充单元格数zout而不必测试生成的变量类型myfunc(x,y ?我应该首先使用a struct(如果是这样,最好的方法是填充它)?
(我通常是R用户,我可以在list没有任何痛苦的情况下使用变量)
编辑:为了简化整体范围,添加以下"要求":我们现在假设,对于返回多个输出的函数,只需要捕获第一个zout.但是当此输出是N值的向量或单元的向量(即Nx1单元阵列)时,这些N值将被映射到zout(1,1:N).
在R中,有什么区别:
summary(airquality$Solar.R[(airquality$Ozone>31)&(airquality$Temp>90)])
Run Code Online (Sandbox Code Playgroud)
与
summary( (airquality[airquality$Ozone>31,][airquality$Temp>90,])$Solar.R)
Run Code Online (Sandbox Code Playgroud)
我的结果略有不同,212.0与212.8相比,这更准确,表现更好.
我有一些数字,例如:
1.1, 10, 2.2*1.0e+45, 2.2*1.0e-44
我不知道确切的下一个数字是什么,但我想删除数字的科学部分,即将每个数字的数量减少到半开区间[1,10].输出值必须如下:
1.1, 1, 2.2, 2.2
如何在MATLAB中实现这一目标?
我正在编写一个图形窗口的代码,其中包含几个运行回调函数的GUI项.目前我有一个文本框和一个滑块控件,我进行了设置,以便更改文本框值不仅会更改显示的数据,还会更新滑块位置以匹配该值.我varargin遇到的问题是试图保持我的参数(在创建图形窗口时输入到main函数)被包含在父cell变量中.当我的顶层varargin包含一个值参数对,varargin是一cell维的1x2的.没关系.通常,可以将所有这些参数传递给内部函数调用,如下所示:
function topfunc(varargin)
%code
do_something(varargin{:})
Run Code Online (Sandbox Code Playgroud)
该函数dosomething可以看到正确的参数列表.但是,当我通过callback定义传递varargins时,就像在
txtui = uicontrol(hf,'Style','edit','string',fristframe,'backgroundcolor','y',...
'position',[10 100 50 20],'Tag','Scaler','UserData',lsatframe,...
'Callback',{@doslide,adcname,mode,goodframes,{varargin{:}} } );
Run Code Online (Sandbox Code Playgroud)
然后该函数 doslide调用绘图更新功能dordplot
function doslide(theui,event,fileName,mode, goodframes,varargin)
% code snipped...
dordplot(slidinfo,event,fileName,mode,goodframes,varargin{:});
end
Run Code Online (Sandbox Code Playgroud)
里面doslide,varargin是含有期望的1×2单元1x1的细胞.
我在我的最终函数中添加了一个kludge修复程序,其中varargin实际使用的内容与行
varargin = varargin{:};
Run Code Online (Sandbox Code Playgroud)
但是,varargin首先将它包裹在一个细胞内似乎是错误的.
有没有修复,或者我是否错误地定义了我的回调函数调用?
r ×6
matlab ×5
cell-array ×2
callback ×1
csv ×1
function ×1
list ×1
matlab-gui ×1
plot ×1
r-faq ×1
return-value ×1
string ×1
types ×1
variables ×1
vba ×1