Find values that put equation to zero
古いコメントを表示
In this model:
where all the variables are of dymension TX1, I need to find all the (T) values of gamma that put the equation to zero.
I tryed with the following code, but the program returns me all NAN, how can I fix the code to get it?
j=1; %increment level. The loop will work for j>1 as well.
for i=1:j:T;
fnc = @(gamma,C,S) 1./(1+gamma).*(C(i)-(S(i)*gamma)) - M(i); % Model function
rn = @(gamma) norm(M - fnc(gamma,C,S)); % Residual norm
gamma0 = [15]; % Inizializzazione
[gamma, ResNorm] = fzero(rn, gamma0);
end
採用された回答
その他の回答 (1 件)
Alan Stevens
2021 年 4 月 9 日
編集済み: Alan Stevens
2021 年 4 月 9 日
If your expression is equal to zero, then you can rearrange it to get gamma directly. A little algebra gives
gamma = (C-M)./(S+M);
No need for fzero at all.
カテゴリ
ヘルプ センター および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!