假设我有n-simplex和网格.对于网格的每个点,我都会评估一个函数.但我真的不知道如何评估这次评估所收到的数据.
你能帮我解决三维或二维单形代码的问题,这对于解释是否相当好?当然,允许表示不太准确.
我在matlab中有一个字符串的单元格数组.有些字符串可能相同.我想用字典方式对字符串进行编号.
例如,如果我有{'abc','aty','utf8','sport','utf8','abc'},在输出中我想得到数组[1, 2, 4, 3, 4, 1].
你能给我任何方法吗?
我在Matlab工作.我有一个有两列的二维矩阵.让我们将第一列中的元素视为标签.标签可以重复.
如何将每个标签的第二列中的所有元素相乘?
例:
matrix = [1,3,3,1,5; 2,3,7,8,3]'
Run Code Online (Sandbox Code Playgroud)
我需要得到:
a = [1,3,5; 16,21,3]'
Run Code Online (Sandbox Code Playgroud)
你可以帮助我无需 for-while循环吗?
有一种方法可以将函数f应用于矩阵的每一列:
M <- matrix(seq(1,16), 4, 4)
apply(M, 2, mean)
#[1] 2.5 6.5 10.5 14.5
Run Code Online (Sandbox Code Playgroud)
但是,如果我想建立一个关于矩阵的描述性统计数据,我应该使用更多的indeces.例如,max, min, mean等等
但R不允许做这样的事情:
apply(M, 2, c(mean, max))
Run Code Online (Sandbox Code Playgroud)
得到这个输出:
# [,1] [,2] [,3] [,4]
#mean 2.5 6.5 10.5 14.5
#max 4 8 12 16
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何处理这个问题吗?
我运行这段代码:
for i=1:length(matr)
Run Code Online (Sandbox Code Playgroud)
...哪里matr是方阵.在这个循环中大小的matr变化,但似乎循环继续运行,直到i不超过初始值length(matr)
如何保持length(matr)循环状态的新鲜感?
这是我的代码.
for i=1:length(matr1)
for j=1:length(matr1)
if((i~=j)&&(ismember(i,ind3)==0)&&(ismember(j,ind3)==0))
if (i>length(matr1))||(j>length(matr1))
continue
end
ind1 = find_tree(matr1,i);
ind2 = find_tree(matr1,j);
b = is_isomorphic(matr1(ind1,ind1),matr1(ind2,ind2),encode(ind1),encode(ind2));
if b,
number = number + length(ind1);
matr1(ind2,:) = [];
matr1(:,ind2) = [];
ind3 = find(summ_rows==-1);
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我设法添加
`if (i>length(matr1))||(j>length(matr1))`,
Run Code Online (Sandbox Code Playgroud)
...因为i并j超出了矩阵的维度.
假设我有一个向量a = (1,3,4).我想用范围内的整数来创建新的向量[1,length(a)].但是第 - i个数字应该出现a[i]次数.
对于a我想要的矢量:
(1,2,2,2,3,3,3,3)
你能解释一下如何在没有几个混乱的连接的情况下实现这个操作吗?
假设我有一堆以下格式给出的字符串:#%d-%d-%d.
例如,
#50-69-1
#49-69-2
...
Run Code Online (Sandbox Code Playgroud)
如何在没有暴力逼近的情况下为每个字符串提取第一个数字?
对于上面的例子我想得到:
50
49
...
Run Code Online (Sandbox Code Playgroud) 在通过分而治之的方法查找数组中的反转次数的过程中我遇到了实现merge-step的问题:我们有两个排序的数组,任务是计算第一个数组的元素时的个案数大于第二个元素.
例如,如果是数组v1 = [1,2,4], v2 = [0,3,5],我们应该计算4次反转.
所以,我在Matlab中实现了合并步骤,但我坚持如何快速实现它的问题.
首先,我尝试过蛮力方法
tempArray = arrayfun(@(x) length(find(v2>x)), v1)
Run Code Online (Sandbox Code Playgroud)
它的工作速度和下一个片段一样慢
l = 1;
s = 0;
for ii = 1:n1
while(l <= n2 && p1(ii)>p2(l))
l = l + 1;
end
s = s + l - 1;
end
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以让它更快?
编辑
谢谢你的答案和方法!我为进一步的工作找到了有趣的东西.
这是片段,它应该是我尝试过的最快的片段
n1 = length(vec1); n2 = length(vec2);
uniteOne = [vec1, vec2];
[~, d1] = sort(uniteOne);
[~, d2] = sort(d1); % Find ind-s IX such that B(IX) = A, where B = …Run Code Online (Sandbox Code Playgroud) 假设我有这样的类定义
class structure:
def __init__(self, handle):
self.handle = handle
Run Code Online (Sandbox Code Playgroud)
我如何使用numpy.uniquePython3的另一个工具来查找此类实例列表中的唯一元素?应该根据该'handle'领域的价值进行比较.
我坚持检查类中矢量大小的问题.这是我的代码:
class myclass {
public:
std::vector<mystruct> v;
};
int main() {
myclass * a, *b;
std::cout << a->v.size() << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码会出现分段错误.有人会解释这个片段中的错误是什么吗?我怎么能打败它?