根据我现在的理解,求电阻至少有两种类型:等效电阻和未知电阻。
对于编程来说,求等效电阻本质上是U和I测量,但未知电阻是完全不同的类型。等效电阻可以建立一个完整的模拟系统,但未知电阻不能直接建立系统。我认为的方法是先假设电阻值,然后建立系统计算,然后确定电阻值是否符合要求。这是一种试错解决方案。类似于牛顿二分法。
技术上还是有点困难参考以下资料:
动态交换模块参数: (Simulink与 MATLAB的接口) 点击打开链接
只需将图中的R取值填写为变量R,然后在Matlab可以在中间设置其值~
本来打算在筛选值的时候用二分法,但是二分法很可能会产生很多位小数。。。必须进行一些控制。想想这个具体问题及其计算量。一个个简单粗暴的尝试。反正速度快。如果你想应用更复杂的问题,那就说吧。这个问题的基本策略出现后就没问题了。
电路(电阻画得奇怪。。。
代码:
结果:
R=14.2 Ohms
提醒:
R =14.2欧姆时,i实际值是1.9429e-15.一开始我没发现这个数字这么小。注意它不是0。。。因此,判断条件也得到了纠正。