MATLAB Answers


How to prevent a program in matlab to ask the user enter parameters value several times

Muna Elayyan さんによって質問されました 2018 年 8 月 10 日
最新アクティビティ Ameer Hamza
さんによって コメントされました 2018 年 8 月 11 日
I have a problem about deferential evolution program. when i run the code, the program ask to input parameters data (as list ) and when i enter my data the program re ask me to enter the data again by showing the input list again. how can i make the program save my input data just one time for all iterations?

  0 件のコメント

サインイン to comment.





1 件の回答

回答者: Ameer Hamza
2018 年 8 月 10 日

If you are using input() function in your code to ask for user input then you should either replace input() statements with the constant values in the beginning. If the input() statements are written inside a MATLAB function then you can consider removing them and pass the parameter as input to the function.

  4 件のコメント

Ameer Hamza
2018 年 8 月 11 日
If you can share the code, it will be easier to identify the issue and suggest the solution.
here are the DE for optimization code files.
Ameer Hamza
2018 年 8 月 11 日
The problem is happening because you objfun() is being called several times. It is not a good idea to ask the user for parameter values inside this function. There are following things which you can do
  • You can fix the values yourself
k1 = 1;
k2 = 2;
  • You can ask for input dialog box in Rundeopt.m file and make it as part of S_struct variable. Then use it in objfun() like this
k1 = S_struct.k1;
k2 = S_struct.k2;

サインイン to comment.

Translated by