MATLAB Answers

How to find a Y value of a given X?

조회 수: 12(최근 30일)
Hello, this is a very simple question. I am writing an equation for v given t:
t = 0:0.00001:0.01;
v= 50*exp(-1600*t) - 50*exp(-400*t);
How would I find the value of v at a certain t? I want to find what v is when t=0.000625.

  댓글 수: 0

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

채택된 답변

Star Strider
Star Strider 17 Sep 2020
This is easiest if you create ‘v’ as an anonymous function:
t = 0:0.00001:0.01;
v = @(t) 50*exp(-1600*t) - 50*exp(-400*t);
ti = 0.000625;
Out = v(ti)
figure
plot(t, v(t))
hold on
plot(ti, v(ti), 'r+')
hold off
grid
See Anonymous Functions for details.

  댓글 수: 3

Rishab Vadvadgi
Rishab Vadvadgi 17 Sep 2020
Thank you! One more question: can I use functions I have written to create a new one? For example, I am trying to multiply a function v and a function i together to make a new function p.
v = @(t) 50*exp(-1600*t) - 50*exp(-400*t);
i = @(t) (5*exp(-1600*t) - 5*exp(-400*t)) * 0.001;
p = @(t) v*i;
However, this gives me an error. What is the proper way to do this?
Rishab Vadvadgi
Rishab Vadvadgi 17 Sep 2020
Thanks! I ended up figuring out right after I posted haha
Star Strider
Star Strider 17 Sep 2020
My pleasure!
To calculate with functions, it is necessary to evaluate them to do the calculation:
p = @(t) v(t).*i(t);
That works. Note also the use of element-wise multiplication, .* instead of * .
Example —
figure
plot(t, p(t))
grid
.

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

추가 답변(2개)

Johannes Fischer
Johannes Fischer 17 Sep 2020
You want to use an anonymous function.
So in your case:
% define the anonymous function
v = @(t) 50*exp(-1600*t) - 50*exp(-400*t);
% call it
v(0.000625)

  댓글 수: 1

Rishab Vadvadgi
Rishab Vadvadgi 17 Sep 2020
Thank you! One more question: can I use functions I have written to create a new one? For example, I am trying to multiply a function v and a function i together to make a new function p.
v = @(t) 50*exp(-1600*t) - 50*exp(-400*t);
i = @(t) (5*exp(-1600*t) - 5*exp(-400*t)) * 0.001;
p = @(t) v*i;
However, this gives me an error. What is the proper way to do this?

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


BOB MATHEW SYJI
BOB MATHEW SYJI 17 Sep 2020
Hope this helps. x is the input and sol is the value of v at x (in this case x=0.000625)
syms v(t)
x=0.000625;
v(t)= 50*exp(-1600*t) - 50*exp(-400*t);
sol=double(v(x));

  댓글 수: 0

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

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by