How do I plot a function that has a value given

1 次查看(过去 30 天)
I'm trying to graph this question from here https://math.stackexchange.com/questions/2638189/express-density-as-a-ratio-of-height
I'm given values for D2 and D1, and then get the ratio D2/D1. I end up with an
equation 4*D2/D1 = 3x^2-x^3, and I need to acquire x from that equation and then plot it.
I tried doing the root of this equation, and when I tried to graph x, D2/D1, it says that "Vectors must be the same length".

回答(2 个)

Star Strider
Star Strider 2018-2-7
编辑:Star Strider 2018-2-7
Since you did not post your code, I cannot help you troubleshoot it.
Two options —
Symbolic:
syms x
DRatio = 3*x^2-x^3;
xroot = solve(DRatio == 0)
xroot =
0
0
3
Numeric:
xroots = roots([-1 3 0 0])
xroots =
0
0
3
  5 个评论
Star Strider
Star Strider 2018-2-7
Try this:
xroots = arrayfun(@(a) roots([1 -3 0 4*a]), [0.4, 0.87, 0.84,0.88], 'Uni',0)
Roots = [xroots{:}]'
Roots =
2.7952 0.8659 -0.6611
2.3916 1.5483 -0.9398
2.4318 1.4934 -0.9252
2.3770 1.5676 -0.9446

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2018-2-7
For vector D1 and D2, you need D2./D1 instead of D2/D1

类别

Help CenterFile Exchange 中查找有关 Function Creation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by