我有一个载体,比如[1,2,710]。当我拿exp([1,2,710])时,我得到ans = [2.7183,7.2891,Inf]。由于最终答案是一个非常大的数字,我想先检测它并将其重置为一个非常大的值,比如1e + 305。我使用isinf来帮助我,但isinf(ans)给出了所有0.我该怎么做才能解决问题?请注意,输入向量可能会更改。
答案 0 :(得分:0)
试试这个:
maximum_num = 99999;
vec = [1,2,710];
expVec = exp(vec);
expVec(expVec > maximum_num) = maximum_num;
maximum_num
存储您在向量中允许的最大值。因此,如果您使用双倍工作,只需使用maximum_num= realmax
代替第一行代码。