我是MATLAB的新手,我试图使用ode45()函数集成两个函数 . 我的代码:
[w,x] = ode45( @(w,x) ( TSII - TFII ) * w , [0 2], 0 );
其中 TSII 和 TFII 是包含我的两个函数值的列向量1x151 . w 还没有任何 Value ,但我已经尝试使它成为一个充满零长度1x151的列向量,但这并没有解决我的问题 .
我收到以下错误消息:
@(W,X)(TSII-TFII)* W返回长度为151的向量,但初始条件向量的长度为1 .
@(W,X)(TSII-TFII)*W
返回的向量和初始条件向量必须具有相同数量的元素 .
是否可以将初始条件向量更改为与 TSII
和 TFII
相同的长度?
或者,我应该使用 ode45()
内部的循环来制作151值吗?
1 回答
我猜了一下,但试一试:
ode45()
希望您的匿名函数@(w,x)
在位置x
处插入函数值 . 如果TSII和TFII在写入时是表格函数值,则不会返回预期结果 .您应该使用
[interp1][1](TSII,x)
而不是TSII
之类的东西 . 你的功能应该是这样的:另请注意
.*
用于元素乘法 .