ç解å¤é¡¹å¼æå¼çå
涵ï¼æç¡®ææ ¼ææ¥æå¼å¤é¡¹å¼çæ§è´¨å计ç®æ¹æ³ã
æå¼Matlab软件ã
æ°å»ºMæ件ã
1ï¼å¨Matlabä¸ç¹å»å·¦ä¸è§çNewå å·æé®ã
2ï¼å¨å¼¹åºçä¸æèåä¸éæ©Scriptã
ï¼Psï¼å¯ç´æ¥ä½¿ç¨å¿«æ·é®ãCtrl+N)ã
软件就ä¼å¼¹åºMå½æ°ç¼è¾çé¢ãï¼
ç¼åææ ¼ææ¥æå¼å½æ°ç¨åºï¼
function yh=lagrange (x,y,xh)
n = length(x);
m = length(xh);
yh = zeros(1,m);
c1 = ones(n-1,1);
c2 = ones(1,m);
for i=1:n
xp = x([1:i-1 i+1:n]);
yh = yh + y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2));
end
注ï¼è¯¥ç¨åºåªå¯ä¸æ¬¡è®¡ç®å®ç°ä¸ä¸ªæå¼è®¡ç®ãå¯å®ç°å¤ä¸ªæå¼è®¡ç®çç¨åºå¦ä¸ï¼
function yh=lagrange(x,y,xh)
n = length(x);
m = length(xh);
x = x(:);
y = y(:);
xh = xh(:);
yh = zeros(m,1);
c1 = ones(1,n-1);
c2 = ones(m,1);
for i=1:n,
xp = x([1:i-1 i+1:n]);
yh = yh + y(i) * prod((xh*c1-c2*xp')./(c2*(x(i)*c1-xp')),2);
end
ä¿åæ件ï¼éè¦ç¹å«æ³¨æçæ¯æ件ååºä¸å½æ°åç¸åã
å¨Matlabä¸è¾å
¥ç»å®æ°æ®xåyï¼ä»¥åéè¦è®¡ç®æå¼ç¹çå¼xhãå¦å¾è¾å
¥åæãEnterãé®ï¼è½½å
¥æ°æ®ã
è°ç¨ç¼åçç¨åºï¼å¹¶è¿è¡ãå¨Matlabçå½ä»¤çªå£è¾å
¥ãlagrange (x,y,xh)ãæãEnterãé®å³å¯å¾å°ææ ¼ææ¥æå¼å½æ°è®¡ç®çæå¼ã
温馨提示:答案为网友推荐,仅供参考