请教编写MATLAB函数的问题
定义了一个函数:function y=exfun3(beta,x)
y=(beta(1)*x(:,2)-x(:,3)./beta(5))/(1+beta(2).*x(:,1)+beta(3).*x(:,2)+beta(4).*x(:,3));
初始化了一个x:
x =
470 300 10
285 80 10
470 300 120
470 80 120
470 80 10
100 190 10
100 80 65
470 190 65
100 300 54
100 300 120
100 80 120
285 300 10
285 190 120
调用:
exfun3(,x)
结果
ans =
Columns 1 through 7
0 0 0.3255 0 0 0 0
0 0 0.0786 0 0 0 0
0 0 0.2020 0 0 0 0
0 0 -0.0449 0 0 0 0
0 0 0.0786 0 0 0 0
0 0 0.2020 0 0 0 0
0 0 0.0168 0 0 0 0
0 0 0.1403 0 0 0 0
0 0 0.2761 0 0 0 0
0 0 0.2020 0 0 0 0
0 0 -0.0449 0 0 0 0
0 0 0.3255 0 0 0 0
0 0 0.0786 0 0 0 0
Columns 8 through 13
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
但我只想让它只产生一列y,应该怎样改函数? 不知道哦…… 看看书啊~~~ 恩,书上有的!查阅哈啥 这个论坛就没人帮忙看一下吗? 该加点的地方没加,不用加点的确加了. 函数改为:
y=(beta(1)*x(:,2)-x(:,3)/beta(5))./(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3)); 对,要区分矩阵的除法运算和向量的点除运算。点除运算是对应元素相除,而矩阵的除法运算是一个矩阵求逆后乘以另一个矩阵。 该加点的地方没加,不用加点的确加了. 函数改为:
y=(beta(1)*x(:,2)-x(:,3)/beta(5))./(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3));
gulugulu 发表于 2009-4-23 22:46 http://www.madio.cn/mcm/images/common/back.gif
小生感激不尽!!!
页:
[1]