我需要在以下方程中獲得a,b和c的值,以便系統的階躍響應與下圖中的階躍響應相匹配。求解方程組以獲得所需的階躍響應
x_dot = a*x + b+u;
y = c*x;
其中x_dot是x的一階導數。
我一直在試圖通過Matlab來實現這一點,迄今已取得了以下,僅使用任意值A,B和C測試目的:
clc;
close all;
clear all;
a=1;
b=2;
c=3;
tspan = [0:0.01:12];
x_dot = a*x+b*xu;
x = (a*x^2)/2 + b*u*x;
y = c*x;
f = @(t,x) [a*x(1)+b*x(2); c*x(1)];
[t, xa] = ode45(f,tspan,[0,0]);
plot(t,xa(:,1));
你有系統辨識工具箱嗎?如果是這樣,看看[這個視頻](http://uk.mathworks.com/videos/estimating-state-space-and-polynomial-models-68898.html)。或者,如果您擁有優化工具箱,則可以使用預測階躍響應與所需階差之間的最小平方差創建成本函數,並嘗試通過調整參數來最小化誤差。 – am304
'y'(我認爲是代碼中的'x(2)')也應該是第一塊代碼中的時間導數,這樣您可以將其右手邊包含在ode45調用中?什麼是'u',什麼是'xu'(這是你發佈的系統中沒有的)?你有什麼信息可以讓你匹配這個數字:只有數字或者初始斜率或者終端值和斜率還是其他的? – TroyHaskin