How do i use fzero to solve the following

1 回表示 (過去 30 日間)
Liam Wiltshire
Liam Wiltshire 2018 年 1 月 9 日
コメント済み: Liam Wiltshire 2018 年 1 月 9 日
My code reads as follows:
time2 = [0:1:4000];
y = log10(62) - log10(49) - 0.000084*time2;
fzero(y,1200)
I need to use fzero to calculate the value of time2 when the above equasion is zero. I don't know why it wont work as above but despite my best efforts nothing will stick.
Cheers
p.s. i need to use fzero so alternative solutions, whilst welcome, won't solve my problem.

採用された回答

Stephen23
Stephen23 2018 年 1 月 9 日
編集済み: Stephen23 2018 年 1 月 9 日
That is not how to use fzero. As its help clearly states and shows, the first argument must be a function handle, which you have not provided. Try this:
>> fun = @(t) log10(62) - log10(49) - 0.00008*t;
>> fzero(fun,1200)
ans = 1277.4
and reading the MATLAB documentation.
  3 件のコメント
Stephen23
Stephen23 2018 年 1 月 9 日
@Torsten: I think the y in the question is a red herring.
Liam Wiltshire
Liam Wiltshire 2018 年 1 月 9 日
Stephen you are bang on the money there, i couldn't get your original answer to work and unstead used Torstens reply without the y and came to the answer you now have above.
Thank you both very much for you input.
I had already tried using a function handle yesterday when i became stuck, but didn't put t in brackets after the @, so wrote it off.
All sorted now, thank you

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by