我有一个矩阵,例如如下:
N = magic(100);
我想在每列上应用一个函数,并将其输出保存在另一个矩阵中。
这是我的功能
function z = nikfoo(y, lambda, p)
m = length(y);
D = diff(speye(m), 2);
w = ones(m, 1);
for it = 1:10
W = spdiags(w, 0, m, m);
C = chol(W + lambda * D' * D);
z = C \ (C' \ (w .* y));
w = p * (y > z) + (1 - p) * (y < z);
end
首先,我尝试制作与数据相同大小的矩阵
% I take the size of my matrix
[a, b] = size(N);
% make the same size matrix with zeros
corrNiki = zeros(a,b);
然后我尝试按如下方式进行
% I set the lambda as 1000 and p as 0.1
for i = 1:b
corrNiki(i) = nikfoo(N(i),1000,0.1);
end
所以现在我有这些问题
如何使用固定的lammda和p传递此函数并将结果保存在corrNiki中?
我怎样才能将不同的值传递给某个范围内的Lamda和一个范围内的P,然后保存它们的输出?
Lammda 1000和P0.1保存在data1中 Lammda 2000和P0.01保存在data2中 。 。