solve an equation using solve() produces an array instead of a unique value
1 回表示 (過去 30 日間)
古いコメントを表示
d = 32*h + 200*(32*h - 8)*((4*h - 1)^2 - 1) - 16
I am trying to solve for h using "solve(d,h)" , however, I keep getting an array for of solutions!
[1/2
1/8 - (7*2^(1/2))/80
(7*2^(1/2))/80 + 1/8 ]
How could I obtain a unique value for h? The solution does not seem right. Is there a better function to be used ?
Thanks.
0 件のコメント
採用された回答
Star Strider
2019 年 11 月 17 日
The result is correct. There are three roots.
Plot it to see the result:
syms h
d = 32*h + 200*(32*h - 8)*((4*h - 1)^2 - 1) - 16;
ds = solve(d)
figure
fplot(d, [-0.1 0.6])
hold on
plot(ds, zeros(size(ds)), 'pg')
hold off
grid
6 件のコメント
Star Strider
2019 年 11 月 18 日
I will need more details.
It depends on how you want to define ‘h’ and what you want to do.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Number Theory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!