【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 11:57:11
【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4

【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4
【急】有关MATLAB的相关问题
程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:
function dx=cx3(t,x)
dx=[x(2)+sin(x(1))
x(1)-x(2)+sin(x(2))
x(4)+sin(x(3))+4.2058*(x(1)-x(3))
x(3)-x(4)+sin(x(4))+9.1945*(x(2)-x(4))]
.
tspan=[0 10];
x0=[0.01 0.02 0.01 0.01]';
[t,x]=ode15s(@cx3,tspan,x0);
e1=x(:,1)-x(:,3);
e2=x(:,2)-x(:,4);
plot(t,x(:,1),'r*',t,x(:,3),'o')
xlabel('t')
legend('x_{1}','x_{1}的估计')
figure
plot(t,e1)
xlabel('t');
ylabel('x_{1}与其估计量的误差e_{1}')
figure
plot(t,x(:,2),'r*',t,x(:,4))
xlabel('t')
legend('x_{2}','x_{2}的估计')
figure
plot(t,e2)
xlabel('t');
ylabel('x_{2}与其估计量的误差e_{2}')
错误为:
Error using ==> feval
Undefined function or method 'cx3' for input arguments of type 'double'.
Error in ==> odearguments at 111
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode15s at 228
[neq,tspan,ntspan,next,t0,tfinal,tdir,y0,f0,odeArgs,odeFcn,
...
是不是运行的环境没有设置好呢?急用~

【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4
不是环境设置问题,是你的顺序不对,把以下程序放在一个m文件中运行即可:
function [] = myhelp() %%%%% 采用子函数解决定义问题
clear;
clc;
tspan=[0 10];
x0=[0.01 0.02 0.01 0.01]';
[t,x]=ode15s(@cx3,tspan,x0);
e1=x(:,1)-x(:,3);
e2=x(:,2)-x(:,4);
plot(t,x(:,1),'r*',t,x(:,3),'o')
xlabel('t')
legend('x_{1}','x_{1}的估计')
figure
plot(t,e1)
xlabel('t');
ylabel('x_{1}与其估计量的误差e_{1}')
figure
plot(t,x(:,2),'r*',t,x(:,4))
xlabel('t')
legend('x_{2}','x_{2}的估计')
figure
plot(t,e2)
xlabel('t');
ylabel('x_{2}与其估计量的误差e_{2}')
function dx=cx3(t,x)
dx=[x(2)+sin(x(1))
x(1)-x(2)+sin(x(2))
x(4)+sin(x(3))+4.2058*(x(1)-x(3))
x(3)-x(4)+sin(x(4))+9.1945*(x(2)-x(4))]