当TpAf
从1变为2时,我希望找到bsxfun
((a,b)
}中给定X
组的最大值,{ {1}}从0到1不等。此外,我想找到相应的Y
和X
值。
我尝试为不同的Y
对创建矩阵TpAf
。但我的matlab代码中存在Matrix维度问题。
有人可以帮我纠正一下吗?
(X,Y)
请注意,function HyAf
clear all
hvar=0.1:0.2:1; hl=length(hvar);
hfix=1.1*ones(1,hl);
a=hvar; b=hfix;
HybAfAvar = zeros(hl,4);
HybAfAvar(:,1) =hvar;
stepX=0.2; X0=1.1; X=X0:stepX:1.8;
stepY=0.1; Y0=0.1; Y=Y0:stepY:1;
for k=1:hl
TpAf = bsxfun(@times,log(1 + (2*a(k).^2*b(k)*(1 - 1./X).*(2./Y - X))./(1 +2*a(k)*(1 - 1./X) + a(k)*b(k)*(2./Y - X))).',Y./2);
[HybAfAvar(k,2), ind] =max(max(TpAf));
[i, j] = ind2sub(size(TpAf),find(TpAf==HybAfAvar(k,2)));
HybAfAvar(k,3)=Y0+(i-1)*stepY;
HybAfAvar(k,4)=X0+(j-1)*stepX;
end
HybAfAvar
和stepX
可能不同,如果我的代码运行良好,我可能会将这些值更改为非常小的值,例如0.0001。