Help please, I want to avoid a warning message.

조회 수: 21 (최근 30일)
T Hafid
T Hafid 2022년 5월 16일
댓글: T Hafid 2022년 5월 16일
The following Matlab script produce a correct result but with a long warning red text:
-----------------------------------------
% Problem_B_7_3_Modern_Control_Engineering_Katsuhiko_Ogata
clear all
clc
fprintf(' \n')
fprintf('--------------------- \n')
fprintf('Transfer functions \n')
nG1=[1,1]; dG1=[2,1];
G1=tf(nG1,dG1)
nG2=[-1,1]; dG2=[2,1];
G2=tf(nG2,dG2)
fprintf('--------------------- \n')
fprintf('Figure 1 : Body Diagrams \n')
figure(1)
subplot(1,2,1)
bode(G1)
grid on
% From here the problem start
syms s
G1_sym = poly2sym(nG1,s)/poly2sym(dG1,s);
G1_latex = latex(G1_sym);
str1=['$ \it {G1(s)=',char(G1_latex),' } \quad $'];
title(str1,'Interpreter','latex','Fontsize',14)
subplot(1,2,2)
bode(G2)
grid on
G2_sym = poly2sym(nG2,s)/poly2sym(dG2,s);
G2_latex = latex(G2_sym);
str2=['$ \it {G2(s)=',char(G2_latex),' } \quad $'];
title(str2,'Interpreter','latex','Fontsize',14)
fprintf('--------------------- \n')
--------------------------------------------
How can I avoid the warning message, please.
  댓글 수: 2
Star Strider
Star Strider 2022년 5월 16일
What error does it throw?
It runs without error in R2022a
fprintf(' \n')
fprintf('--------------------- \n')
---------------------
fprintf('Transfer functions \n')
Transfer functions
nG1=[1,1]; dG1=[2,1];
G1=tf(nG1,dG1)
G1 = s + 1 ------- 2 s + 1 Continuous-time transfer function.
nG2=[-1,1]; dG2=[2,1];
G2=tf(nG2,dG2)
G2 = -s + 1 ------- 2 s + 1 Continuous-time transfer function.
fprintf('--------------------- \n')
---------------------
fprintf('Figure 1 : Body Diagrams \n')
Figure 1 : Body Diagrams
figure(1)
subplot(1,2,1)
bode(G1)
grid on
% From here the problem start
syms s
G1_sym = poly2sym(nG1,s)/poly2sym(dG1,s);
G1_latex = latex(G1_sym);
str1=['$ \it {G1(s)=',char(G1_latex),' } \quad $'];
title(str1,'Interpreter','latex','Fontsize',14)
subplot(1,2,2)
bode(G2)
grid on
G2_sym = poly2sym(nG2,s)/poly2sym(dG2,s);
G2_latex = latex(G2_sym);
str2=['$ \it {G2(s)=',char(G2_latex),' } \quad $'];
title(str2,'Interpreter','latex','Fontsize',14)
fprintf('--------------------- \n')
---------------------
% --------------------------------------------
.
Star Strider
Star Strider 2022년 5월 16일
This:
text(0.2, 0.5, ['$ \it {G1(s)=\frac{\frac{s}{2} + \frac{1}{2}}{s + \frac{1}{2}} } \quad $'], 'Interpreter','latex', 'FontSize',30)
runs without error in R2022a.
I no longer have access to R2015a, so I cannot determine what the problem is with that version.
Be sure you have all the available R2015a updates.

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

채택된 답변

Image Analyst
Image Analyst 2022년 5월 16일
Not sure what "avoid" means, like whether to correct the code so that no warning would be generated, or to leave the code alone but just not have the warning appear in the command window (it would still be generated but just not appear).
For the second, see attached function to suppress various warning messages. There are instructions in there for how to get the code to suppress the particular warning message that you don't want to see.
  댓글 수: 2
T Hafid
T Hafid 2022년 5월 16일
I really meant to avoid that long warning message on the screen because basically the result is still correct. Clearly if there is an error in the script, I would like to know about it to avoid it in the future.
Image Analyst
Image Analyst 2022년 5월 16일
편집: Image Analyst 2022년 5월 16일
Then my code will do what you want. Follow the directions in the comments to get the error name for your particular error. Sorry I can't do it for you but I don't have the Symbolic Toolbox.
I didn't examine your code for errors. I don't have the Symbolic Toolbox so I can't. But if the problem is minor, it will throw a "warning" in orange text and continue on. That sounds like what is happening with you. If there is a serious problem then it will throw an error in red text and stop because it's impossible for it to continue for some reason. You'll have to fix errors in order to run the code at all. Whether you fix code that causes a warning is up to you, since it still runs. It's optional but not a bad idea.

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

추가 답변 (2개)

T Hafid
T Hafid 2022년 5월 16일
Warning: Error updating Text.
String must have valid interpreter syntax:
$ \it {G1(s)=\frac{\frac{s}{2} + \frac{1}{2}}{s + \frac{1}{2}} } \quad $
> In defaulterrorcallback (line 12)
In ctrluis.axesgrid/labelpos (line 26)
In ctrluis.axesgrid/setlabels (line 72)
In ctrluis.axesgroup/addbypass>localTitle (line 24)
In mwbypass (line 17)
In title (line 36)
In Problem_B_7_3_Modern_Control_Engineering_Katsuhiko_Ogata (line 25)
Warning: Error updating Text.
String must have valid interpreter syntax:
$ \it {G1(s)=\frac{\frac{s}{2} + \frac{1}{2}}{s + \frac{1}{2}} } \quad $
> In defaulterrorcallback (line 12)
In ctrluis.axesgrid/labelpos (line 26)
In ctrluis.axesgrid/setlabels (line 72)
In ctrluis.axesgroup/generic_listeners>LocalSetLabelStyle (line 73)
In ctrluis.labelstyle>LocalUpdateStyle (line 33)
In ctrluis.axesgroup/addbypass>localSyncLabel (line 128)
In ctrluis.axesgroup/addbypass>localTitle (line 29)
In mwbypass (line 17)
In title (line 36)
In Problem_B_7_3_Modern_Control_Engineering_Katsuhiko_Ogata (line 25)
Warning: Error updating Text.
String must have valid interpreter syntax:
$ \it {G2(s)=-\frac{\frac{s}{2} - \frac{1}{2}}{s + \frac{1}{2}} } \quad $
> In defaulterrorcallback (line 12)
In ctrluis.axesgrid/labelpos (line 26)
In ctrluis.axesgrid/setlabels (line 72)
In ctrluis.axesgroup/addbypass>localTitle (line 24)
In mwbypass (line 17)
In title (line 36)
In Problem_B_7_3_Modern_Control_Engineering_Katsuhiko_Ogata (line 34)
Warning: Error updating Text.
String must have valid interpreter syntax:
$ \it {G2(s)=-\frac{\frac{s}{2} - \frac{1}{2}}{s + \frac{1}{2}} } \quad $
> In defaulterrorcallback (line 12)
In ctrluis.axesgrid/labelpos (line 26)
In ctrluis.axesgrid/setlabels (line 72)
In ctrluis.axesgroup/generic_listeners>LocalSetLabelStyle (line 73)
In ctrluis.labelstyle>LocalUpdateStyle (line 33)
In ctrluis.axesgroup/addbypass>localSyncLabel (line 128)
In ctrluis.axesgroup/addbypass>localTitle (line 29)
In mwbypass (line 17)
In title (line 36)
In Problem_B_7_3_Modern_Control_Engineering_Katsuhiko_Ogata (line 34)

Walter Roberson
Walter Roberson 2022년 5월 16일
Upgrade your release. That title is fine in current releases.
Question: why are you using \quad there? Why add space at the end of the title?

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

제품


릴리스

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by