How can I run a matlab program N times using a different value of one of my variables
조회 수: 59 (최근 30일)
이전 댓글 표시
Imagine a scenerio where I have a matlab program with N variables. I then want to make one of the variables a vector so I can run the program many times (length of the vector). I just intend to do this by calling the program in a loop. But each time I do that it's indicating that the variable be defined in the original program.
댓글 수: 8
gonzalo Mier
2019년 6월 14일
Thank you Adam, but I had the feeling it was not over.
mmmmm... ok, can you please add the code of the real problem or a closer example of your real problem so we have some idea about how to solve your question?
Help us to help you :)
채택된 답변
per isakson
2019년 6월 15일
편집: per isakson
2019년 6월 15일
Assumptions:
- You have a script. Lets call it myScript.
- The first line of myScript is clear all
- Near the top of myScript there is an assignment, e.g input = 17;.
- In myScript a result is assigned to a variable, e.g. output = expression;
- Now you want to run myScript with different values, e.g. [2,3,5,7,11,13,17], of the variable, input
Procedure
- In myScript comment out the lines clear all and input = 17; Result: % clear all and % input = 17;
- Create a script in a new file, e.g. loop_over_myScript
%% loop_over_myScript
vector = [2,3,5,7,11,13,17];
out_vector = [];
for vec = vector
input = vec;
myScript
% ignore the warning about growing in the loop
out_vector = [ out_vector, output ];
end
- Beg that no variables named, vector, vec or out_vector, exist in myScript. (Renaming them vector__, vec__ and out_vector__ might decrease the risk of name collision.)
- Run loop_over_myScript
- Inspect out_vector, e.g with the Variables Editor
- Run whos and be horrified by all the variables that litters the base workspace.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!