2017-01-22 7 views
0

Мне интересно, как сделать символические переменные из уже определенных строк. Это на самом деле поможет нам сделать этот код запуска:Используйте настраиваемую строку для определения символической переменной

N=2 
for i=1:N 
    syms sprintf('r%g',i) 
end 

это появилась эта ошибка после запуска его:

Ошибка с помощью symfun.parseString (строка 50)
Не правильное имя переменной.

Ошибка в символах (строка 166)
[name, vars] = symfun.parseString (x);

Я хочу, чтобы создать r1 и r2 в виде двух символических переменных.

ответ

2

Проблема в том, что если вы хотите передать строку в syms, вам необходимо использовать function syntax rather than the command syntax. С вашим текущим синтаксисом (синтаксисом команды) MATLAB пытается создать символическую переменную с именем 'sprintf('r%g',i)' и фактически не оценивает sprintf.

Вместо этого синтаксис функции должен выглядеть следующим образом. Кроме того, вы должны использовать %d в строке формата, чтобы гарантировать, что i является целым числом, иначе оно не будет допустимым именем переменной.

syms(sprintf('r%d', i)) 
+0

Это сработало, спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^