如何检测向量中的某些元素?

时间:2016-11-08 03:43:26

标签: matlab

我有一个载体,比如[1,2,710]。当我拿exp([1,2,710])时,我得到ans = [2.7183,7.2891,Inf]。由于最终答案是一个非常大的数字,我想先检测它并将其重置为一个非常大的值,比如1e + 305。我使用isinf来帮助我,但isinf(ans)给出了所有0.我该怎么做才能解决问题?请注意,输入向量可能会更改。

1 个答案:

答案 0 :(得分:0)

试试这个:

 maximum_num = 99999;

vec = [1,2,710];
expVec = exp(vec);

expVec(expVec > maximum_num) = maximum_num;

maximum_num存储您在向量中允许的最大值。因此,如果您使用双倍工作,只需使用maximum_num= realmax代替第一行代码。