not enough argument input
Mostra commenti meno recenti
function Td = dew_point(T,RH)
a = 17.27; b = 237.7;
f = (a.*T)/(b+T) + ln(RH/.100); Td = b.*f ./(a - f);
When i try to run the above code it gives an erorr of not enough argument input , My T and RH are both Vectors
Risposta accettata
Più risposte (1)
James Tursa
il 27 Set 2019
Modificato: James Tursa
il 27 Set 2019
You need to put your function code into a file called dew_point.m
Then you need to call your function with inputs, e.g.
T = something
RH = something
Td = dew_point(T,RH);
Also, since T and RH can be vectors, I am assuming you want the element-wise divide operator and not the matrix divide operator:
f = (a.*T) ./ (b+T) + ln(RH/.100);
In the line above, is that really supposed to be RH/.100 as you typed it, or should it be RH / 100 ?
Note that if you push the "green run" button in the editor, it runs the code without any inputs.
4 Commenti
Ronald Aono
il 27 Set 2019
Ronald Aono
il 27 Set 2019
James Tursa
il 27 Set 2019
Modificato: James Tursa
il 27 Set 2019
You have your function code in a separate file named dew_point.m, and that is the only code in that file? And that is the only place where this function code appears? And you call the code from the command line with the three lines I show?
And, you realize that RH/.100 is interpreted as RH / 0.100, right? It is not RH divided by 100, it is RH divided by one-tenth. I still suspect you meant RH ./ 100, but since 100 is a scalar you can simply use RH / 100 and get the same result.
Are T and RH different sizes? Your current code is only set up to handle them if they are the same size.
Ronald Aono
il 27 Set 2019
Categorie
Scopri di più su Phased Array Design and Analysis in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!