函数定义问题
alfa=;y=inline('a*x(1)+b*x(2)+c*x(3)+d*x(4)','x')
a=cos(alfa(1))
b=cos(alfa(2))
c=cos(alfa(3))
d=cos(alfa(4))
求助,怎样能够把abcd代入y中,得到y。
谢谢! 改成y=inline('a*x(1)+b*x(2)+c*x(3)+d*x(4)','x', 'a', 'b', 'c', 'd'),再调用y(x, a, b, d) 就可以了。 2# gfl
alfa=;
a=cos(alfa(1))
b=cos(alfa(2))
c=cos(alfa(3))
d=cos(alfa(4))
y=inline('a*x(1)+b*x(2)+c*x(3)+d*x(4)','x', 'a', 'b', 'c', 'd'),
y(x,a,b,c,d)
不行啊,出错的,您再帮我看看。
谢谢!! x必须赋值! 别再用inline这种老掉牙的又很低效的函数结构了,那都是7年以前MATLAB的用法了。用匿名函数吧。
>> alfa=;
a=cos(alfa(1));
b=cos(alfa(2));
c=cos(alfa(3));
>> y=@(x) a*x(1)+b*x(2)+c*x(3)+d*x(4);
>> x = 1:4;
>> y(x)
ans =
-8.8818e-016
页:
[1]