我试图把一个向量传递到一个函数中,然后用一个分段函数来计算这个向量。当我运行下面的代码时,只返回一个数字,而不是一个向量。有什么想法吗?
谢谢!
t[-5:1:50]
velocity(t)
function [v] = velocity( t )
%This function takes vector 't' and evaluates a velocity over a given
%piecewise function
if t>=0 & t<=8
v=10*t^2-5*t;
elseif t>=8 & t<=16
v=624-5*t;
elseif t>=16 & t<=26
v= 36*t+12*(t-16)^2;
elseif t>26
v=2136*exp(-0.1*(t-26));
else t<0
end发布于 2014-07-15 03:04:44
当你把一个向量提升到正方形时,你就用它自己来执行一个标量积。
对于元素级运算符,将t^2替换为t.^2。
对于(t-16).^2也要这样做。
所有其他运算符都应该自动进入元素的情况,但您可以在它们之前添加点以确保。
而且,您编写的条件作为标量值应用于t。您可以通过以下操作获得研究的效果:
而不是
if cond1:
v = something
elif cond2:
v = something_else做
indices1 = (cond1) % where cond1 is t < 10 for example
indices2 = (cond2) % and cond2 is t >= 10
v[indices1] = something
v[indices2] = something_else我希望你能明白要点。
https://stackoverflow.com/questions/24749175
复制相似问题