使用迭代找到值的变量

8视图(30天)
Dhananjay辛格
Dhananjay辛格 2021年8月28日
评论道: 图像分析 2021年8月28日
你好,
起初,我需要生成一个随机数,是使用兰德命令完成的。
然后我必须使用迭代,使其满足一定的关系。我使用while循环但不是停止。
x =兰德(1,1);
而350 - 12.9 - 32.4498 x - ~ = 0
x = x + 0.0001
结束
问题是其他值也可以改变大大所以需要很长时间才能找到的值。还有其他的建议吗?

接受的答案

图像分析
图像分析 2021年8月28日
你的条件不匹配0完全。为什么不呢?查看常见问题解答:
试试这样:
x =兰德(1,1);
maxIterations = 10000000;%失效保护,防止无限循环
loopCounter = 0;%失效保护,防止无限循环
值= abs (350 - 12.9 - 32.4498 x -);
值> = 0.00009 & & (loopCounter < maxIterations)
x = x + 0.0001;
值= abs (350 - 12.9 - 32.4498 x -);
loopCounter = loopCounter + 1;%失效保护,防止无限循环
%流(“% d迭代后,x = % = % f f和价值。loopCounter \ n”, x,价值);
结束
流(' % d迭代后,x = % f和价值= % f。\ n 'loopCounter x值);
你可能会:
3038399次迭代后,x = 0.000032 = 304.650168和价值。
2的评论
图像分析
图像分析 2021年8月28日
是的,只有在0和1之间。看到帮助如果你需要在一个范围不同
r = vMin + (vMax - vMin) *兰德(1);%得到价值vMin和vMax之间

登录置评。

答案(1)

Awais赛义德
Awais赛义德 2021年8月28日
编辑:Awais赛义德 2021年8月28日
你的目标到底是什么?你想要找到的值吗 x 的结果是零?你可以找到根使用 解决
信谊x
vpa(解决(350 - 12.9 - 32.4498 x - = = 0, x))
ans =
304.65019999999999669171302230097
1评论
Dhananjay辛格
Dhananjay辛格 2021年8月28日
x = . .一些猜数字
y = f (x);
z = f (y);
w = g (y);
= z + x + w;
x是先猜,然后利用关系找y, z, w和是一个常量值,这样满足的关系。
在想这样的迭代。还有其他方法吗?

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!