How to Plot a Graph for a Range of Values

조회 수: 5 (최근 30일)
Tom
Tom 2018년 11월 15일
댓글: Tom 2018년 11월 16일
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.

채택된 답변

madhan ravi
madhan ravi 2018년 11월 15일
편집: madhan ravi 2018년 11월 15일
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
madhan ravi
madhan ravi 2018년 11월 16일
if my answer worked make sure to accept the answer
Tom
Tom 2018년 11월 16일
It didn't work, I get a function which doesn't look right.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Tom
Tom 2018년 11월 15일
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.

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

태그

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by