行列のサイズは100x1
です。行列の各行の値を関数に繰り返し入力したいと考えています。たとえば、L1
は、行列L
、L2
の行2などの行1を表します。 L
の各値を入力しようとしている私の関数をY
と表記してください。したがって、私はL1
をY
に入力してY1
、L2
をY2
としています。行列の行の値を反復して関数に入力する
私は本当にmatlabでこれを実装する方法の助けを借りて行うことができますか?事前にすべてのあなたの助けを
load('logregdata.mat')
%%Data set X is a series of coordinates in two dimensions and t represents class labels. Data set is for a binary classification problem.
u = rand;
[w1,w2] = meshgrid(-5:0.1:5,-5:0.1:5);
w = zeros(2,1);
w_all = zeros(100,2);
%Probabilistic term of logistic classifier prob_t = 1./(1+exp(-[w1(:) w2(:)]*X'));
L = sum(log(prob_t).*repmat(t',numel(w1),1),2);
L= L + sum (log(1-prob_t).*repmat(1-t',numel(w1),1),2);
u = rand;
y = log(L/u);
感謝を次のように
コードを受け入れることです。
ベクトルをサポートできるように関数を変更しないのはなぜですか? – obchardon
この関数は単純にY = log(L/u)です。ここでuは一様分布の乱数です – user136754
あなたの現在のコードが役に立ちます。ベクトル化は、実行される操作に大きく依存します。 'u'は' L'の各行で同じですか? – beaker