MATLAB定义M函数输入参数的问题
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/08 20:39:12
MATLAB定义M函数输入参数的问题
例如我定义了f=fun(b0,b1,b2),但是在输出函数值f的时候,表达式里面有a,(例如a*b0+b1)a是工作空间中矩阵A的一个列向量,我希望把a作为一个常数,在函数中参与运算,怎么实现?能否不用在函数定义时输入参数a,即避免f=fun(a,b0,b1,b2)?
例如我定义了f=fun(b0,b1,b2),但是在输出函数值f的时候,表达式里面有a,(例如a*b0+b1)a是工作空间中矩阵A的一个列向量,我希望把a作为一个常数,在函数中参与运算,怎么实现?能否不用在函数定义时输入参数a,即避免f=fun(a,b0,b1,b2)?
![MATLAB定义M函数输入参数的问题](/uploads/image/z/6050895-15-5.jpg?t=MATLAB%E5%AE%9A%E4%B9%89M%E5%87%BD%E6%95%B0%E8%BE%93%E5%85%A5%E5%8F%82%E6%95%B0%E7%9A%84%E9%97%AE%E9%A2%98)
形参可以没有a,但在函数里须要说明a的定义.如下
function f=func(b0,b1,b2)
a=[1;3;4];
f=a*b0+b1
再问: 那如果a是由矩阵A取某一列得来的呢?(矩阵A已经在工作空间中存在了)是不是要再函数中再次定义矩阵A,然后在函数中声明a=A(,1)这样?
再答: 最好是定义,因为A虽然在工作空间,但我们使用matlab时,经常用clear命令清空工作空间里的变量,所以在函数里也最好重新定义
function f=func(b0,b1,b2)
a=[1;3;4];
f=a*b0+b1
再问: 那如果a是由矩阵A取某一列得来的呢?(矩阵A已经在工作空间中存在了)是不是要再函数中再次定义矩阵A,然后在函数中声明a=A(,1)这样?
再答: 最好是定义,因为A虽然在工作空间,但我们使用matlab时,经常用clear命令清空工作空间里的变量,所以在函数里也最好重新定义