我需要解决问题。我编写了一个程序,使用牛顿拉夫森方法来计算函数的值。但是,该函数还有一个变量,我想对其进行迭代,V。程序可以正常运行,直到外部for循环的第二次迭代为止,然后一旦到达Newton Raphson函数,内部for循环将不再运行。如果有人对错在哪里有任何想法,我将不胜感激。我得到的错误是:警告:解决方案不存在,因为系统不一致。
以下代码详细说明。
for V = 1:50;
syms x;
f(V)= Il-x-Is.*(exp((q.*(V+x.*Rs))./(1000.*y.*K.*T))-1)-((V+x.*Rs)./Rsh);
g(V)=diff(f(V));
x0 = 0;
i = 1;
for i=1:10
f0=vpa(subs(f,x,x0));
f0_der=vpa(subs(g,x0));
y=x0-f0/f0_der; % Newton Raphson
x0=y;
end
end