%%%%%%%原始資料%%%%%%%%%
x_origin=[1,1.5,2.3,3.1,5.3,6.2,7];
y_origin=[3.03,2.36,1.58,1.06,0.35,0.23,0.15];
k_max=150;%最大迭代次數
e=[1,0;0,1];%單位矩陣
v=0.001;%阻尼係數
a_0=0.01;%初始迭代係數
b_0=0.01;
a_it=a_0;%為迭代係數賦值
b_it=b_0;
[m,n]=size(y_origin);%維度
j=zeros(n,2);%構造雅可比矩陣
for k=1:k_max
%%%%%%%%計算雅可比矩陣%%%%%%%%
for i=1:n
j(i,1)=exp(b_it*x_origin(i));
j(i,2)=a_it*x_origin(i)*exp(b_it*x_origin(i));
end%計算第一次計算結果
y_res=a_it*exp(b_it.*x_origin);
d=y_origin-y_res;%計算第一次迭代誤差
a=j'*j;%hessian矩陣
if(k==1)
e=dot(d,d);
endstep=inv(a+v*e)*(j'*d(:));%計算迭代步長;誤差函式f(x)=a*exp(b*x)-y
a_new=a_it+step(1);%新的迭代係數
b_new=b_it+step(2);
y_new=a_new*exp(b_new.*x_origin);%新的計算結果
d_new=y_origin-y_new;%新的迭代誤差
演算法學習(一)
分配問題2 貪心演算法 採用貪心策略,保證每次操作都是區域性最優,從而使得之後結果得到的結果是全域性最優的 也適用於全域性結果是區域性結果的簡單之和 解決 區間問題 分配問題。leetcode 455 分發餅乾 假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對...
演算法學習(一)
說明 給定一組陣列,進行排序,得到最大值和最小值。1 input data 2 1 3 5 7 9 11 295 297 299 300 298 296 12 10 8 6 4 234 answer 5 300 1 利用插入排序演算法進行排序 1 array 27871,16173,31511,13...
演算法學習之路(一)
目錄 題目一題目二 給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums...