首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB:无法正确地使用输入向量评估函数

MATLAB:无法正确地使用输入向量评估函数
EN

Stack Overflow用户
提问于 2014-07-15 02:56:51
回答 1查看 42关注 0票数 0

我试图把一个向量传递到一个函数中,然后用一个分段函数来计算这个向量。当我运行下面的代码时,只返回一个数字,而不是一个向量。有什么想法吗?

谢谢!

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 03:04:44

当你把一个向量提升到正方形时,你就用它自己来执行一个标量积。

对于元素级运算符,将t^2替换为t.^2

对于(t-16).^2也要这样做。

所有其他运算符都应该自动进入元素的情况,但您可以在它们之前添加点以确保。

而且,您编写的条件作为标量值应用于t。您可以通过以下操作获得研究的效果:

而不是

代码语言:javascript
复制
if cond1:
    v = something
elif cond2:
    v = something_else

代码语言:javascript
复制
indices1 = (cond1)  % where cond1 is t < 10 for example
indices2 = (cond2)  % and cond2 is t >= 10
v[indices1] = something
v[indices2] = something_else

我希望你能明白要点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24749175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档