MATLAB能不能直接运用lqr函数
A=[0,1,0,0;0,0,0,0;0,0,0,1;0,0,29.4,0];B=[0;1;0;3];C=[1,0,0,0;0,0,1,0];D=0;Q=[1,0,0,0...
A=[0,1,0,0;0,0,0,0;0,0,0,1;0,0,29.4,0];
B=[0;1;0;3];
C=[1,0,0,0;0,0,1,0];
D=0;
Q=[1,0,0,0;0,0,0,0;0,0,1,0;0,0,0,0];
R=1;
K=lqr(A,B,Q,R);
以前能运行 现在突然不能运行了 换了三个版本了 都不行 语句好像没出问题啊 展开
B=[0;1;0;3];
C=[1,0,0,0;0,0,1,0];
D=0;
Q=[1,0,0,0;0,0,0,0;0,0,1,0;0,0,0,0];
R=1;
K=lqr(A,B,Q,R);
以前能运行 现在突然不能运行了 换了三个版本了 都不行 语句好像没出问题啊 展开
2个回答
展开全部
可以运行,没问题。
题主说不能运行,有什么提示?
这段代码运行之后只是产生一些变量,没有输出。
运行后的结果:
>> whos
Name Size Bytes Class Attributes
A 4x4 128 double
B 4x1 32 double
C 2x4 64 double
D 1x1 8 double
K 1x4 32 double
Q 4x4 128 double
R 1x1 8 double
追问
尝试将 SCRIPT lqr 作为函数执行:
C:\Users\Administrator\Documents\MATLAB\lqr.m
出错 Un (line 7)
K=lqr(A,B,Q,R)
我一直显示这里错误啊
你求出的K值是怎么样的 方便留个QQ吗
追答
原因是你把这段代码保存成lqr.m了,会遮盖系统的lqr函数。
把文件改名即可。
求出的K值:
>> K
K =
-1.0000 -1.7855 25.4220 4.6849
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询