matlab m文件输入参数问题

matlab m文件输入参数可以为变量么
例如程序如下
function m=circle()
t_T=input('Type whole t(up_down):');
m=0;
for i=1:size(t_T,2)
m=m+t_T(1,i);
end

输入
>> syms a b
>> m=circle()
Type whole t(up_down):[a b 2]
Error using input
Undefined function or variable 'a'.

Error in circle (line 2)
t_T=input('Type whole t(up_down):');

Type whole t(up_down):

但是我就是希望输出m=a+b+2,变量形式输出,请问怎么办?

  1、m函数输入参数是程序必须的,设置、选用须充分考虑程序需要,尽量以最少的输入参数,解决问题。
  2、对已写好的m文件,不改程序的话,输入参数必须与文件要求相符,变量类型一致。
  3、输入方式有几种:
  a先定义输入参数,再调用函数,如 x=5;b=magic(x);
  b直接在调用函数语句中定义,如 b=magic(5);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-10
我懂你的意思,但是你这个思路是不对的。
使用input函数,你得到了一串字符'[a b 2]',他们并不是syms类型,所以不能正确执行m=m+t_T(1,i);
望采纳!追问

那该怎么办

追答

如果只是想得到”m=a+b+2“,你可以用直接处理字符串t_T = [a b 2],例如:
m = [t_T(2),'+',t_T(4),'+',t_T(6)]
望采纳

本回答被提问者采纳
相似回答