Matlab中无法识别的函数或变量

插口

我正在尝试绘制一阶微分方程组的三维相图,但是我收到一条错误消息,说我有一个无法识别的变量eta。除了三维相图外,我还想在同一张图上绘制x(1)与t,x(2)与t,x(3)与t的关系图。我已经注释掉了该plot命令,因为我确定我错了。因此,我希望在同一张图上绘制(i)3D相像和(ii)x(1),x(2)和x(3)的时间图。另外,在ode45的参数中看到的[-0.015,0.015],[-2,2],[-4,4]是x(1),x(2)和x(3 )。我什至不确定是否应该在此处放置轴限制。有人可以帮忙吗?谢谢。

[t,x] = ode45(@eqx3, eta, omega, [-0.015,0.015], [-2,2], [-4,4], initcond);
global eta omega
eta = 0.05;
omega = 25;
%tspan = [0,50]
initcond = [1, 0.5, -0.4]


%subplot(211)
%plot(t, x(:,1), t,x(:,2),'--',x(:,3),'--');
%xlabel('t')

subplot(212)
plot(x(:,1), x(:,2), x(:,3))
xlabel('x1')
ylabel('x2')
zlabel('x3')

function xdot = eqx3(t,x,eta,omega)
  global eta omega
  xdot = zeros(3,1);
  xdot(1) = -(2*eta*omega + 1)*x(1) + x(2) - 1;
  xdot(2) = -(2*eta*omega + (omega^2))*x(1) + x(3) + 2;
  xdot(3) = -(omega^2)*x(1) + x(2) - 1;
  %xdot =[xdot(1);xdot(2);xdot(3)];
end
卡夫卡

您的代码需要一些清理

  • 删除全局变量,
  • 在使用变量之前先定义变量,
  • 将正确的参数传递给ODE方程。
  • 使用匿名函数@(t,x) eqx3(t,x,eta, omega)将ODE参数与该函数打包在一起,
  • 使用plot3的相图的绘制3D。

这是我想出的结果:

eta = 0.05;
omega = 25;
tspan = [0,50];
initcond = [1, 0.5, -0.4]
[t,x] = ode45(@(t,x) eqx3(t,x,eta, omega), tspan, initcond);

plot3(x(:,1), x(:,2), x(:,3))
xlabel('x1')
ylabel('x2')
zlabel('x3')

function xdot = eqx3(t,x,eta,omega)
  xdot = zeros(3,1);
  xdot(1) = -(2*eta*omega + 1)*x(1) + x(2) - 1;
  xdot(2) = -(2*eta*omega + (omega^2))*x(1) + x(3) + 2;
  xdot(3) = -(omega^2)*x(1) + x(2) - 1;
end

产生

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法识别的作者

来自分类Dev

grep中的“'\ w'是无法识别的转义”

来自分类Dev

无法识别的继承函数

来自分类Dev

使用MATLAB2013a的mex无法识别的开关:-o

来自分类Dev

NSObject的子类中无法识别的CGRect

来自分类Dev

phpmyadmin中无法识别的ON DUPLICATE KEY

来自分类Dev

在R中打印无法识别的转义('\ *')

来自分类Dev

函数无法识别初始化变量

来自分类Dev

Powershell中无法识别的令牌错误

来自分类Dev

无法识别内部函数变量

来自分类Dev

在Matlab上的每次迭代中存储错误的问题-“无法识别的变量”

来自分类Dev

Matlab'FrequencyRange'上的stft函数无法识别

来自分类Dev

MATLAB bar()错误:'带有自定义变量名称的无法识别的选项“ var”

来自分类Dev

Ruby中的Rescue无法识别的变量

来自分类Dev

无法识别的情况

来自分类Dev

Firefox无法识别定义的变量函数

来自分类Dev

无法识别的继承函数

来自分类Dev

.then中的函数无法识别参数

来自分类Dev

laravel函数无法识别变量

来自分类Dev

无法安装Solaris 11.1中无法识别的分区

来自分类Dev

基础中无法识别的表达

来自分类Dev

在Unity中无法识别的触摸

来自分类Dev

函数无法识别初始化变量

来自分类Dev

Powershell中无法识别的令牌错误

来自分类Dev

Python-使用无法识别的参数创建函数

来自分类Dev

函数无法识别变量

来自分类Dev

通配符表中无法识别的列

来自分类Dev

mongodb:Docker 中无法识别的服务

来自分类Dev

javascript - 回调中无法识别的函数