我正在创建一个程序来计算数据的线性回归。当你开始时,程序应该询问要使用的值对(x和y)的数量。并且根据您定义的对的数量,它应该要求数据应用回归(在X,Y对上)。该程序必须对所有可用方法应用回归。
我已经有了回归的代码,但我遇到的问题是我不知道如何要求数据(x和y对)和x创建向量,对于y创建一个单独的向量。此外,它可以是3对到无限对。
答案 0 :(得分:0)
有很多方法可以达到你想要的效果。一种可能的方法是使用for循环:
n_pairs
。n_pairs
的for循环,询问使用x_mdialog
的输入。以下内容对您有用:
//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);