gpt4 book ai didi

matlab - 忽略循环中的警告并继续

转载 作者:行者123 更新时间:2023-12-02 22:36:38 25 4
gpt4 key购买 nike

我有三个向量 A、B 和 C。对于这些向量中的每个值,我想求解方程 C^x = A^x + B^x。不幸的是,我发现这个方程只能迭代求解,因此我尝试使用 MATLAB 的“solve”函数来找到每种情况的解。我的代码如下:

exponents = zeros(100,1);

syms x

A = rand(100,1);
B = rand(100,1);
C = rand(100,1);

for i = 1:100

exponents(i) = eval(solve(C(i)^x == A(i)^x + B(i)^x));

end

但是,有时无法获得解决方案,这会导致错误消息“警告:无法找到显式解决方案”。我对此表示同意,但是如果我遇到一个无法解的方程,我想简单地在该迭代中保留“指数(i)”不变并进入下一个迭代,而不是让我的代码突然停止。有什么建议吗?

最佳答案

如果将导致偶尔错误的语句放在 try/catch 语句中,则该错误不会导致执行停止。例如,您可以尝试:

for i = 1:100
try
exponents(i) = eval(solve(C(i)^x == A(i)^x + B(i)^x));
catch
exponents(i) = NaN;
end;
end

关于matlab - 忽略循环中的警告并继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765392/

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