RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-389116

user51515151's questions

Martin Hope
user51515151
Asked: 2022-03-22 14:43:33 +0000 UTC

在 MATLAB 中使用神经网络进行滑动窗口时间序列预测

  • 1

任务
使用 MATLAB 系统中的神经网络使用滑动窗口方法预测时间序列。

给定
函数:cos(x - 0.5) * abs(x)
点数:n = 1000
向量X:linspace(0.001, 10, n)
向量Y:(cos(X - 0.5) .* abs(X) + rand(size(X)) * 0.2人性化)

还有一个解决问题的算法,我不太明白(但它是必需的):

  1. 构建训练样本。为此,基于时间序列,构建 5 个序列,延迟为 1 到 5。要构建延迟为 5 的序列,从 1 到 n-5 个样本元素,延迟为 4,从取 2 到 n-4 个样本元素,延迟 3,从 3 到 n-3 个 bin,延迟 2,取 4 到 n-2 个 bin,延迟 1,5 到 n-1垃圾箱被拿走。
    我认为:
x1=X(5:n-1); y1=Y(5:n-1);
x2=X(4:n-2); y2=Y(4:n-2);
x3=X(3:n-3); y3=Y(3:n-3);
x4=X(2:n-4); y4=Y(2:n-4);
x5=X(1:n-5); y5=Y(1:n-5);
  1. 建立一个测试样本。由于训练样本的长度比原始时间序列的长度少 5 个元素,因此要构建,从第 6 个元素到第 n 个元素。
    我认为:
ytest=Y(6:n);
  1. 时间序列分为两部分:用于网络训练和验证。数组的尺寸应该彼此相关,大约为 3:1。
    以下是问题:
    1)训练和测试样本是在前面创建的。两个步骤。分成两部分是什么意思?
    2)拆分成2部分是什么意思,再加上阵列之间的比例为3:1。
  2. 构建用于预测的前馈神经网络。层数为2。第一层的激活函数是双曲正切,第二层是线性的。取第一层的神经元数量足以进行满意的预测(10-100),第二层的神经元数量为1。MATLAB中
    这样的前馈神经网络可以预测时间序列吗?
  3. 对训练集进行网络训练,带上原始序列和预测序列的图,以及预测误差。
    这似乎可以理解。
нейронные-сети
  • 1 个回答
  • 10 Views
Martin Hope
user51515151
Asked: 2021-11-24 23:40:30 +0000 UTC

使用高斯方法在 Turbo Prolog 2.0 上查找三次样条的系数

  • 1

老师的任务:在 Turbo Prolog 2.0 上使用高斯消元法和反向替换法求三次样条(cubic spline)的系数- 编写一个简单的程序,无需优化。

prolog
  • 1 个回答
  • 10 Views
Martin Hope
user51515151
Asked: 2021-11-09 19:49:03 +0000 UTC

WinAPI 线程包装类,类似于 std::thread

  • 0

任务:替换为std::thread逻辑上稍微相似(实际编写)的包装类 WinAPI 线程。
主要问题与 Thread 类的构造函数有关:它在逻辑上应该类似于 std::thread 类的构造函数。(类比参见 main() 函数)
/* ??? */意味着我不知道需要在那里写什么才能使其工作。

#include <iostream>
#include <thread>
#include <functional>
#include <stdexcept>
#include <Windows.h>

// Класс-обертка "Поток"
class Thread {
public:
    // Конструктор
    template < typename _Callable, typename..._Args >
    Thread(_Callable && callable, _Args && ...args) {
        /* ??? */
        thread_ = CreateThread(NULL, 0, /* ??? */, /* ??? */, 0, NULL);
        if (thread_ == 0) {
            throw std::system_error(errno, std::generic_category());
        }
    }

    // Деструктор
    ~Thread() {
        if (this->joinable()) {
            TerminateThread(thread_, 0);
            CloseHandle(thread_);
        }
    }

    // Отделение потока выполнения от объекта потока, позволяя продолжить выполнение независимо
    void detach() {
        if (this->joinable()) {
            if (!CloseHandle(thread_)) {
                throw std::system_error();
            }
            thread_ = INVALID_HANDLE;
        } else throw std::invalid_argument("joinable() == false!");
    }

    // Блокировка текущего потока до тех пор, пока поток, обозначенный *this, не завершит свое выполнение
    void join() {
        if (this->joinable()) {
            if (WaitForSingleObject(thread_, INFINITE) != WAIT_OBJECT_0) {
                throw std::system_error();
            }
            thread_ = INVALID_HANDLE;
        } else throw std::invalid_argument("joinable() == false!");
    }

    // Проверяет, идентифицирует ли объект std :: thread активный поток выполнения
    bool joinable() {
        return thread_ != INVALID_HANDLE;
    }

private:
    // Идентификатор дескриптора потока
    HANDLE thread_;
    // [Константа] Неверный идентификатор дескриптора потока
    static constexpr HANDLE INVALID_HANDLE = nullptr;

    // Конструктор копирования запрещен
    Thread(const Thread & ) = delete;
    // Оператор копирования запрещен
    Thread & operator = (const Thread & ) = delete;
};

// Некоторый класс SomeClass с некоторым методом someMethod,
// который нужно выполнить в отдельном потоке
class SomeClass {
public:
    SomeClass(int a, int b): a_(a), b_(b) {}
    void someMethod(int c, int d) {
        // Некоторая работа...
        std::cout << "Hello, world! " << (a_ += c) << ", " << (b_ += d) << '\n';
        Sleep(1000);
    }

private:
    int a_, b_;
};

// Точка входа
int main() {
    SomeClass some_object(1, 2);
    std::thread std_thread( & SomeClass::someMethod, some_object, 1, 1);
    Thread win_thread( & SomeClass::someMethod, some_object, 1, 1);
    std_thread.join();
    win_thread.join();
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
user51515151
Asked: 2020-05-17 14:30:38 +0000 UTC

如何在不指定默认参数值的情况下从模板函数调用具有默认参数的函数?

  • 0

我尝试了以下代码:

    #include <iostream>
    #include <functional>

    int anyFunc(int a, int b, int c = 0, int d = 0) {
        return a + b + c + d;
    }

    template <class T, class F>
    T callFunc2(const std::function<F> & func, T a, T b) {
        return func(a, b);
    }

    int main() {
        std::cout << callFunc2<int, decltype(anyFunc)>(anyFunc, 5, 5) << std::endl;
    }

但它会引发错误。海湾合作委员会 9.3.0:

prog.cc: In instantiation of 'T callFunc2(const std::function<_Signature>&, T, T) [with T = int; F = int(int, int, int, int)]':
prog.cc:14:65:   required from here
prog.cc:10:16: error: no match for call to '(const std::function<int(int, int, int, int)>) (int&, int&)'
   10 |     return func(a, b);
      |            ~~~~^~~~~~
In file included from /opt/wandbox/gcc-9.3.0/include/c++/9.3.0/functional:59,
                 from prog.cc:2:
/opt/wandbox/gcc-9.3.0/include/c++/9.3.0/bits/std_function.h:683:5: note: candidate: '_Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypes ...) const [with _Res = int; _ArgTypes = {int, int, int, int}]'
  683 |     function<_Res(_ArgTypes...)>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/wandbox/gcc-9.3.0/include/c++/9.3.0/bits/std_function.h:683:5: note:   candidate expects 4 arguments, 2 provided

也就是说,您需要指定 4 个参数而不是 2 个。但是为什么呢?毕竟,默认情况下有 2 个参数。

c++
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5