matlab 这是一个画全维观测器的程序,错误提示为 应该怎么改啊?function dx=ax3(t,x)d
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 00:59:00
matlab
这是一个画全维观测器的程序,错误提示为
应该怎么改啊?
function dx=ax3(t,x)
dx=[x(2)
-48.6*x(1)-1.26*x(2)+48.6*x(3)+21.6*sin(x(2))
10*x(4)
1.95*x(1)-1.95*x(3)-0.333*sin(x(1))
x(6)+5.1734*(x(1)-x(5))-5.0069*(x(2)-x(6))
-48.6*x(5)-1.26*x(6)+48.6*x(7)+21.6*sin(x(6))-4.3407*(x(1)-x(5))
-4.1015*(x(2)-x(6))
10*x(8)
1.95*x(5)-1.95*x(7)-0.333*sin(x(5))+1.0759*(x(1)-x(5))+1.0166*(x(2)-x(6))]
tspan=[0 10];
x0=[1 2 1 0 1 2 0 0.5]';
[t,x]=ode15s(@ax3,tspan,x0);
e1=x(:,1)-x(:,5);
e2=x(:,2)-x(:,6);
e3=x(:,3)-x(:,7);
e4=x(:,4)-x(:,8);
plot(t,x(:,1),'r*',t,x(:,5),'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(:,6),'o')
xlabel('t')
legend('状态量x_{2}','状态量x_{2}的估计')
figure
plot(t,e2)
xlabel('t')
ylabel('状态量x_{2}与其估计量的误差e_{2}')
figure
plot(t,x(:,3),'r*',t,x(:,7),'o')
xlabel('t')
legend('状态量x_{3}','状态量x_{3}的估计')
figure
plot(t,e3)
xlabel('t');
ylabel('状态量x_{3}与其估计量的误差e_{3}')
figure
plot(t,x(:,4),'r*',t,x(:,8),'o')
xlabel('t')
legend('状态量x_{4}','状态量x_{4}的估计')
figure
plot(t,e4)
xlabel('t');
ylabel('状态量x_{4}与其估计量的误差e_{4}')
这是一个画全维观测器的程序,错误提示为
应该怎么改啊?
function dx=ax3(t,x)
dx=[x(2)
-48.6*x(1)-1.26*x(2)+48.6*x(3)+21.6*sin(x(2))
10*x(4)
1.95*x(1)-1.95*x(3)-0.333*sin(x(1))
x(6)+5.1734*(x(1)-x(5))-5.0069*(x(2)-x(6))
-48.6*x(5)-1.26*x(6)+48.6*x(7)+21.6*sin(x(6))-4.3407*(x(1)-x(5))
-4.1015*(x(2)-x(6))
10*x(8)
1.95*x(5)-1.95*x(7)-0.333*sin(x(5))+1.0759*(x(1)-x(5))+1.0166*(x(2)-x(6))]
tspan=[0 10];
x0=[1 2 1 0 1 2 0 0.5]';
[t,x]=ode15s(@ax3,tspan,x0);
e1=x(:,1)-x(:,5);
e2=x(:,2)-x(:,6);
e3=x(:,3)-x(:,7);
e4=x(:,4)-x(:,8);
plot(t,x(:,1),'r*',t,x(:,5),'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(:,6),'o')
xlabel('t')
legend('状态量x_{2}','状态量x_{2}的估计')
figure
plot(t,e2)
xlabel('t')
ylabel('状态量x_{2}与其估计量的误差e_{2}')
figure
plot(t,x(:,3),'r*',t,x(:,7),'o')
xlabel('t')
legend('状态量x_{3}','状态量x_{3}的估计')
figure
plot(t,e3)
xlabel('t');
ylabel('状态量x_{3}与其估计量的误差e_{3}')
figure
plot(t,x(:,4),'r*',t,x(:,8),'o')
xlabel('t')
legend('状态量x_{4}','状态量x_{4}的估计')
figure
plot(t,e4)
xlabel('t');
ylabel('状态量x_{4}与其估计量的误差e_{4}')
函数在此处定义无效;
注意不要直接再命令窗口中定义函数,要写成m文件.
再问: 针对这个程序 应该怎么写啊?怎么改啊?
再答: 你这只用把代码写进m文件就可以了。。。。过程如下:(或是File>>New>>Script)写好后,保存(文件名和函数名要一致);在命令窗口中调用文件名即可。给个好评呗~~
再问: 写进M文件的代码 就是这个程序的第一句吗?“function dx=ax3(t,x)” 还有 怎么调用,我不太会用matlab。 只要能运行 肯定给你好评
再答: 对啊,m文件第一句就是function dx=ax3(t,x),然后保存,文件名为ax3.m;调用时在命令窗口中调用ax3(XX,XX)
再问: 保存了,文件名也建立了,整体程序中的第一句应该是什么呢现在?
再答: 那你直接调用这个函数就可以了。。根据你的代码,传进去的参数是矩阵。。可以在命令窗口调用试一试。。
再问: 整体程序中 第一句 直接写 ax3(t,x); 吗?
再答: 嗯嗯,也可以给一个返回值,其中你的参数要已知。。matlab这个东西,你可以大胆的去尝试。。有错误matlab会有提示。。自己应该看得懂。
再问: 现在的错误是: ??? Undefined function or variable 't'.
再答: 未定义变量t;跟你说了啊,传进去的参数要是已知的。。。你自己定义一个 啊
注意不要直接再命令窗口中定义函数,要写成m文件.
再问: 针对这个程序 应该怎么写啊?怎么改啊?
再答: 你这只用把代码写进m文件就可以了。。。。过程如下:(或是File>>New>>Script)写好后,保存(文件名和函数名要一致);在命令窗口中调用文件名即可。给个好评呗~~
再问: 写进M文件的代码 就是这个程序的第一句吗?“function dx=ax3(t,x)” 还有 怎么调用,我不太会用matlab。 只要能运行 肯定给你好评
再答: 对啊,m文件第一句就是function dx=ax3(t,x),然后保存,文件名为ax3.m;调用时在命令窗口中调用ax3(XX,XX)
再问: 保存了,文件名也建立了,整体程序中的第一句应该是什么呢现在?
再答: 那你直接调用这个函数就可以了。。根据你的代码,传进去的参数是矩阵。。可以在命令窗口调用试一试。。
再问: 整体程序中 第一句 直接写 ax3(t,x); 吗?
再答: 嗯嗯,也可以给一个返回值,其中你的参数要已知。。matlab这个东西,你可以大胆的去尝试。。有错误matlab会有提示。。自己应该看得懂。
再问: 现在的错误是: ??? Undefined function or variable 't'.
再答: 未定义变量t;跟你说了啊,传进去的参数要是已知的。。。你自己定义一个 啊
matlab 这是一个画全维观测器的程序,错误提示为 应该怎么改啊?function dx=ax3(t,x)d
matlab求大神想写一个把厘米转换为feet和inch的程序function[Feet,Inch]=CMtoFeetI
matlab,中,一个函数f=x^2+1,怎么表示,是函数,function定义的函数
matlab曲线拟合程序,下面的程序总是 提示错误是Error in ==> dpoly at 4 p=polyfit(
matlab程序找错 显示的是function那行有错
C语言用牛顿迭代法球X的平方根 程序错误怎么改啊
求MATLAB高手帮忙改下程序,我的有错误啊,像画三条曲线出来的
Matlab的一段程序中有这一句“y=x+2*randn(1,length(t))”怎么解释?
这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数
f(x)=ax3+bx2+cx+d(a>0)为增函数,则b,c满足的条件是?
一)若f(x)=ax3+bc2+cx+d(a>0)为增函数则abc的关系是
MATLAB中函数function是怎么用的?