How to Plot a Graph for a Range of Values

58 Ansichten (letzte 30 Tage)
Tom
Tom am 15 Nov. 2018
Kommentiert: Tom am 16 Nov. 2018
I am working on a problem in mechanics and have obtained an expression for the force on an object: the expression contains several constants and a parameter. In the code elsewhere I have stated that this parameter just has an arbitrary value of 1 after dimensionalisation, but I need to now allow it to vary from 0 to 1 and plot the expression as a function on a graph depending on the parameter, what would be the easiest way of doing this?
I know MATLAB has a plot(X,Y) function, but obviously this will not work immediately as I have already fixed the parameter essentially arbitrarily just to obtain a numerical value which I can compare with other expressions.

Akzeptierte Antwort

madhan ravi
madhan ravi am 15 Nov. 2018
Bearbeitet: madhan ravi am 15 Nov. 2018
how about this example: (if it doesn't work provide your code and datas)
syms x(t)
x(t)=t*exp(t-1)
fplot(x(t),[0 1]) % ranging from 0 to 1
  2 Kommentare
madhan ravi
madhan ravi am 16 Nov. 2018
if my answer worked make sure to accept the answer
Tom
Tom am 16 Nov. 2018
It didn't work, I get a function which doesn't look right.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Tom
Tom am 15 Nov. 2018
I'm not sure if that will work, I will give an example of the code to see if that helps. Basically, there is a parameter Kn which I set to 1 in the course of finding the solution which gives the force on an object. I have a function which features Kn which is evaluated numerically at various grid points.
function [V]=StokesletEval(rij,normal)
Kn=1;
J=1/(8*pi*Kn)*(eye(3)/norm(rij)+(rij'*rij)/((norm(rij))^3));
K=(-1/(4*pi))*(rij'*normal*(eye(3)/norm(rij)^3-3*(rij'*rij)/norm(rij)^5)*(eye(3)-normal'*normal));
V=(J+sqrt(pi/2)*K);
end
Evaluating the function at the grid and solving the system which results you get the total force (or drag) called dragFZ. I then divide the result by -6*pi*VZ*Kn, another equation which depends on Kn. Although I have assumed Kn=1, I somehow need to take that ratio and plot the result against Kn, as Kn varies from 0 to 1. I have tried the following (where I called Kn t):
syms x(t)
x(t)=dragFZ/(-6*pi*VZ*t);
fplot(x(t),[0 1])
but the graph does come out as expected.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by