I am trying to figure out Matlab. Tried the cmd shown in the attachment, get different response(see attachment)

5 commentaires

dpb
dpb le 20 Fév 2025
Include the code as text, not images...
Ken
Ken le 20 Fév 2025
Déplacé(e) : dpb le 20 Fév 2025
A=[-.01 .1 0 32.2;-0.4 -.8 180 0;0 -.003 -.5 0;0 0 1 0]
B=[0 -10 -2.8 0]'
P=ctrb(A,B)
P=poly(P)
A=[-.01 .1 0 32.2;-0.4 -.8 180 0;0 -.003 -.5 0;0 0 1 0]
A = 4×4
-0.0100 0.1000 0 32.2000 -0.4000 -0.8000 180.0000 0 0 -0.0030 -0.5000 0 0 0 1.0000 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
B=[0 -10 -2.8 0]'
B = 4×1
0 -10.0000 -2.8000 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
P=ctrb(A,B)
P = 4×4
0 -1.0000 -139.7500 112.9035 -10.0000 -496.0000 654.6000 -328.6400 -2.8000 1.4300 0.7730 -2.3503 0 -2.8000 1.4300 0.7730
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
P=poly(P)
P = 1×5
1.0e+05 * 0.0000 0.0049 -0.0302 -2.0054 1.5469
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
So, how do you get a different result?
A1=[-.01 .1 0 32.2;-0.4 -.8 180 0;0 -.003 -.5 0;0 0 1 0];
B1=[0 -10 -2.8 0]';
P1=ctrb(A,B);
P1=poly(P1);
all(P1==P)
ans = logical
1
Provided code doesn't produce different results for the same inputs...
Ken
Ken le 20 Fév 2025
The original post showed 2 images of the 2 separate cmds used with the resultswhich are quite different, cannot dig why they are different
Voss
Voss le 20 Fév 2025
@Ken: What are the different results/responses you see? Only one of your screenshots shows a result in the command window, which is the result of P=poly(P), a command which does not appear in the other screenshot.

Connectez-vous pour commenter.

 Réponse acceptée

Ken
Ken le 21 Fév 2025

0 votes

As mentioned earlier, I am trying to get familiar with MATLAB in aircraft controls. Focus now is Matlab. I saw a presentation with Matlab code which I posted a screenshot of. (I also posted my code to compare). Tried to duplicate the code but do not get the result shown in the Matlab window of the screenshot. Trying to figure out if something missing on my end.

1 commentaire

Sam Chak
Sam Chak le 21 Fév 2025
Hi @Ken,
Thank you for your response. One plausible explanation for the differing results is that your Aircraft Control Professor may have used functions from a decade-old version of MATLAB and the Control System Toolbox. Most professors I know do not frequently update their lecture slides. Therefore, if you are using more recent versions of MATLAB and the Control System Toolbox, you are likely obtaining different results.
The best approach would be to post the Control Problem Example from the lecture slides so that we can verify which result is correct or more accurate. In some rare cases, bugs can occur after MATLAB is updated.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 20 Fév 2025

1 vote

A=[-.01 .1 0 32.2;-0.4 -.8 180 0;0 -.003 -.5 0;0 0 1 0]
Your screen image shows you using -32.2 rather than 32.2

4 commentaires

Ken
Ken le 20 Fév 2025
Thanks. The issue here is that the answers to the 2 codes posted in the 2 images of my first post (which shows the 2 images) is different. Both show -32.2 yet answer is different
dpb
dpb le 20 Fév 2025
Again, post THE EXACT CODE as text that you ran that shows the differing results; trying to do something with images is futile...and my aging eyes couldn't see the difference Walter spotted (although he's not that much younger than I... <vbg>)
If this happens, you should be able to execute the code here and have it spit out the different results.
It's virtually a certainty that the issue is something like what Walter saw, but it's not provable without the actual code/data.
Ken
Ken le 20 Fév 2025
I am trying to compare my code with one at a presentation of which I do not have the code in text. I thought ctrb gives the matrix and poly gives the polynomial of that matrix equation.
Sam Chak
Sam Chak le 20 Fév 2025
Hi Mr. @Ken
I noticed from your screenshots that your issue pertains to the controller design problem. Would you please describe the original control problem so that we can understand the full context that led to the 'cmd' issue?

Connectez-vous pour commenter.

Catégories

Produits

Tags

Question posée :

Ken
le 20 Fév 2025

Commenté :

le 21 Fév 2025

Community Treasure Hunt

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

Start Hunting!

Translated by