matlab 迭代?x0=(sum(r*w*xi)/di)/(sum(r*w*xi)y0=(sum(
答案:2 悬赏:80 手机版
解决时间 2021-02-24 17:15
- 提问者网友:趣果有间
- 2021-02-23 21:38
matlab 迭代?x0=(sum(r*w*xi)/di)/(sum(r*w*xi)y0=(sum(
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-02-23 21:55
%迭代公式 x(k+1)=(sum(r*w*xi)/di(k))/(sum(r*w*xi));% y(k+1)=(sum(r*w*yi)/di(k))/(sum(r*w*xi));% di(k+1)=sqrt((x(k)-xi)^2+(y(k)-yi)^2);r=0.8;w=[6398014.98,6525900.99,3752178.53,1400985.31,2495271.42,1506266.52,1953408.82];xi=[117.00,118.05,117.13,116.29,115.97,118.03,118.49]; yi=[36.65,36.78,36.18,37.45,36.45,37.36,37.46]; n=0;W=0.01 % W 为x,y的迭代精度假设为0.01x0=117.34;y0=36.75; %初值 while (1)di=sqrt((x0-xi).^2+(y0-yi).^2);x=(sum(r*w.*xi./di))./(sum(r.*w.*xi))y=(sum(r*w.*yi./di))./(sum(r.*w.*xi))if abs(x-x0)>W && abs(y-y0)>W %若不满足迭代终止条件则继续迭代x0=x;y0=y;n=n+1;continue;elsedisp('迭代次数为:')ndisp('x的迭代值为:');xbreak; %满足后输出结果并退出endend%问题还是有些不清楚的,sum那个地方,我改了一下,不知道是你要表达的意思
全部回答
- 1楼网友:不甚了了
- 2021-02-23 23:24
感谢回答,我学习了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯