any suggests, solutions ?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
i have a set of parameters, and i want fo create a file function that containt all my parameters in order to use them in others programs, but i can't find the way to do that !
Answers (2)
Jeremy
on 28 Feb 2020
0 votes
I changed one of them for you and re-attached it here.
dpb
on 28 Feb 2020
Jeremy is correct...
ncparamteres.m would contain:
%ncparamteres.m
% Script to create variables in the calling MATLAB workspace
nc = 500;
T = 365;
t = 0:T/(nc-1):T;
I=500;
...
% the rest shouldn't be hard to decipher... :)
Alternatively, create an Initialization routine that is run once and saves the desired variables in a .mat file -- then just load that file and all the variables will appear like magic.
5 Comments
diadalina
on 29 Feb 2020
[diadalina Answer moved to Comment -- dpb]
matlab gives me this error :Undefined function or variable 'lambda4'.
Error in pp (line 5)
A=(lambda4+muN)-((lambda3*lambda4)/(lambda3+muN+K))-(((1-lambda)*tau)/((1-lambda+muN)));
dpb
on 29 Feb 2020
Everything you use has to be already defined in the script/function where you call the new code before you can use it.
So, the lambda values need to have been defined before you can execute that line to use them.
In a coding style observation, having variables of the same name with sequential suffixes to distinguish them is often a sign those variables should be an array. That isn't the reason MATLAB errors, that's because the particular variable is not yet defined, but as soon as you define it you're then undoubtedly going to get the error that lambda3 and maybe the other variables in the line aren't defined, either.
diadalina
on 29 Feb 2020
PLEASE! USE THE CODE Button to format the code (or highlight the code and presse CTRL_e)
That error has nothing to do with load, you're trying to assign a RHS of the assignment that is not compatible to the LHS which says the RHS has to be one value because you wrote a subscript of (1,1) on f.
But, we have no way to know what I, Philambda, and muN are as far as their dimensions; one must presume one or more of them is not just a single value but an array or vector.
However, going clear back to your first m-file, we can see that in it
Philambda=(1-lambda)./(1+((1-lambda)/P0-1)*exp(-alpha*t));
and t was a vector so presuming the same definition still holds, Philambda is the same size as t and therefore you're trying to stuff 500 values into one location. No can do.
Use the debugger and consider what you're really doing including whether you have and want arrays or values, don't just throw code at MATLAB and then expect somebody else to figure out what's wrong.
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!