필터 지우기
필터 지우기

how to use lsim command in matlab ?

조회 수: 8 (최근 30일)
Aniket
Aniket 2013년 3월 21일
hello
i want to use lsim command to plot graph for system , i have read help but not getting proper idea
here is my code
***********************
clear all; clc; close all
load sec_sumsin_ABCDmatrix.mat % data As,Bs,Cs,Ds
syss=ss(As,Bs,Cs,Ds,0.001);
syssc=d2c(syss,'tustin');
[Asc,Bsc,Csc,Dsc]=ssdata(syssc);
nx=10; % states
ny=1; % output
nu=1; % input
M=diag([1.8108e0*ones(1,ny)]); %3.3058e-4];
QX=Csc'*M*Csc;
f=zeros(nx,1);
g=zeros(1,nx);
QU=diag([3.9805e-8*ones(1,nu)]);
QXU=[QX f;g QU];
n=randn(11,11)
KlQG=lqg(syssc,QXU,n)
[aa,bb,cc,dd]=ssdata(KlQG)
KlQG.InputName = 'q'; KlQG.OutputNmae = 'u';
syssc.InputName = 'u'; syssc.Outputname = 'y';
sum = sumblk('q = n + y');
sysc = connect(syssc,sum,KlQG,'n','y')
******************************************
in the figure shown (n) is noise added at output side of plant and measure output is (q) and i want to use lsim command to plot results from noise to measure output , how should i do this ?

채택된 답변

Arkadiy Turevskiy
Arkadiy Turevskiy 2013년 3월 21일
Is the code you provided giving you an error? Once you build your transfer function from n to y, you should be able to simulate it with lsim:
t = 0:0.01:5;
u = sin(t);
lsim(sysc,u,t);
  댓글 수: 3
Arkadiy Turevskiy
Arkadiy Turevskiy 2013년 3월 21일
Sorry, I did not read your initial question carefully: you want response to the measured output, with noise included. In that case you simply do:
sysc = connect(syssc,sum,KlQG,'n','q');
% transfer function from noise to measured output
t = 0:0.01:5;
n = sin(t); %replace with desired input
lsim(sysc,n,t);
Aniket
Aniket 2013년 3월 21일
Thank You
Could I send you email if i have a doubts because this area is new for me

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Time and Frequency Domain Analysis에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by