How to achieve the unification of addition and multiplication in state space models

조회 수: 1 (최근 30일)
for example,sys=1/(s+1),I have a test,sys1+sys1=2s/(s^2+2s+1),but 2*sys=2/(s+1),so which I should choose? and now I want to calculate 1/2 *sys,maybe a fraction 1.5,hope to get your help :)
  댓글 수: 1
kang
kang 2024년 11월 30일
I am sorry that I make a mistake that sys1+sys2=(2s+2)/(s^2+2s+1).it seems that it's same as 2*sys,but its (sys1+sys2).a is 2*2,it means that (2s+2)/(s^2+2s+1) is different from 2/s+1 with system.A .

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

채택된 답변

Pavl M.
Pavl M. 2024년 11월 30일
편집: Pavl M. 2024년 11월 30일
clc
clear all
close all
%Algebraic help:
%sys = 1/(s+1)
%2s/(s^2+2*s+1) = 2*s/(s+1)(s+1) = s/(s+1)(s+1) + s/(s+1)s+1)
%(2*s+2)/(s^2+2*s+1) = 2*(s+1)/(s+1)(s+1) = 2/(s+1)
%You need to show that (2*s+2)/(s^2+2*s+1) = 2*sys
num1 = 1;
den1 = [1,2];
sys1 = tf(num1,den1)
sys1 = 1 ----- s + 2 Continuous-time transfer function.
sys1 = tf(num1, den1)
sys1 = 1 ----- s + 2 Continuous-time transfer function.
sys2 = 2*sys1
sys2 = 2 ----- s + 2 Continuous-time transfer function.
sys2 = tf(2*num1,den1)
sys2 = 2 ----- s + 2 Continuous-time transfer function.
num3 = [2 2]
num3 = 1×2
2 2
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
den3 = [1 2 1]
den3 = 1×3
1 2 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
sys3 = tf(num3,den3)
sys3 = 2 s + 2 ------------- s^2 + 2 s + 1 Continuous-time transfer function.
minreal(sys3)
ans = 2 ----- s + 1 Continuous-time transfer function.
s = tf( 's' )
s = s Continuous-time transfer function.
sys4 = 2/(s+1)
sys4 = 2 ----- s + 1 Continuous-time transfer function.
sys5 = (2*s+2)/(s^2+2*s+1)
sys5 = 2 s + 2 ------------- s^2 + 2 s + 1 Continuous-time transfer function.
sys4.numerator
ans = 1x1 cell array
{[0 2]}
sys4.denominator
ans = 1x1 cell array
{[1 1]}
sys6 = minreal(sys4)
sys6 = 2 ----- s + 1 Continuous-time transfer function.
if norm(sys4 - sys6,inf) == 0
display('Transfer functions are equal')
else
tf(zpk(sys4)) - tf(zpk(sys6))
sys4/sys6
disp('They differ')
end
Transfer functions are equal
%if all(cell2mat(sys6.numerator) == cell2mat(sys4.numerator)) && all(cell2mat(sys6.denominator) == cellmat(sys4.denominator))
% display('OK')
%end
%Constructed by
%https://independent.academia.edu/PMazniker
%+380990535261, https://join.skype.com/invite/oXnJhbgys7oW
%https://diag.net/u/u6r3ondjie0w0l8138bafm095b
%https://github.com/goodengineer
%https://orcid.org/0000-0001-8184-8166
%https://willwork781147312.wordpress.com/portfolio/cp/
%https://www.youtube.com/channel/UCC__7jMOAHak0MVkUFtmO-w
%https://nanohub.org/members/130066
%https://pangian.com/user/hiretoserve/
%https://substack.com/profile/191772642-paul-m
%kindly accept my the answer-solution.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Stability Analysis에 대해 자세히 알아보기

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by