ploting 2d graph of a vector

12 次查看(过去 30 天)
Hey Friends,
I am trying to plot a vecotr (a solution of deritinal eqution) somting like those:
x(t)=Aexp(-3t)
y(t)=Bexp(2t)
Where A B are contecst ( so i am trying to see serveral function)
thanks a lot, Adam.

采纳的回答

Chad Greene
Chad Greene 2021-5-14
You've pretty much got it, but you'll need to define a range of t values, and a value for the constants A, and B. You also need to use the * symbol for multiplication.
t = 0:0.1:10; % a range of t values from 0 to 100, steps of 0.1
A = 1;
B = 2;
x=A*exp(-3*t);
y=B*exp(2*t);
plot(t,x)
hold on
plot(t,y)
legend('x(t)','y(t)')
You may also want to set the vertical scale to log scale:
set(gca,'yscale','log')

更多回答(1 个)

adam hafzadi
adam hafzadi 2021-5-14
oh thank you , but when i am trying to do somtig more seresis its dosn`t work
t = -100:0.1:100; % a range of t values from 0 to 100, steps of 0.1
A = 1;
B = 2;
x=A*exp(-2*t)+B*t*exp(-2*t);
y=A*exp(2*t)+B*t*exp(-2*t)+B*exp(-2*t);
plot(t,x)
hold on
plot(t,y)
legend('x(t)','y(t)')
  2 个评论
Chad Greene
Chad Greene 2021-5-14
Oh, yes, that's a quirk of Matlab when you multiply or divide vectors. By default Matlab tries to do a "cross multiplication". To do "dot multiplication" instead, just put a period (.) in front of every multiplication symbol, like this:
t = -100:0.1:100; % a range of t values from -100 to 100, steps of 0.1
A = 1;
B = 2;
x=A.*exp(-2.*t)+B.*t.*exp(-2.*t);
y=A.*exp(2.*t)+B.*t.*exp(-2.*t)+B.*exp(-2.*t);
plot(t,x)
hold on
plot(t,y)
legend('x(t)','y(t)')

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by