【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 01:24:33
![【急】有关MATLAB的相关问题程序非常简短和简单,而且在别的电脑上能运行,为什么换个电脑(MATLAB版本也不一样了),就不能运行了呢?程序如下:function dx=cx3(t,x)dx=[x(2)+sin(x(1))x(1)-x(2)+sin(x(2))x(4](/uploads/image/z/8799515-35-5.jpg?t=%E3%80%90%E6%80%A5%E3%80%91%E6%9C%89%E5%85%B3MATLAB%E7%9A%84%E7%9B%B8%E5%85%B3%E9%97%AE%E9%A2%98%E7%A8%8B%E5%BA%8F%E9%9D%9E%E5%B8%B8%E7%AE%80%E7%9F%AD%E5%92%8C%E7%AE%80%E5%8D%95%2C%E8%80%8C%E4%B8%94%E5%9C%A8%E5%88%AB%E7%9A%84%E7%94%B5%E8%84%91%E4%B8%8A%E8%83%BD%E8%BF%90%E8%A1%8C%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%8D%A2%E4%B8%AA%E7%94%B5%E8%84%91%EF%BC%88MATLAB%E7%89%88%E6%9C%AC%E4%B9%9F%E4%B8%8D%E4%B8%80%E6%A0%B7%E4%BA%86%EF%BC%89%2C%E5%B0%B1%E4%B8%8D%E8%83%BD%E8%BF%90%E8%A1%8C%E4%BA%86%E5%91%A2%3F%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8B%EF%BC%9Afunction+dx%3Dcx3%28t%2Cx%29dx%3D%5Bx%282%29%2Bsin%28x%281%29%29x%281%29-x%282%29%2Bsin%28x%282%29%29x%284)
【急】有关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))]