主要内容

搜索


This is the 5th installment of the wish-list and bug report thread.
This topic is the follow on to the first Wish-list for MATLAB Answer sections and second MATLAB Answers Wish-list #2 (and bug reports). The third started out as New design of the forum - grey on white and the fourth MATLAB Answers Wish-list #4 (and bug reports) is also growing so large it is slow to load and navigate.
Same idea as the previous ones: one wish (or bug report) per answer, so that people can vote their wishes.
What should you post where?
Wishlist threads (#1 #2 #3 #4 #5 #6): bugs and feature requests for Matlab Answers
Frustation threads (#1 #2): frustations about usage and capabilities of Matlab itself
Missing feature threads (#1 #2): features that you whish Matlab would have had
Next Gen threads (#1): features that would break compatibility with previous versions, but would be nice to have
@anyone posting a new thread when the last one gets too large (about 50 answers seems a reasonable limit per thread), please update this list in all last threads. (if you don't have editing privileges, just post a comment asking someone to do the edit)

i am confused about how to run as a closed loop. how to do closed-loop control of phase shift using matlab. i am using c2000 embedded by Matlab.

Bonjour A tous,

Je vous écris pour solliciter votre aide si possible. Je travaille en ce moment sur un projet qui consiste a un traitement d'image.

J'utilise une camera thermique associée a une logiciel. Avec ce logiciel, j'enregistre une film de 4 secondes. En gros j'ai une vidéo constituée de 100 images.

Une image comprend 90 pixels donc les valeurs de ces pixels sont reparties en sous forme matricielle (10x9). Ce qui fait que pour les 100 images, j'ai 100 matrices.

L’idée c'est d'avoir une image moyenne donc une moyenne des 100 matrices.

Le problème c'est que je fais le traitement avec ce logiciel. Pour la suite des travaux j'utilise matlab.

J'ai donc besoin de créer un programme sous matlab qui me permet de lire le fichier recueilli par ce logiciel de traitement d'image en me refaisant sortir de façon automatique une moyenne de ces 100 matrices.

Je vous joins en copie un exemple de ce fichier.

J'ai donc besoin de piste pour le programmer.

Je vous remercie d'avance.

Bien cordialement,

Hi, In my circuit, I have an element for which I don't have its equivalent circuit. What I have is a lookup table of its frequency response (magnitude and phase), which is complicated and cannot be represented by a lumped parameters equivalent circuit, and also some of its elements are frequency-dependent. Even if I do obtain somehow its transfer function Laplace representation (using e.g. "System identification" toolbox, and I want to add it to my circuit simulation (Simscape Electrical) as a block.

Does anyone have an idea how to do it? Thank you!

We've been hearing from more and more customers who are interested in using Xilinx's new Zynq UltraScale+ devices in power electronics control applications. The attraction appears to be the dual-core ARM Cortex-R5 processors, which are well suited to hard real time applications. Are you looking at Zynq UltraScale+ MPSoCs as a platform for power electronics control? If so, we'd love to hear from you as we look at support for these devices.

In the meantime, MathWorks offers a reference design example for FOC motor control on Zynq-7000 devices that many customers have used as a basis for developing Simulink models for C and HDL code generation.

Hi guys could u guys please help me explain what is happening on this 3 graphs. I am an electrical student and just to be honest i am not a smart student but I'm willing to learn. Please do help me.Ive got my simulation i managed to generate perfect sin wave but i just couldn't explain on the graphs i simulated.

With the need for higher sampling frequencies, power electronics control engineers are moving some of their controller implementations to FPGAs or FPGA-based SoCs. Besides the use of wide-band gap semiconductors (GaN and SiC), what other reasons are driving the need for higher controller sampling frequencies? Let us know your thoughts.

If you have not seen this yet, in Release 2018b we added several examples to Simulink Control Design that show how to use this product to tune the gains of field-oriented controllers.

The first two examples make use of Closed-Loop PID Autotuner block . We show how to use this block to tune multiple loops in the motor control system, one loop at a time.

One of the examples shows tuning the controller gains for a PMSM:

Tune Field-Oriented Controllers Using Closed-Loop PID Autotuner Block

The other example shows how to tune four loops for an asynchronous machine (inductance motor):

Tune Field-Oriented Controllers for an Asynchronous Machine Using Closed-Loop PID Autotuner Block

This approach works well when you have initial gains that provide stable response, and you want to fine tune the controller to improve performance.

What do you do when you start with a new design and need to design your controller from scratch? That is what the third example is showing. Here we design all 3 loops (id, iq, speed) for a PMSM by running an AC sweep to compute a frequency response, then identifying a state-space model using System Identification Toolbox, and finally tuning all 3 loops simultaneously to provide desired performance.

Check it out here:

Tune Field-Oriented Controllers Using SYSTUNE

What do you think about these examples?

Share your opinion.

Arkadiy

Dear Sir or Madam
I tried to solve the cody-problem namend in the title.
Could you pleas tell me how I should name the vektor/variable in which it should be presentet?
Thank you for helping me.
Yours faithfully
Jann Borlinghaus
Dear MATLAB community,
How can I help my close friend who's bad at math and programming learn MATLAB?
He's a final year chemical engineering student who struggles even to plot two functions on the same graph in his computational fluid dynamics class (there was no prereq for matlab skills).
In his first year, I saw him get dragged through the introductory engineering classes which was his first encounter with MATLAB. Students were taught a few rudimentary programming skills and then were expected to make a code for a 'simple' tic-tac-toe game. It took him hours of blank looks and tutoring to even understand the simplest of boolean operators. He was never able to write a working function without the supervision of a friend or tutor. Needless to say, he was permanently scarred by the experience and swore to avoid using it forever.
After 3 years of avoiding MATLAB, he realised how not knowing it hurt him during his final year project. He had to solve a system of pdes to model the performance of a reactor and practically speaking, MATLAB was the most suitable software at hand. He ended up having to get a friend to help him code the equations in while also having to oversimplify his model.
The weird thing is that: most students from his chemical engineering faculty were not expected or encouraged to use MATLAB, almost all of their prior assignments required no use of MATLAB except that infamous first year course, and most of his peers also avoided using MATLAB and resorted to Excel. It is my understanding that Excel cannot match MATLAB's efficiency and clarity when solving calculus problems so it was not uncommon to see extremely long Excel spreadsheets.
Anyway, my friend is, with the help of a friend's past year MATLAB codes, trying to finish up his computational fluid dynamics assignment that's due soon. He finishes university in 2 weeks time.
Even though he knows that not every engineer has to use MATLAB in the workplace, he somehow wishes he was able to learn MATLAB at his glacial pace. I find it such a pity that he was never able to keep up with the pace of learning that was expected which begs the question: are students who are too slow at learning programming better of in a different field of study?
If you've managed to read to the end of this, thank you so much. I just don't know how to help my friend and I'm hoping some of you might be able to suggest how I can help him be better at it. I believe he has potential but needs special help when it comes to MATLAB.
All helpful and constructive suggestions considered,
Thank You All
I wrote a Cody problem, but I want to prevent people from using tricks to get a false "best" solution.
For example, many people do something like the following:
regexp '' '(?@"CODE HERE)';
in order to get the size of their program down to something quite small. I want to prevent this. I have seen people using some weird tests to try to block this, but I don't know how they work and when I try to copy them they fail.

Hi there! This is kind of an unusual question, but here it goes. I am a big time Matlab enthusiast and I met some of your representatives at Formula Student Germany back in August. There was a booth were your product was showcased but most importantly there was Matlab merchandise such as stickers, rub-on-tattoos and pens with the mathworks logo being handed out. This merchandise is increadibly popular with me and my nerdy friends. But sadly I didnt bring much with me from the event. Is it possible to get ahold some of it? Is it for sale? Are you willing to sponsor some geeky engineering students?

Would it make sense that, in order to enhance coding experience with practice exercises, each section of the Matlab Academy courses reference specific CODY problems related to that section so the CODY problems can be used in parallel with the structure of the Matlab Academy courses?
I am new in MATLAB programming. I want to learn matlab . I want to know about is any matlab or simulink contest available. Please answer me. Thanks
I started with Cody today and I found the file calculateSize.m https://de.mathworks.com/matlabcentral/fileexchange/34754-calculate-size which should determine the size of my solution. Unfortunately I do not get it to run. Can someone explain this to me or maybe explain how exactly the size of the solution is calculated?
Summary:
Dynamically accessing variable names can negatively impact the readability of your code and can cause it to run slower by preventing MATLAB from optimizing it as well as it could if you used alternate techniques. The most common alternative is to use simple and efficient indexing.
Explanation:
Sometimes beginners (and some self-taught professors) think it would be a good idea to dynamically create or access variable names, the variables are often named something like these:
  • matrix1, matrix2, matrix3, matrix4, ...
  • test_20kmh, test_50kmh, test_80kmh, ...
  • nameA, nameB, nameC, nameD,...
Good reasons why dynamic variable names should be avoided:
There are much better alternatives to accessing dynamic variable names:
Note that avoiding eval (and assignin, etc.) is not some esoteric MATLAB restriction, it also applies to many other programming languages as well:
MATLAB Documentation:
If you are not interested in reading the answers below then at least read MATLAB's own documentation on this topic Alternatives to the eval Function, which states "A frequent use of the eval function is to create sets of variables such as A1, A2, ..., An, but this approach does not use the array processing power of MATLAB and is not recommended. The preferred method is to store related data in a single array." Data in a single array can be accessed very efficiently using indexing.
Note that all of these problems and disadvantages also apply to functions load (without an output variable), assignin, evalin, and evalc, and the MATLAB documentation explicitly recommends to "Avoid functions such as eval, evalc, evalin, and feval(fname)".
The official MATLAB blogs explain why eval should be avoided, the better alternatives to eval, and clearly recommend against magically creating variables. Using eval comes out at position number one on this list of Top 10 MATLAB Code Practices That Make Me Cry. Experienced MATLAB users recommend avoiding using eval for trivial code, and have written extensively on this topic.
Gregory
Gregory
上次活动时间: 2017-6-13

Something seems to either have changed with webread/urlread behavior with R2016a or the Cody site has changed its authentication after it's September 2016 upgrade. Now, when ever I make a call using either webread (with weboptions) urlread using "My Cody" url, I get the html that corresponds to an unauthenticated user.
I've tried passing credentials using weboption and also cached the credentials using the built in Matlab browser - neither helped in seeing the authenticated version of this page.
Any help in understanding where the problem/solution lies would be helpful. Easily reproduced by running...
URL = 'https://www.mathworks.com/matlabcentral/cody/players/1261697-gregory/solved';
[Contents Status] = urlread(URL);
Compare this to the source pulled down when authenticated with Chrome (for example, search for the work "two"). FYI: this has worked for a couple of years up until now...
Inspired by Chad Greene's " MATLAB jokes or puns " thread, and in celebration of 15 years of the MathWorks Community site, does anyone out there want to share their poetic creativity? Limericks, haiku, sonnets... Go!
And to start off, my (slightly off-topic) submission on Chad's thread:
There was an old math guy called Cleve
who, while teaching, a pipe-dream conceived:
of a language so clean
you can say what you mean!
From our suffering we've all been relieved.
O45
O45
上次活动时间: 2018-10-23

Hi, I am uploading the answers to cody problems. Although most of answers are correct but my size is bigger than the best answer. How can I view the best answer?