为 scilab 询问关于 x_mdialog 的成对信息

Asking for pairs of information on a x_mdialog for scilab

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

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

有很多方法可以完成您想要的。一种可能的方法是使用 for 循环:

  1. 询问用户他们要输入多少点,n_pairs,如你所说
  2. 使用从 1 到 n_pairs 的 for 循环,使用 x_mdialog 请求输入。
  3. 在每次迭代中,评估输入并存储数据。

类似以下内容可能对您有用:

//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);