RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Echobana's questions

Martin Hope
Echobana
Asked: 2023-06-16 04:13:16 +0000 UTC

将参数传递给函数指针

  • 6

以下代码允许您使用切线法求解方程:

#include <iostream>

double q_func(double x, double k, double y)
{
    return x * pow(1 - (k-1)/(k+1) * x * x, 1/(k-1)) * pow((k+1)/2, 1/(k-1)) - y;
}

double solve(double (*f)(double, double, double), double k, double y, double x_0=2.3, int n=50)
{
    double x = x_0;
    double dx = 1e-5;
    double df = (f(x+dx, k, y)-f(x, k, y))/dx;

    for (int i=0; i<=n;i++){
        x_0 = x;
        x -= f(x, k, y) / df;
        if (abs(x - x_0) < 1e-6)
            return x;
    }
    return x;
}

int main() {
    double x = solve(q_func, 1.4, 0.25);
    std::cout << x << std::endl;
    return 0;
}

该函数q_func有 3 个参数,现在,为了求解方程 (find x),我将solve两个额外的参数k和传递给函数y。

事实证明,在为函数添加参数时,q_func我需要额外重写solve. 在这种情况下,具有两个参数的方程无法再求解,需要保存旧签名,导致代码重复。有什么办法可以避免这种情况吗?

主要是想到传递vector或map第二个参数,但也许有更多的 C++ 路径解决方案?

c++
  • 2 个回答
  • 58 Views
Martin Hope
Echobana
Asked: 2022-08-27 02:14:19 +0000 UTC

类模板属性

  • 0

让我们有条件地设置cell描述三角形单元格的类。

class cell 
{
public:
    cell() = default;
    cell(size_t number, std::array<size_t, 3> faces, std::array<size_t, 3> neighbours);

private:
    size_t _number;
    std::array<size_t, 3> _faces;
    std::array<size_t, 3> _neighbours;
};

如何设置类属性以使该类适用于任何形状的单元格?感觉应该是这样的:

template<typename SIZE>
class cell 
{
public:
    cell() = default;
    cell(size_t number, std::array<size_t, SIZE> faces, std::array<size_t, SIZE> neighbours);

private:
    size_t _number;
    std::array<size_t, SIZE> _faces;
    std::array<size_t, SIZE> _neighbours;
};

但它真正应该是什么样子?

c++
  • 1 个回答
  • 37 Views
Martin Hope
Echobana
Asked: 2020-03-30 23:49:08 +0000 UTC

在 Python 中只返回带有空格的字符串中的重要值

  • 0

python中是否有将字符串“p”转换为“p”的函数?

python
  • 1 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-10-27 02:55:32 +0000 UTC

一个类的实例作为另一个类的方法变量

  • 0

当然,该示例是完全抽象的,但是,例如,我有 2 个包含我需要对其执行某些操作的属性的类。在 C 类中,我将类的实例称为方法中的方法参数,这样我就调用了必要的属性

class A():
    def __init__(self, x, x1):
        self.x = x
        self.x1 = x1

class B():
    def __init__(self, y, y1):
        self.y = y
        self.y1 = y1

class C():
    def __init__(self, ex_a, ex_b):
        self.ex_a = ex_a
        self.ex_b = ex_b
        self.d = self.dist()

    def dist(self):
        return self.ex_a.x + self.ex_b.y 

是否可以像这样格式化方法C.dist()?或者是否需要继承A类和B类,这种情况下如何实现这种继承?

PS 没有静态方法和函数,因为以后可能需要用到属性A.x1

PSS 像这样定义类属性是错误的,还是有必要像在 C++ 中那样定义属性self.__X?我仍然不明白python中的隐私

python
  • 2 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-10-26 16:28:25 +0000 UTC

将字典写入 Excel 文件 (.xlsx)

  • 2

我正在尝试将字典写入 excel 文件。并且立即出现问题,如何指示您需要在标题中使用键?毕竟,字典是无序的,事实上,如果字典是从外部某个地方创建的,那么数据可以按任意顺序写入吗?

或者,也许您需要以某种方式使用pandas?

import openpyxl


if __name__ == '__main__':

    wb = openpyxl.Workbook()
    sheet = wb.get_active_sheet()

    test_dict = {'a': [1, 2], 'b': [2, 3]}

    for columnnum in range(len(test_dict)):
        for rownum in range(len(list(test_dict.values())[0])):
            sheet.cell(row=rownum+2, column=columnnum+1).value = list(test_dict.values())[columnnum][rownum]
    wb.save("sample.xlsx")

PS是否可以用换行符写入数据,例如:

第 1 行 - a,b

第 2 行 - test_dict['a'][0],test_dict['b'][0]

第 3 行 - 空

第 4 行 - test_dict['a'][1], test_dict['b'][1])?

python
  • 1 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-10-05 04:26:13 +0000 UTC

调用具有两个变量的函数时求解非线性方程

  • 0

例如,下面的代码可以求解非线性方程:

from scipy.optimize import fsolve


def f(x):
    return 2*x**2+3*x-10

x = fsolve(f, 1)
print(x)

如果函数具有从外部传递的第二个参数,如何求解相同的方程?

def f(x, add):
    return 2*x**2+3*x-add
python
  • 1 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-10-04 03:06:08 +0000 UTC

公式和文本中的相同字体

  • 0

在 TeXstudio 程序中进行布局,安装 PSCyr,TimesNewRoman 由以下命令定义\renewcommand{\rmdefault}{ftm}。对除公式之外的所有文本执行此命令。如何在公式环境中使用 TimesNewRoman?

latex
  • 2 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-09-28 17:50:20 +0000 UTC

在另一个类的方法中调用一个类的实例

  • 0

有以下代码片段:

import numpy as np

class Points():
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def distance(point_2, point_1):
        return np.sqrt((point_2.x-point_1.x)**2+(point_2.y-point_1.y)**2)


class Calculator():
    def distance(point_1, point_2):
        return np.sqrt((point_2.x-point_1.x)**2+(point_2.y-point_1.y)**2)

pt2, pt1 = Points(10, 3), Points(0, 0)
x_1 = Points.distance(pt2, pt1)
x_2 = pt2.distance(pt1)
x_3 = Calculator.distance(pt2, pt1)

1)是否可以像这样调用类的实例Points:在pt2类pt1方法内部Calcuclator还是需要某种构造函数Calcuclator?

2)如何更正确的组织类,也就是个人感知,创建一个额外的类Calculator,以类实例Points作为数据类型进行操作比较方便,还是需要遵循一定的专注原则,为自己创建方法?Points里面Points?

PS即使是混淆的例子x_2,它看起来也不好看,或者该方法原则上没有正确组织Points.distance()。很明显,比如把一个图组织成一个类的时候,get_nodes在类里面声明一个方法是很方便的,但是这种情况怎么办呢?或者,也许您根本不需要重写工程垃圾代码,而只需声明一些函数?

python
  • 1 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-09-24 16:04:39 +0000 UTC

列表、集合还是生成器?

  • 6

显然,例如,要检查集合中的存在,使用 set 比使用 list 更有利可图,也就是说,a in [i*i for i in range(n)]不如a in {i*i for i in range(n)}. 但是使用发电机要优化多少a in (i*i for i in range(n))呢?内存被保存了,还有更多?或者我不太明白如何检查生成器中是否存在元素。

python
  • 1 个回答
  • 10 Views
Martin Hope
Echobana
Asked: 2020-09-15 21:33:15 +0000 UTC

PyQt5 中过早的 clicked.connect() 调用

  • 1

在当前状态下调用代码时,会显示一个带有两个按钮和两个 QLineEdits 的窗口。

假设如果该行上没有注释#self.dataBrowse.clicked.connect(self.btnDataClicked()),则按下顶部按钮打开QFileDialog,该按钮将传输到相应的QLineEdit文件名,并从那里获取名称以实现不在此处的代码。

当代码取消注释#self.dataBrowse.clicked.connect(self.btnDataClicked())并运行时,会立即执行相应的函数。为什么会这样?

#!/usr/bin/python3
# -*- coding: utf-8 -*-

from PyQt5 import QtWidgets, QtCore
from PyQt5.QtGui import QIcon


class MyWindow(QtWidgets.QWidget):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent=None)

        self.dataEdit = QtWidgets.QLineEdit()
        self.sensorEdit = QtWidgets.QLineEdit()

        self.dataBrowse = QtWidgets.QPushButton('Browse', self)
        #self.dataBrowse.clicked.connect(self.btnDataClicked())

        self.sensorBrowse = QtWidgets.QPushButton('Browse', self)

        self.hbox_main = QtWidgets.QHBoxLayout()

        self.vbox_left = QtWidgets.QVBoxLayout()
        self.vbox_left.addWidget(self.dataEdit)
        self.vbox_left.addWidget(self.sensorEdit)

        self.vbox_right = QtWidgets.QVBoxLayout()
        self.vbox_right.addWidget(self.dataBrowse)
        self.vbox_right.addWidget(self.sensorBrowse)

        self.hbox_main.addLayout(self.vbox_left)
        self.hbox_main.addLayout(self.vbox_right)
        self.setLayout(self.hbox_main)


    def btnDataClicked(self):
        fname = QtWidgets.QFileDialog.getOpenFileName(self)[0]
        self.dataEdit.setText(fname)

    def btnSensorClicked(self):
        fname = QtWidgets.QFileDialog.getOpenFileName(self)[0]
        self.sensorEdit.setText(fname)

if __name__ == '__main__':
    import sys

    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.setWindowTitle("OOP")
    window.show()

    sys.exit(app.exec_())

PS我阅读了文档,但我仍然不明白,是否有可能传递btnClicked必要的函数QLineEdit,以免创建函数btnDataClicked并对btnSensorClicked不同的函数执行相同的操作QLineEdit?

pyqt5
  • 1 个回答
  • 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