Filter löschen
Filter löschen

How to find a Y value of a given X?

25 Ansichten (letzte 30 Tage)
Rishab Vadvadgi
Rishab Vadvadgi am 17 Sep. 2020
Kommentiert: Star Strider am 17 Sep. 2020
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.

Akzeptierte Antwort

Star Strider
Star Strider am 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 Kommentare
Rishab Vadvadgi
Rishab Vadvadgi am 17 Sep. 2020
Thanks! I ended up figuring out right after I posted haha
Star Strider
Star Strider am 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
.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Johannes Fischer
Johannes Fischer am 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 Kommentar
Rishab Vadvadgi
Rishab Vadvadgi am 17 Sep. 2020
Bearbeitet: Rishab Vadvadgi am 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?

Melden Sie sich an, um zu kommentieren.


BOB MATHEW SYJI
BOB MATHEW SYJI am 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));

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by