How do I plot a function that has a value given
Afficher commentaires plus anciens
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".
Réponses (2)
Star Strider
le 7 Fév 2018
Modifié(e) : Star Strider
le 7 Fév 2018
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 commentaires
Star Strider
le 7 Fév 2018
What is ‘[0.4, 0.87, 0.84,0.88]’?
Walter Roberson
le 7 Fév 2018
I suspect the a values are 4*D2./D1
jake stan
le 7 Fév 2018
Star Strider
le 7 Fév 2018
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
le 7 Fév 2018
0 votes
For vector D1 and D2, you need D2./D1 instead of D2/D1
Catégories
En savoir plus sur Mathematics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!