求解微分方程
2视图(30天)
显示旧的评论
大家好,我似乎无法找到一个方法来解决下列微分方程。
我有V的数组(这是我indipendent变量)和C(依赖),我需要找到一个守时的N值的每个值C和V。
在网上查找我试图利用这行代码
ode = y = = ((C) ^ 3) / (k) * diff (V, C)
但我得到的错误:错误使用diff差异必须一个正整数N标量
接受的答案
Bjorn Gustavsson
2022年11月28日
根据你的描述你没有一个微分方程的值
C
和已知的相关值
V
,你想要的值
N
根据你的方程。从这只是你能做的最好:
N = C ^ 3 / k *梯度(V C);
HTH
3评论
Bjorn Gustavsson
2022年11月28日
N = C ^ 3 / k。*梯度(V C);
在这里我们首先使用elementwise权力因素。然后,自
k
是一个标量常数没关系如果我们使用/(右阵列划分)或。/。然后我们把梯度。在你你试着正确的变体数组划分
k
*
梯度(V, C)
分母不匹配问题的方程。你的答案可能也因此成为:
N = C ^ 3. / (k。*梯度(V C));
答案(1)
大卫。马塞罗说道
2022年11月28日
既然你有数据V C可以适合微分方程的解析解。
假设这是你的数据集
k = 10;
C = (1 2 3 4 5 6 7 8 9 10];
V = [0.0158 11.3471 13.4291 14.1110 14.4800 14.5975 14.7361 - 14.8572 14.8940 - 14.9459);
让我们还假设初始条件
v (c = 1) = 0
。
你可以找到通用的微分方程解析解
N
。
信谊x y (x) N
myode = diff (y, x) = = N * 10 / x ^ 3;
索尔= dsolve (myode y (1) = = 0)
然后,把象征性的解决方案变成一个匿名函数。
f = matlabFunction (sol)
最后适应函数的数据
fitobj =适合(C, V, f,曾经繁荣的,1)
结果是N = 3.015,这是考虑到我了假C和V数据通过使用N = 3和添加随机噪声。