声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 930|回复: 1

[编程技巧] 看看这个代码错在哪里?

[复制链接]
发表于 2006-10-18 13:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
% FUN2.M 带有数据集合的时变微分方程的例子
function  xdot = fun2 ( t, x, beta, omega, T, P )
pt = interp1 ( T, P, t );
xdot (2 ) = beta * x (2 ) – omega^2 * x (1) + pt ;
xdot (1 ) = x (2 );
xdot = xdot ( : );  % 使得xdot是一列
% fun2.m 结束

在MATLAB中采用如下的形式调用这个函数:
beta = .1 ;
omega = 2 ;
A = .1 ;
w0 = 1.3 ;
theta = pi /4 ;
X0 = [ 0 ;1];
t0 = 0 ;
tf = 20 ;
T = t0 – eps : 0.1 : tf + theta +eps ;
P = A.* sin(w0 .*T –theta );
[ t, y ] = ode23 ( @ fun2 , [ t0, tf ], X0, [ ], theta, omega, T, P );
plot ( t, y (:,1));
hold on;
plot(t,y(:,2),'g');

运行提示错误:
??? T = t0 – eps : .1 : tf + theta +eps ;
           |
Error: Missing variable or function.
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-10-19 09:55 | 显示全部楼层
终于有朋友给我答复了:
T = t0 – eps : 0.1 : tf + theta +eps ;
xdot (2 ) = beta * x (2 ) – omega^2 * x (1) + pt ;

两个式子的减号不对!改过来就可以了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 22:42 , Processed in 0.086771 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表