[問題] 迴圈內的答案無法...
有個小問題 煩請高手解答 ORZ
___________________________________________________________
format short e;
%一些初始參數~ 不用鳥他@@
wa=2997.6090; wb=2998.0895; wc=2998.0111;
w1=2973.5256; w2=2998.0304; w3=3003.9367;
ga1=1-(wa/w1)^2; gb1=1-(wb/w1)^2; gc1=1-(wc/w1)^2;
ga2=1-(wa/w2)^2; gb2=1-(wb/w2)^2; gc2=1-(wc/w2)^2;
ga3=1-(wa/w3)^2; gb3=1-(wb/w3)^2; gc3=1-(wc/w3)^2;
M1=ga1*gb1*gc1 ; M2=ga2*gb2*gc2 ; M3=ga3*gb3*gc3 ;
% Solutions:
options = optimset('MaxFunEvals',1e+18);
options = optimset('TolFun',1e-50,'TolX',1e-50);
for i=1:50;
a(1)=0; b(1)=0; c(1)=0;
guess=[a(i) b(i) c(i)],
f=@(x)([ga1*x(1)^2+gb1*x(2)^2+gc1*x(3)^2-2*x(1)*x(2)*x(3)-M1;ga2*x(1)^2+gb2*x(2)^2+gc2*x(3)^2-2*x(1)*x(2)*x(3)-M2;ga3*x(1)^2+gb3*x(2)^2+gc3*x(3)^2-2*x(1)*x(2)*x(3)-M3]);
[x,fval,exitflag,output]=fsolve(f,guess,options),
[x]=[a(i+1) b(i+1) c(i+1)];
end
___________________________________________________________________
這樣算是希望前一次fsolve解完的答案可以當作下一次的猜值, 看看會不會變準.
我想問的是 當我運行完了以後 出現:
Attempted to access a(2); index out of bounds because numel(a)=1.
fsolve算出來的解有三個, 但為什麼沒辦法指定x到新的參數呢?
~~~崩潰~~~
拜託哩 @@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.50.188
推
10/19 11:01, , 1F
10/19 11:01, 1F
→
10/19 11:01, , 2F
10/19 11:01, 2F
→
10/19 13:41, , 3F
10/19 13:41, 3F
→
10/19 13:42, , 4F
10/19 13:42, 4F
→
10/19 13:44, , 5F
10/19 13:44, 5F