gpt4 book ai didi

matlab - 在 matlab 中写这个的最短方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 20:17:07 24 4
gpt4 key购买 nike

lam1 = 0.0:0.1:4.0  
lam = 1.60*lam1-0.30*lam1^2 for 0<lam1<=1
lam = lam1+0.30 for 1<=lam1<=4

我有一堆。如果没有简单的索引循环和测试 lam1 的值,那么编写这种东西的“matlab 方式”是什么?

最佳答案

我认为在 MATLAB 中执行此操作的最简洁(即最容易阅读和解释)的方法如下:

lam = 0:0.1:4;          %# Initial values
lessThanOne = lam < 1; %# Logical index of values less than 1
lam(lessThanOne) = lam(lessThanOne).*...
(1.6-0.3.*lam(lessThanOne)); %# For values < 1
lam(~lessThanOne) = lam(~lessThanOne)+0.3; %# For values >= 1

上面的代码创建了一个向量 lam 并使用 logical index 修改了它的条目lessThanOne。这个解决方案还有一个额外的好处,即使给 lam 的初始值是按降序排列(甚至未排序)。

关于matlab - 在 matlab 中写这个的最短方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com