在x_mdialog上寻求关于scilab的成对信息

时间:2017-11-13 17:54:10

标签: scilab

我正在创建一个程序来计算数据的线性回归。当你开始时,程序应该询问要使用的值对(x和y)的数量。并且根据您定义的对的数量,它应该要求数据应用回归(在X,Y对上)。该程序必须对所有可用方法应用回归。

我已经有了回归的代码,但我遇到的问题是我不知道如何要求数据(x和y对)和x创建向量,对于y创建一个单独的向量。此外,它可以是3对到无限对。

1 个答案:

答案 0 :(得分:0)

有很多方法可以达到你想要的效果。一种可能的方法是使用for循环:

  1. 正如您所说,询问用户他们想要输入的点数n_pairs
  2. 使用从1到n_pairs的for循环,询问使用x_mdialog的输入。
  3. 在每次迭代时,评估输入并存储数据。
  4. 以下内容对您有用:

    //inquiry how many pairs
    n_pairs = x_mdialog("Data acquisition","How many points will you enter?","3");
    n_pairs = evstr(n_pairs);
    
    //initialise data
    X_data = []; Y_data = [];
    
    for i = 1 : n_pairs
        //acquire each pair
        pair = x_mdialog("Data acquisition",["X:","Y:"],["",""])
    
        if pair(1) == "" | pair(2) == "" | pair == [] then
            //break loop in case of blank input
            break
        else
            //non-blank inputs are stored
            X_data(i) = evstr(pair(1));
            Y_data(i) = evstr(pair(2));
        end
    end
    
    //sort values accordint to X
    [X_data,idx] = gsort(X_data,"r","i");
    Y_data = Y_data(idx);