当前位置: 首页 > 知识库问答 >
问题:

利用向量的gsl线性拟合

申博厚
2023-03-14

我已经从一个gsl拟合示例开始,并尝试将数组改为向量。但是当我编译我的代码时,它导致了这样一个错误,我不理解,也不知道我的代码有什么问题,我感谢任何事先的评论:

示例1.cpp:19:73:错误:无法将参数“1”的“std::vector”转换为“const double*”,转换为“int gsl_fit_linear(const double*,size_t,const double*,size_t,size_t,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,

这是代码:

#include <iostream>
#include <vector>
#include <gsl/gsl_fit.h>

using namespace std;
int main (void)
{
    int n = 5;
    vector <double> x(5,0);
    vector <double> y(5,0);
    for(int i=0 ; i< 5; i++)
        x[i] = i*3.2; 

    for(int i=0 ; i< 5; i++)
        x[i] = i*2-11.6; 

    double c0, c1, cov00, cov01, cov11, sumsq;

    gsl_fit_linear (x, 1, y, 1, n, &c0, &c1, &cov00, &cov01, &cov11, &sumsq);

  return 0;
}

共有1个答案

房星光
2023-03-14

我想补充一点,C++11引入了成员函数vector::data(),它返回向量的原始指针。vector::data()与@king_nak方法相比有什么优势?

1)清晰度。这是主观的,但我认为使用起来更优雅

 (...)
 gsl_fit_linear (x.data(), 1, y.data(), 1, n, &c0, &c1, &cov00, &cov01, &cov11, &sumsq);
 (...) 

2)常量-正确性。Vector::data()有一个重载函数,当函数只需要读取数据时,该函数返回常量指针

 类似资料:
  • GSL

    GNU Scientific Library (GSL) 是一个为C和C++程序员提供的数值库。它是 GNU 通用公共许可证下的自由软件。 该库提供了广泛的数学程序,如随机数生成器、特殊函数和最小二乘法拟合。总共有超过1000个函数,有一个广泛的测试套件。 与专有数字库的许可证不同,GSL的许可证并不限制科学合作。它允许你与他人自由分享你的程序。 该类库提供了关于数学计算的很多方面,包括: Com

  • 1 介绍   线性支持向量机是一个用于大规模分类任务的标准方法。它的目标函数线性模型中的公式(1)。它的损失函数是合页(hinge)损失,如下所示   默认情况下,线性支持向量机训练时使用L2正则化。线性支持向量机输出一个SVM模型。给定一个新的数据点x,模型通过w^Tx的值预测,当这个值大于0时,输出为正,否则输出为负。   线性支持向量机并不需要核函数,要详细了解支持向量机,请参考文献【1】。

  • 问题内容: 对于简单的神经网络,我想将一个函数应用于gonum的所有值。 Gonum有一个用于密集矩阵的方法,但没有用于向量的方法,因此我是手工完成的: 这似乎是并发执行的明显目标,所以我尝试了 这不起作用,也许不是意外的,因为它没有以结尾,因为return语句(完成所有工作)紧随其后。 我的问题是:如何使用并发将函数应用于gonum向量的每个元素? 问题答案: 首先请注意,这种并发计算的尝试假定

  • 选取出关键特征 通过tf-idf计算出来的数值是某个特征(词)对于这篇文档的权重,不代表这个特征(词)在文本分类中的权重。这很容易理解,比如某一个特征(词)在多个分类中的tf-idf是不一样的,但是这个特征对于这个分类问题的权重肯定是一个定值。 选取重要的特征的方法可以是:1.)按tf-idf排序从大到小选topN;2)按特征的普遍性选取(在多个类别中出现过);3)按特征在不同文档中tf-idf的

  • 本文向大家介绍pytorch实现线性拟合方式,包括了pytorch实现线性拟合方式的使用技巧和注意事项,需要的朋友参考一下 一维线性拟合 数据为y=4x+5加上噪音 结果: 多维: 以上这篇pytorch实现线性拟合方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍利用iOS动画来模拟音量振动条的实现,包括了利用iOS动画来模拟音量振动条的实现的使用技巧和注意事项,需要的朋友参考一下 iOS动画来模拟音量振动条,即利用CAReplicatorLayer实现,以下将详细的介绍CAReplicatorLayer和实现方法。 音量振动条 效果图: 如何实现? 创建3个layer,按顺序播放y轴缩放动画 利用CAReplicatorLayer实现 1、