小编nyh*_*lku的帖子

如何在正常点和数组之间矢量化点积的总和

我需要评估以下表达式(伪数学表示法):

?ipi?n

其中p是三元素向量的矩阵,n是一个三元素向量.我可以使用for循环执行此操作,如下所示,但我无法弄清楚如何向量化:

p = [1 1 1; 2 2 2];
n = [3 3 3];
s = 0;
for i = 1:size(p, 1)
    s = s + dot(p(i, :), n)
end
Run Code Online (Sandbox Code Playgroud)

matlab vector matrix vectorization dot-product

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

检测何时拖动JSplitPane分隔符,而不是调整组件的大小

我想实现一个JSplitPane(水平分割),其中右侧组件具有恒定宽度,即当拖动分隔线时,它将跳回到正确的大小,除非将分隔线拖得足够正确,在这种情况下最右边的组件将具有零宽度.

要重新显示正确的组件,用户可以将分隔线拖到左侧足够远的位置.

我有这个大多数工作,但当我调整窗口大小取决于我改变窗口大小的多少和多快,分频器跳跃显示或隐藏正确的组件,我想要的是它不应该改变'状态'即如果右侧组件不可见,那么它应该保持不可见,反之亦然.

我已经尝试了很多东西,但主要的障碍是似乎没有办法知道天气,用户通过鼠标拖动分隔线,或者代码(我的分频器逻辑和/或JSplitPane内部逻辑)改变了分频器的位置.

这是一个自包含的测试用例,运行它并尝试拖动水平分隔线以隐藏和显示右侧面板,并使用隐藏/显示的那些尝试调整窗口大小.

在Mac OS X Java 1.6(Apple)或Java 7(Oracle)上无法正常工作.使用Oracle的东西,渲染速度要慢得多,而且问题更严重.缓慢调整窗口大小可以正常工作,但快速调整窗口大小会导致问题.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import javax.swing.*;

import net.miginfocom.swing.MigLayout;

public class SplitTest {
    public static class MySplitPane extends JSplitPane {
        boolean m_RightCollapsed;

        public MySplitPane(int orientation, JComponent left, JComponent right) {
            super(orientation, left, right);

            addPropertyChangeListener(new PropertyChangeListener() {

                @Override
                public void propertyChange(PropertyChangeEvent evt) {

                }
            });
            addComponentListener(new ComponentListener() {

                @Override
                public void componentShown(ComponentEvent e) …
Run Code Online (Sandbox Code Playgroud)

java swing jsplitpane

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

标签 统计

dot-product ×1

java ×1

jsplitpane ×1

matlab ×1

matrix ×1

swing ×1

vector ×1

vectorization ×1