[問題] 解lsqnonlin 最佳化已回收
整個最主要的目的是有六個未知數在四個方程式中找出最佳的數字
主要
Bx1=1.942127539097260*10^-09;
By1=2.335409989131912*10^-09;
Bz1= 4.326106950381173*10^-10;
x = lsqnonlin (@fun , [0 0 0 1 1 1 Bx1 By1 Bz1 ] );
然後在fun.m檔中
function f =fun(x)
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 ;
end
====================================================
問題有幾個
1.假設我Bx1 By1 Bz1 就是定值,如何把它傳到fun.m中運算來取代每個式子後面的x(7) x(8) x(9)的值
2.我希望它有所限制 [0 0 0 1 1 1 Bx1 By1 Bz1 ]=>我記得這是預測值設定
範圍在[0~20 0~20 0~20 0~1 0~1 0~1 Bx1(定值) By1(定值) Bz1(定值) ]
我有試過版上load save global等 不過都沒傳到 =''= 是哪裡有問題嗎 我是新手
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.241.2
討論串 (同標題文章)