声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 751|回复: 2

[编程技巧] 为什么不能使函数输出变量为向量

[复制链接]
发表于 2008-3-30 13:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. function fv=fv(v)
  2. if v>1500
  3. fv=227;
  4. elseif (v>=100)&&(v<=1500)
  5. M=[0.74 0.9 1.08 1.27 1.47 1.68 1.91 2.15 2.41 2.69 2.99 3.30 3.62 3.95 ...
  6. 4.29 4.65 5.04 5.48 5.99 6.61 7.44 8.59 11.3 14.7 17.7 20.3 22.4 24.3 ...
  7. 26 27.6 29.1 30.6 32 33.5 34.9 36.3 37.7 39 40.4 41.8 43.2 44.6 46 47.4 ...
  8. 48.8 50.2 51.6 53 54.4 55.9 57.3 58.8 60.2 61.7 63.2 64.8 66.3 67.8 ...
  9. 69.4 71 72.6 74.2 75.8 77.4 79. 80.8 82.5 84.2 85.9 87.7 89.5 90.3 93.1 ...
  10. 94.9 96.8 98.6 100.5 102 104 106 108 110 112 114 116 118 120 122 125 ...
  11. 127 129 131 133 136 138 140 143 145 147 150 152 155 157 160 162 ...
  12. 165 168 170 173 176 179 181 184 187 190 193 196 199 202 205 208 ...
  13. 212 214 218 221 224 228 231 234 238 241 245 248 252 255 259 262 ...
  14. 266 270 273 277 277 277 277 277 277 277 277 277 277];
  15. for i=1:141;
  16. if v>=(90+10*i)&&v<(100+10*i)
  17. fv=M(i)+(M(i+1)-M(i)).*(v-90-10.*i)./10;
  18. return
  19. end
  20. end
  21. else
  22. fv=0.745*10^-4*v^2;
  23. end
  24. end
复制代码

调用fv([200 300])后,没有输出
调用fv([5000 5000])后,输出ans =227,而不是我想要的向量[227 227],请教下高手,我错在哪?

[ 本帖最后由 sigma665 于 2008-3-30 17:52 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-3-30 17:55 | 显示全部楼层

回复 楼主 的帖子

因为你一直都不是按向量来编的。
fv=227;
fv=M(i)+(M(i+1)-M(i)).*(v-90-10.*i)./10;
fv=0.745*10^-4*v^2;

都是一个数
发表于 2008-3-31 19:43 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 08:50 , Processed in 0.062562 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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