小编Jul*_*ian的帖子

矢量化子阵列的添加

假设我有两个(大)向量a=[0 0 0 0 0]并且b=[1 2 3 4 5]具有相同的大小和一个索引向量ind=[1 5 2 1],其值为{1,...,length(a)}.我想计算

for k = 1:length(ind)
    a(ind(k)) = a(ind(k)) + b(ind(k));
end
% a = [2 2 0 0 5]
Run Code Online (Sandbox Code Playgroud)

也就是说,我想将b声明的条目添加inda包括多重性.

a(ind)=a(ind)+b(ind);
% a = [1 2 0 0 5]
Run Code Online (Sandbox Code Playgroud)

当然要快得多,但忽略多次出现的指数.

我怎样才能加快上面的代码?

arrays matlab matrix-indexing

4
推荐指数
1
解决办法
42
查看次数

SwiftUI 表单对齐 macOS

我试图HStack在 SwiftUI 中包含自定义行,Form如下所示:

var body: some View {
    Form {
        TextField("Text", text: .constant("test"))
        Toggle("Toggle", isOn: .constant(true))
            .toggleStyle(SwitchToggleStyle())
        HStack {
            Text("Label")
            MenuButton("Menu") {
                Button(action: {
                    print("Clicked Pizza")
                }) { Text("Pizza") }
                Button(action: {
                    print("Clicked Pasta")
                }) { Text("Pasta") }
            }
            TextField("Topping", text: .constant("Cheese"))
                .labelsHidden()
        }
        
    }
    .padding()
}
Run Code Online (Sandbox Code Playgroud)

导致

SwiftUI 表单输出对齐错误

但是,我希望与切换Label垂直对齐Toggle并垂直对齐。Menu

是否有选择自定义行对齐模式的标准方法HStack

swift swiftui

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

访问MATLAB中的条目列表

我有一个巨大的矩阵MxN基质,就是说,A=rand([M,N]);和具有索引向量N之间的整数值1M,也就是说,RandomIndex = randi(M,[1,N]);.

现在我想生成一个带有条目的行向量

result = [A(RandomIndex(1),1), A(RandomIndex(2),2), ..., A(RandomIndex(N),N)]
Run Code Online (Sandbox Code Playgroud)

什么是有效的方法呢?它应该是一个非常便宜的操作,但我的所有实现都很慢.我不认为Matlab中有一个符号可以直接执行此操作,是吗?

到目前为止最快的选择是

indexFunction = @(r,c) A(r,c);
result = cell2mat(arrayfun(indexFunction,RandomIndex,1:N,'UniformOutput',false));
Run Code Online (Sandbox Code Playgroud)

有更有效的方法吗?

indexing matlab matrix

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

标签 统计

matlab ×2

arrays ×1

indexing ×1

matrix ×1

matrix-indexing ×1

swift ×1

swiftui ×1