Единственный способ создать переменную, имя которой определяется во время выполнения, - это использовать такие функции, как eval
, evalin
, feval
или assignin
. (assignin
- наименее злой выбор, кстати, по крайней мере, вам не нужно преобразовывать свое значение в строку и обратно.)
Однако я спрашиваю, почему вы хотите это сделать, а не просто получить доступ к значениям через структуру ввода, как вам нужно. Если вы хотите сохранить набор текста (судя по опыту, потому что я очень ленивый), я обычно называю структуру входных параметров чем-то коротким, например p
. Во всем коде я просто обращаюсь к полям напрямую (например, p.Kp
, и через некоторое время я даже не вижу p.
). Это также позволяет легко передавать структуру в подфункции по мере необходимости.