找回密码
 注册
Simdroid-非首页
查看: 96|回复: 4

函数定义问题

[复制链接]
发表于 2011-6-5 08:52:31 | 显示全部楼层 |阅读模式 来自 陕西西安
alfa=[1*pi/4,3*pi/4,5*pi/4,7*pi/4];
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。
谢谢!
发表于 2011-6-5 09:22:11 | 显示全部楼层 来自 上海
Simdroid开发平台
改成y=inline('a*x(1)+b*x(2)+c*x(3)+d*x(4)','x', 'a', 'b', 'c', 'd'),再调用y(x, a, b, d) 就可以了。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-6-5 09:26:43 | 显示全部楼层 来自 陕西西安
2# gfl

alfa=[1*pi/4,3*pi/4,5*pi/4,7*pi/4];
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)

不行啊,出错的,您再帮我看看。

谢谢!!
回复 不支持

使用道具 举报

发表于 2011-6-5 19:08:59 | 显示全部楼层 来自 上海
x必须赋值!

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-6-7 09:35:27 | 显示全部楼层 来自 北京
别再用inline这种老掉牙的又很低效的函数结构了,那都是7年以前MATLAB的用法了。用匿名函数吧。

  1. >> alfa=[1*pi/4,3*pi/4,5*pi/4,7*pi/4];
  2. a=cos(alfa(1));
  3. b=cos(alfa(2));
  4. c=cos(alfa(3));
  5. >> y=@(x) a*x(1)+b*x(2)+c*x(3)+d*x(4);
  6. >> x = 1:4;
  7. >> y(x)
  8. ans =
  9. -8.8818e-016
复制代码
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 17:27 , Processed in 0.032768 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表