Re: [問題] 解lsqnonlin 最佳化已回收
以下為程式碼
%-----------------------------------------------------
function test
clc
format long g
x=zeros(9,100);
for n=1:100
Bx1=1.942127539097260*10^-09;
By1=2.335409989131912*10^-09;
Bz1= 4.326106950381173*10^-10;
x0 = [0+n*0.1 0+n*0.02 0+n*0.2 1 1 1 Bx1 By1 Bz1];
x(:,n)=fsolve(@verylong,x0);
end
save x;
function f = verylong(x)
f = zeros(4,1);
f(1)=3.4485*10^-05*(3*(x(4)*(20-x(1))+x(5)*(20-x(2))+x(6)*(20-x(3)))...
*(20-x(1))/((20-x(1))^2+(20-x(2))^2+(20-x(3)^2))^(5/2)-x(4)/(((20-x(1))...
^2+(20-x(2))^2+(20-x(3)))^(3/2)))-x(7);
f(2)=3.4485*10^-05*(3*(x(4)*(20-x(1))+x(5)*(20-x(2))+x(6)*(20-x(3)))...
*(20-x(2))/((20-x(1))^2+(20-x(2))^2+(20-x(3)^2))^(5/2)-x(5)/(((20-x(1))...
^2+(20-x(2))^2+(20-x(3)))^(3/2)))-x(8);
f(3)=3.4485*10^-05*(3*(x(4)*(20-x(1))+x(5)*(20-x(2))+x(6)*(20-x(3)))...
*(20-x(3))/((20-x(1))^2+(20-x(2))^2+(20-x(3)^2))^(5/2)-x(6)/(((20-x(1))...
^2+(20-x(2))^2+(20-x(3)))^(3/2)))-x(9);
f(4) = x(4)^2+x(5)^2+x(6)^2-1 ;
%-------------------------------------------------------------
以下為結果
0.100000000000000 0.200000000000000 0.300000000000000
0.0200000000000000 0.0400000000000000 0.0600000000000000
0.200000000000000 0.400000000000000 0.600000000000000
0.577350633668556 0.577350633668556 0.577350633668556
0.577350633668556 0.577350633668556 0.577350633668556
0.577350633668556 0.577350633668556 0.577350633668556
1.94212753909726e-09 1.94212753909726e-09 1.94212753909726e-09
2.33540998913191e-09 2.33540998913191e-09 2.33540998913191e-09
4.32610695038117e-10 4.32610695038117e-10 4.32610695038117e-10
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.207.32
※ 編輯: maplefog 來自: 140.118.207.32 (02/16 12:57)
討論串 (同標題文章)