jggtgm 发表于 2023-10-27 17:23:52

迭代计算跳出条件

请教大佬,现在用迭代算法计算一个二维数组的值,如何设置调制循环的条件呢?条件是本次的结果和上次的结果之差小于设定的值。需要数组的每个结果都满足这个条件

Transpose 发表于 2023-10-27 20:04:43

if(all(abs(a-a_old)<eps))exit
其中all是内置函数,作用于一个逻辑型数组,如果所有元素为真则返回真,否则为假

jggtgm 发表于 2023-10-30 09:54:38

Transpose 发表于 2023-10-27 20:04
if(all(abs(a-a_old)

谢谢大佬指点。:-hug:

jggtgm 发表于 2023-10-30 10:43:12

An array-valued argument is required in this context.   这个错误是什么原因造成的

necrohan 发表于 2023-10-30 14:17:30

if(minval(abs(a-a_old)<eps))exit
这种也可以

jggtgm 发表于 2023-10-30 14:21:04

if(all(abs(T(r,c,1)-T(r,c,2))<=eps)) exit,使用了这段代码,就报了上面这个错误

fcode 发表于 2023-10-30 17:14:13

jggtgm 发表于 2023-10-30 14:21
if(all(abs(T(r,c,1)-T(r,c,2))
T(r,c,1)-T(r,c,2) 是一个数,而不是多个数(一个数组),不能使用 all。
你是不是想写 if(all(abs(T(:,:,1)-T(:,:,2))<eps) then

jggtgm 发表于 2023-10-30 17:26:55

fcode 发表于 2023-10-30 17:14
T(r,c,1)-T(r,c,2) 是一个数,而不是多个数(一个数组),不能使用 all。
你是不是想写 if(all(abs(T(:,:, ...

哦,好的,原来这样。多谢多谢
页: [1]
查看完整版本: 迭代计算跳出条件