Contenuto principale

Risultati per

Several of the colormaps are great for a 256 color surface plot, but aren't well optimized for extracting m colors for plotting several independent lines. The issue is that many colormaps have start/end colors that are too similar or are suboptimal colors for lines. There are certainly many workarounds for this, but it would be a great quality of life to adjust that directly when calling this.
Example:
x = linspace(0,2*pi,101)';
y = [1:6].*cos(x);
figure; plot(x,y,'LineWidth',2); grid on; axis tight;
And now if I wanted to color these lines, I could use something like turbo(6) or gray(6) and then apply it using colororder.
colororder(turbo(6))
But my issue is that the ends of the colormap are too similar. For other colormaps, you may get lines that are too light to be visible against the white background. There are plenty of workarounds, with my preference being to create extra colors and truncate that before using colororder.
cmap = turbo(8); cmap = cmap(2:end-1,:); % Truncate the end colors
figure; plot(x,y,'LineWidth',2); grid on; axis tight;
colororder(cmap)
I think it would be really awesome to add some name-argument input pair to these colormaps that can specify the range you want so this could even be done inside the colororder calling if desired. An example of my proposed solution would look something like this:
cmap = turbo(6,'Range',[0.1 0.8]); % Proposed idea to add functionality
Where in this scenario, the resulting colormap would be 6 equally spaced colors that range from 10% to 80% of the total color range. This would be especially nice because you could more quickly modify the range of colors, or you could set the limits regardless of whether you need to plot 3, 6, or 20 lines.
There will be a warning when we try to solve equations with piecewise:
syms x y
a = x+y;
b = 1.*(x > 0) + 2.*(x <= 0);
eqns = [a + b*x == 1, a - b == 2];
S = solve(eqns, [x y]);
% 错误使用 mupadengine/feval_internal
% System contains an equation of an unknown type.
%
% 出错 sym/solve (第 293 行)
% sol = eng.feval_internal('solve', eqns, vars, solveOptions);
%
% 出错 demo3 (第 5 行)
% S=solve(eqns,[x y]);
But I found that the solve function can include functions such as heaviside to indicate positive and negative:
syms x y
a = x+y;
b = floor(heaviside(x)) - 2*abs(2*heaviside(x) - 1) + 2*floor(-heaviside(x)) + 4;
eqns = [a + b*x == 1, a - b == 2];
S = solve(eqns, [x y])
% S =
% 包含以下字段的 struct:
%
% x: -3/2
% y: 11/2
The piecewise function is divided into two sections, which is so complex, so this work must be encapsulated as a function to complete:
function pwFunc=piecewiseSym(x,waypoint,func,pfunc)
% @author : slandarer
gSign=[1,heaviside(x-waypoint)*2-1];
lSign=[heaviside(waypoint-x)*2-1,1];
inSign=floor((gSign+lSign)/2);
onSign=1-abs(gSign(2:end));
inFunc=inSign.*func;
onFunc=onSign.*pfunc;
pwFunc=simplify(sum(inFunc)+sum(onFunc));
end
Function Introduction
  • x : Argument
  • waypoint : Segmentation point of piecewise function
  • func : Functions on each segment
  • pfunc : The value at the segmentation point
example
syms x
% x waypoint func pfunc
f=piecewiseSym(x,[-1,1],[-x-1,-x^2+1,(x-1)^3],[-x-1,(x-1)^3]);
For example, find the analytical solution of the intersection point between the piecewise function and f=0.4 and plot it:
syms x
% x waypoint func pfunc
f=piecewiseSym(x,[-1,1],[-x-1,-x^2+1,(x-1)^3],[-x-1,(x-1)^3]);
% solve
S=solve(f==.4,x)
% S =
%
% -7/5
% (2^(1/3)*5^(2/3))/5 + 1
% -15^(1/2)/5
% 15^(1/2)/5
% draw
xx=linspace(-2,2,500);
f=matlabFunction(f);
yy=f(xx);
plot(xx,yy,'LineWidth',2);
hold on
scatter(double(S),.4.*ones(length(S),1),50,'filled')
precedent
syms x y
a=x+y;
b=piecewiseSym(x,0,[2,1],2);
eqns = [a + b*x == 1, a - b == 2];
S=solve(eqns,[x y])
% S =
% 包含以下字段的 struct:
%
% x: -3/2
% y: 11/2
Hello, Community Members!
Every day, we witness the incredible exchange of knowledge as over 100,000 users visit our community for answers or to get some code. We have such a vibrant community because of the dedicated group of contributors who volunteer their time and expertise to help one another.
We learned that many community users are looking for different ways to show their appreciation to contributors. In response, we're thrilled to announce the launch of our latest feature – Skill Endorsements.
When you visit a contributor's profile page, you'll notice a brand-new 'Endorsements' tab. Here, you have the power to acknowledge the skills of your fellow members by either endorsing a new skill or bolstering existing ones.
But it's more than just saying "thank you." By highlighting the strengths of our members, you're contributing to an environment of trust and making it easier for users to connect with experts in specific areas.
So, take a moment to reflect: Who has made a difference in your community experience? Whose expertise has guided you through a challenge? Show your appreciation and support their contributions – start endorsing skills today!
Your participation makes all the difference.
Warm regards,
MATLAB Central Community Team
Adam Danz
Adam Danz
Ultima attività il 6 Mar 2024

I'm curious how the community uses the hold command when creating charts and graphics in MATLAB. In short, hold on sets up the axes to add new objects to the axes while hold off sets up the axes to reset when new objects are added.
When you use hold on do you always follow up with hold off? What's your reasoning on this decision?
Can't wait to discuss this here! I'd love to hear from newbies and experts alike!
Hello, an intern working at MathWorks is finishing up his program soon and he would like to interview some MATLAB users. He is looking for people who can give their perspective on the question:
"What makes MATLAB and Simulink special in comparison to other languages?"
Ultimately he plans to condense the answers into 15-second videos or sound bites.
If people are willing to participate but want more time to talk about their experience with MATLAB, he doesn't have time left for in-depth interviews but he can find someone else to take over the project.
Please send me an email via my profle if you are interested.
In MATLAB Answers, oftentimes we see good comments that provide solutions in a question thread. Those comments should really be answers. On the other hand, there are some answers that do not offer solutions. Those answers should actually be comments. The answer/comment issue makes it harder for readers of a question thread to quickly identify useful information. To tackle this issue, the community team just released the MOVE feature!
What can be moved?
Answers and comments can now be moved in 4 ways within the same question thread:
  1. Change an answer to a comment
  2. Change an answer with comments to a group of comments
  3. Change a comment to an answer
  4. Move a comment
Who can move answers and comments?
New privileges have been awarded to contributors with 2000 reputation points or more. Privileged contributors will see move icons added in the list of actions available for answers and comments.
After an answer or comment is moved, an indication of the move will be displayed with the content.
As always, please let us know your thoughts by leaving a reply below.

Attention all Controls Professors, Teaching Assistants, and Students!

The Virtual Hardware and Labs for Controls by Brian Hong is an absolute must-have from the MATLAB Central File Exchange. With the help of Simscape for physical modelling and simulation of mechatronic systems,

  • students can use the interactive experiments to teach themselves some of the concepts of control theory in a learn by doing approach.
  • professors and TA’s can use this to replace or augment actual lab work.

With tightening budgets and/or in person class restrictions this can help you transfer these vital skills to the students in a fun manner. Here is an overview of the available modules:

https://www.mathworks.com/matlabcentral/fileexchange/100064-virtual-hardware-and-labs-for-controls

If you have any questions feel free to leave a comment below and I’ll get back to you.

R2021b is live! There are two new products, five major updates, and hundreds of other feature updates in this latest release. Download or access MATLAB Online to discover what’s new.

New Products

Major Updates

  • Lidar Toolbox - Use Lidar Viewer app to visualize, analyze, and preprocess lidar point clouds interactively
  • Simulink Code Inspector - Use Code Inspector contextual tab to check compatibility, inspect code and view results directly in the model
  • Simulink Control Design - Design Model Reference Adaptive Controllers
  • Symbolic Math Toolbox - Get guidance for symbolic workflows with next-step suggestions in MATLAB Live Editor
  • Wavelet Toolbox - Use wavelet analysis to process and extract features for signals and images for AI workflows

Check out our release highlight page for details.

Share your experience with the community

Are there any new features you find particularly useful? Are you trying the new product to solve a particular problem? Share your story with us no matter it’s big or small. We plan to publish those stories in the highlight channel so that community users can get more out of the new release. A good example is an article written by Adam Danz . If you are interested, contact me via email on my profile card.

Join our celebration of the 20th anniversary of MATLAB Central community! You are invited to enter 2 contests - A Treasure Hunt and a MATLAB Mini Hack - to have fun and win prizes.

How to Play

  • In the Treasure Hunt, complete 10 fun tasks to explore the ‘treasures’ in the community.
  • In the MATLAB Mini Hack, use up to 280 characters of MATLAB code to generate an interesting image. Simply vote for the entries that you like or share your own entries to gain votes.

Prizes

You will have opportunities to win compelling prizes, including special edition T-shirts, customized T-shirts, Amazon gift cards, and virtual badges. Your participation will also bump up our charity donations.

Ready to participate?

Visit the community contests space and choose the contest you’d like to enter. Note that:

  • You need a MathWorks account to participate. If you don’t have a MathWorks account, you can create one at MathWorks sign in .
  • Make sure you follow the contests (click the ‘follow the contests’ button on the top) to get notified for prize information and important announcements.

For the full contest rules, prizes, and terms, see details here .

We hope you enjoy the contests and win big prizes. NOW, LET THE CELEBRATION BEGIN!

Let's say MathWorks decides to create a MATLAB X release, which takes a big one-time breaking change that abandons back-compatibility and creates a more modern MATLAB language, ditching the unfortunate stuff that's around for historical reasons. What would you like to see in it?
I'm thinking stuff like syntax and semantics tweaks, changes to function behavior and interfaces in the standard library and Toolboxes, and so on.
(The "X" is for major version 10, like in "OS X". Matlab is still on version 9.x even though we use "R20xxa" release names now.)
What should you post where?
Wishlist threads (#1 #2 #3 #4 #5): bugs and feature requests for Matlab Answers
Frustation threads (#1 #2): frustrations 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)

MATLAB Mobile makes it convenient to learn and teach in disciplines requiring computational thinking, such as mathematics, science, and engineering. It can also be used for virtual labs by acquiring smartphone sensor data. As an instructor, you can author examples in MATLAB and demonstrate them on your smartphone or tablet. Students can follow along on their mobile device or tablet to instantly connect results to the concepts they are learning. This is especially relevant for distance learning, where some students may have limited or no access to a full-fledged computer.

Educators make their course material more interactive, promote self-directed learning, and increase student engagement through Live Editor. You can now run and edit live scripts on iOS and Android devices.

Get MATLAB Mobile on the Play Store or App Store, or learn how to teach using Live Scripts.

The community team is pleased to release a new design for File Exchange review section. The new design has addressed major pain points we heard from File Exchange users and improves the overall experience. Major improvements include:

1. Support editing ratings/comments

Editing is probably the most popular feature request from File Exchange users. Now, you are able to edit your ratings/comments. Simply click the ‘Edit’ link below your content.

2. Support replying to a comment

In the old design, the only way for the file author to reply to a comment is to create a new comment, which is very hard to track. With the new design, the authors can directly reply to a comment and their post has a blue background making it easier to see. Due to differences between the old and new commenting structures, replies to comments couldn't be reliably inferred, so all comments added prior to 7/14 are at the same indentation level. Replies will be indented from now on.

3. Support rich formatting and attachments

Using the new rich text editor, you are able to choose bold/italic text, insert code or image, create lists, or attach files.

4. Introduce the ‘Discussions’ tab

There is a new ‘Discussions’ tab where community users have conversations with the author or other community members for Q&As or general discussions. The discussions section supports threaded discussions to facilitate the conversations. We separate Discussions with Reviews so that different types of content are not mixed together.

This is a major change for File Exchange and we look forward to hearing from you. Simply reply to this article if you have any questions, comments, or suggestions.

R SRIRANJANI RAMAKRISHNAN is our current top ThingSpeak related downloads contributor. Check out the Raspberry Pi and ThingSpeak model downloaded by over 50 users! And Barnard Richards has 10 new posts on our community in the last month. Please reach out to us for a free MathWorks T-Shirt. You can find contact information on my profile page. Thank you for your contributions and your posts!

Hi,

 Recently, I'm trying to view any Public channel (including my public channel). It opens the channel a second and redirects to the login page. Is there any way to see a public channel without login?

S.

David
David
Ultima attività il 23 Feb 2021

MATLAB Answers will now properly handle the use of the '*@*' character when you want to get someone's attention. This behavior is commonly referred to as 'mentioning' or 'tagging' someone and is a feature found in most communication apps.

Why we are doing this

To help with communication and potentially speed up conversations. Also, it turns out many of you have been typing the @ character in Answers already, even though the MATLAB Answers site didn't behave in the expected way.

How it works

Once you type the @ character a popup will appear listing the community members already in the Q/A thread, as you keep typing the list will expand to include members not in the thread. A mentioned user will receive a notification when the question/answer/comment is posted. Each mention in the Q/A thread will have a new visual style and link to the user profile for that community member.

If you don't want to get 'mentioned' you can turn off the setting in your communication preferences located on your profile page .

We hope you will find this feature helpful and as always please reply with any feedback you may have.

We have created a new community for users of ThingSpeak. This new community is for students, researchers, and engineers looking to use MATLAB, Simulink, and ThingSpeak for Internet of Things applications. You can find the latest ThingSpeak news, tutorials to jump-start your next IoT project, and a forum to engage in a discussion on your latest cloud-based project. You can see answers to problems other users have solved and share how you solved a problem.

Christopher Stapels will be moderating the new ThingSpeak community .

We encourage you to visit the new community and share best practices, examples, and ask questions.

David
David
Ultima attività il 21 Gen 2021

Ameer Hamza had a great 2020 and has been awarded the coveted MOST ACCEPTED answers badge for all his contributions in MATLAB Answers this past year. Ameer joins Walter Roberson and Image Analyst in receiving this award going all the way back to 2012!

There are 10 community members who have achieved the Top Downloads badge for their popular File Exchange submissions in 2020. Do you recognize any of these names? There's a good chance you've used one or more of their toolboxes or scripts in your work if you're a frequent visitor to File Exchange, if you're not you might want to check out what they've posted, it may save you a lot of time writing your own code.

--------------------- Top Downloads Badge Winners -----------------

Congratulations to all these winners and a giant THANK YOU for all they've done this past year to help everyone in the MATLAB Central community!

File Exchange now offers the ability to download/restore previous versions of community contributed files. It's often a good practice to always update your software to the latest version, however there are times when this isn't always helpful. Sometimes a software update can break or alter something you've been relying on, in these cases you'll want to stick with the version that's working for you. This is why we've added the ability to download previous versions in File Exchange.

Using Version History

Navigate to any community member file and then click the View Version History link that appears above the Download button. This will show you a list of the previous versions contributed by the submission author. Each version will have a corresponding download button, date, version number, and a description of the changes made for that update.

Let us know what you think about this new feature by replying below.

Rik
Rik
Ultima attività il 7 Lug 2025

Similar to what has happened with the wishlist threads (#1 #2 #3 #4 #5), the "what frustrates you about MATLAB" thread has become very large. This makes navigation difficult and increases page load times.
So here is the follow-up page.
What should you post where?
Wishlist threads (#1 #2 #3 #4 #5): 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)