How to write umax*exp(1./((th-th0).*(th-th1)))/en for th0<th<th1 in matlab?
1 次查看(过去 30 天)
显示 更早的评论
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247192/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247193/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247194/image.png)
I saw something related to my question
uu = @(th) vif(th>ph0&th<ph1,umax*exp(1./((th-ph0).*(th-ph1)))/en,0)
but unfortunately, 'vif' is not defined. Please I need clarification.
0 个评论
采纳的回答
Walter Roberson
2019-11-7
编辑:Walter Roberson
2019-11-7
Assuming that you have assigned a definite vector of values to th, then:
y = nan(size(th));
mask = th0 < th & th < th1;
y(mask) = umax*exp(1./((th(mask)-th0).*(th(mask)-th1)))/en;
2 个评论
Walter Roberson
2019-11-7
Why do you want to write it that way?
Have you considered using piecewise() from the symbolic toolbox?
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!