Надо найти нули функции f2(deltaUk). В тело этой функции входит переменная dk, которая также является функцией deltaUk. Помимо всего этого и f2 и dk зависят от переменной jk, но я сделал цикл по этой переменной, поэтому f2 и dk у меня зависят только от deltaUk.
Код:
Код: Выделить всё
i=1;
for jk=0.00001:0.01:10
dk=@(deltaUk) ((4)^(1/3)*bi^(1/3)*deltaUk^(2/3)*eps0^(1/3)*(y+1)^(1/3))/(jk^(1/3));
f2=@(deltaUk) (A_const.*p.*int(exp((B_const.*p.*(dk.^2))./(2.*deltaUk.*(x-dk))),x,0,dk)-log(1+(1./y)));
Uk=fzero(f2,[0 3000]);
Mass1(1,i)=jk;
Mass2(2,i)=Uk;
i=i+1;
end
disp(Mass1);
Матлаб выдаёт следующую ошибку:
Код: Выделить всё
??? Error using ==> fzero at 245
FZERO cannot continue because user supplied function_handle ==>
@(deltaUk)(A_const.*p.*int(exp((B_const.*p.*(dk.^2))./(2.*deltaUk.*(x-dk))),x,0,dk)-log(1+(1./y)))
failed with the error below.
Undefined function or method 'power' for input arguments of type 'function_handle'.
Error in ==> Collision at 91
Uk=fzero(f2,[0 3000]);
Подскажите, пожалуйста, в чём может быть дело.