Help please, I want to avoid a warning message.

9 ビュー (過去 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 Center および File ExchangeGraphics Object Programming についてさらに検索

製品


リリース

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by