How do I write a function with multiple out puts and inputs with varying times?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
For my question I have to write a function that will calculate the outputs of Vr and Vc in a series circuit. Im not even to sure on the equations to calculate this but i believe they are Vr = V*exp(-t/R*C) Vc = V*(1-exp(-t/R*C))
I have written the function as:
function [Vr, Vc] = RC(V, R, C, t)
Vr = V*exp(-t/R*C);
Vc = V*(1-exp(-t/R*C));
end
I then created a new script 'testRC.m' and wrote:
clear;
clc;
V = 9;
R = 4.7;
C = 220;
t = 0:5;
[Vr, Vc] = RC(V, R, C, t);
When I run the function I do not get the expected answer. Any help on this would be extremely appreciated as I am very new to matlab and need help, thanks in advance
1 commentaire
Adam
le 28 Oct 2014
What do you mean by not the expected answer? Is it just incorrect maths or as your question title suggests are you not getting the right number of outputs?
When I quickly pasted your code in I get the two outputs you say you want and the input argument went in fine. I know nothing about series circuits to say if it is the correct answer, but if that is your question I would suggest you reword the question title a little.
Réponse acceptée
Hugo
le 28 Oct 2014
The problem is in the equation. The constant for the charge of the capacitor is R*C. Therefore, instead of writing
Vc = V*(1-exp(-t/R*C));
you should write
Vc = V*(1-exp(-t/ (R*C) ));
Notice the brackets around R*C.
Same thing in the other equations.
Hope this helps.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!