fengkun1984 发表于 2008-3-30 13:06

为什么不能使函数输出变量为向量

function fv=fv(v)
if v>1500
fv=227;
elseif (v>=100)&&(v<=1500)
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 ...
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 ...
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 ...
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 ...
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 ...
94.9 96.8 98.6 100.5 102 104 106 108 110 112 114 116 118 120 122 125 ...
127 129 131 133 136 138 140 143 145 147 150 152 155 157 160 162 ...
165 168 170 173 176 179 181 184 187 190 193 196 199 202 205 208 ...
212 214 218 221 224 228 231 234 238 241 245 248 252 255 259 262 ...
266 270 273 277 277 277 277 277 277 277 277 277 277];
for i=1:141;
if v>=(90+10*i)&&v<(100+10*i)
fv=M(i)+(M(i+1)-M(i)).*(v-90-10.*i)./10;
return
end
end
else
fv=0.745*10^-4*v^2;
end
end
调用fv()后,没有输出
调用fv()后,输出ans =227,而不是我想要的向量,请教下高手,我错在哪?

[ 本帖最后由 sigma665 于 2008-3-30 17:52 编辑 ]

sigma665 发表于 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;

都是一个数

eight 发表于 2008-3-31 19:43

原帖由 fengkun1984 于 2008-3-30 13:06 发表 http://www.chinavib.com/forum/images/common/back.gif
function fv=fv(v)
if v>1500
fv=227;
elseif (v>=100)&&(v=(90+10*i)&&v 建议楼主多看入门的书籍,先补补基础
页: [1]
查看完整版本: 为什么不能使函数输出变量为向量