regarding the error in matlab

HI all i was trying to calculate the transfer function of an regulator i wrote below kcl nodal equations
clc;
clear;
%for test transfer function
syms s x y z G_MOTA R_OTA C_OTA s g_mbuf C_gdMN ...
C_gsMN g_mMN R_L C_L R_1 R_2 C_1 C_2 V_out V_in
S1= solve( 's*C_1*(V_in-x)+(V_in-x)/R_1=x/R_2+s*C_2*(x-z)',V_in,...
'-G_MOTA*x=y/R_OTA+s*C_OTA*y ' ,y ,...
'y*g_mbuf=g_mbuf*z+s*C_2*(z-x)+s*C_gdMN*z+s*C_gsMN*(z-V_out)' ,z ,...
'(g_mMN+s*C_gsMN)*(z-V_out)=s*C_L*V_out+V_out/R_L',V_out);
TF = (S1.V_out/S1.V_in);
H=collect(TF,s)
i am getting this below error
Struct contents reference from a non-struct array object.
Error in sym/subsref (line 881)
R_tilde = builtin('subsref',L_tilde,Idx);
Error in tranfun (line 12)
TF = (S1.V_out/S1.V_in);

 Risposta accettata

manish srivastava
manish srivastava il 5 Ott 2018

0 voti

It is working now thanks you very much

1 Commento

Stephan
Stephan il 6 Ott 2018
Glad to hear - you can accept and/or vote for helpful answers in order to help people with similar problems finding useful answers. Also this is the way how the volunteers here warm reputation.

Accedi per commentare.

Più risposte (1)

Stephan
Stephan il 2 Ott 2018
Hi,
try:
syms s x y z G_MOTA R_OTA C_OTA s g_mbuf C_gdMN ...
C_gsMN g_mMN R_L C_L R_1 R_2 C_1 C_2 V_out V_in
eqn = [s*C_1*(V_in-x)+(V_in-x)/R_1 == x/R_2+s*C_2*(x-z),...
-G_MOTA*x == y/R_OTA+s*C_OTA*y,...
y*g_mbuf == g_mbuf*z+s*C_2*(z-x)+s*C_gdMN*z+s*C_gsMN*(z-V_out),...
(g_mMN+s*C_gsMN)*(z-V_out) == s*C_L*V_out+V_out/R_L];
vars = [V_in, y, z, V_out];
S1 = solve(eqn, vars);
TF = (S1.V_out/S1.V_in);
H=collect(TF,s);

1 Commento

Torsten
Torsten il 5 Ott 2018
manish srivastava's answer moved to a comment
error gone thanks you but nothing is comming out as outputt

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by