2023年4月7日 星期五

octave 擬合線性方程式範例

參考影片: https://www.youtube.com/watch?v=osh80YCg_GM&list=PLE7DDD91010BC51F8&index=17
% 假設實驗數據 (x̂,ŷ) 計算最小誤差線性方程式 ŷ = c1 + c2*x̂ + c3*x̂² + c4*x̂³ 的解
samples = 64; % 測量樣本數
c1 = 10;
c2 = 0.8;
c3 = 0.5;
c4 = 0.3;
f = @(t) c1 + c2*t + c3*(t^2)+ c4*(t^3);
y = [];
x1 = [];
x2 = [];
x3 = [];
for (t = 1 : samples) % 取樣, Δt
s = f(t);
err = rand - 0.5; % 誤差訊號
noise = s * err; % max +- 50% signal
y = [y, s + noise]; % 讀取測量訊號組成向量
x1 = [x1, t];
x2 = [x2, t^2];
x3 = [x3, t^3];
end
P = [ones(1, samples); x1; x2; x3]'; % 測量矩陣
v = P' * y'; % 測量樣本線性轉換
A = P' * P; % 矩陣變換
elements = numel(v);
lastone = elements + 1;
R = []; % to be solve by Reduce Row Echelon Form
for (t = 1 : elements)
R = [R; A(t,:), v(t,:)];% combine together
end
M = rref(R); % 解方程式 Ax = v
g = [];
for (t = 1 : samples)
z = 0;
for (el = 1 : elements)
z = z + M(el, lastone) * (t^(el-1));
end
g = [g, z];
end
plot(x1, y, 'g:x', x1, g ,'r-');

沒有留言:

張貼留言

使用 pcie 轉接器連接 nvme SSD

之前 AM4 主機板使用 pcie ssd, 但主機板故障了沒辦法上網, 只好翻出以前買的 FM2 舊主機板, 想辦法讓老主機復活, 但舊主機板沒有 nvme 的界面, 因此上網買了 pcie 轉接器用來連接 nvme ssd, 遺憾的是 grub2 bootloader 無法識...