回 帖 发 新 帖 刷新版面

主题:[紧急求助]为什么不能使函数输出变量为向量

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.1 
   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([200 300])后,没有输出
调用fv([5000 5000])后,输出ans =227,而不是我想要的向量[227 227],请教下高手,我错在哪?

回复列表 (共2个回复)

沙发

你的输入参数v在编程的时候是作为一个数值来运算的,所以你调用的时候就不能输入一个向量,只能是一个数值,另外建议你函数名和返回变量名不要取一样

板凳

那请问下有没有解决的办法,我确实想用向量

我来回复

您尚未登录,请登录后再回复。点此登录或注册