メインコンテンツ
Results for
Every year, we show our appreciation to the top contributors by awarding two types of annual badges: Most Accepted badge and Top Downloads badge.
Most Accepted badge goes to the top 10 contributors whose answers received the most acceptances. Top downloads badge goes to the top 10 contributors with the most downloaded submissions.
In 2022, the recipients for Most Accepted are: @Walter Roberson, @Voss, @Star Strider, @Torsten, @Image Analyst, @Matt J, @KSSV, @Jan, @Stephen23, and @DGM.
The recipients for Top Downloaded are: @Cleve Moler, @Yarpiz, @John D'Errico, @Seyedali Mirjalili, @Rodney Tan, @Yair Altman, @Chad Greene, @Steve Miller, @Giampiero Campa, and @Scott Lowe
Congratulations and thank you again for your outstanding contribution in 2022!
MathWorks is hosting the QIT Boston event to discuss Ethical AI for the LGBTQ+ community on its Lakeside campus, hosted by our own Heather Gorr, PhD.
AI is known to learn biases from the various sources that affects our daily lives, and in particular minority groups like LGBTQ+.
Join the discussion to what the impacts are, where the biases come from, and how to mitigate as you develop AI.
Sign up here
https://www.eventbrite.com/e/oit-boston-panel-discussion-ethical-ai-for-the-lgbtq-community-registration-496419814027
You provided 2,007 anwers and received 529 votes. Thank you for your contribution to the community!
MATLAB Central Team
an undergraduate student
41%
in graduate school
28%
in academia (prof, staff, etc.)
11%
in industry or Non-Gov't Org. (NGO)
11%
in government or military
3%
self employed, retired, or hobbyist
6%
7627 票
4 weeks of contests is fun but intense. Next, we recommend 3 things to do as warm-down exercises.
To make future contests better and more appealing to you, we created a 1-minute survey to understand your experience. Your feedback is critical to us!
Dave Bulkin is a developer on the MATLAB Graphics and Charting Team. In the Blog post, @Dave B not only examines the code behind the leading entries, but also introduces you to some new visualization techniques.
Matt Tearle is from MathWorks Training Services Team. @Matt Tearle created this problem group to celebrate the 10th anniversary of Cody and the 2022 T20 World Cup (which happened to occur at the same time). Note that the problems can be done without the knowledge of cricket.
Thank you in advance and hope to see you in 2023!
I've now seen linear programming questions pop up on Answers recently, with some common failure modes for linprog that people seem not to understand.
One basic failure mode is an infeasible problem. What does this mean, and can it be resolved?
The most common failure mode seems to be a unbounded problem. What does this mean? How can it be avoided/solved/fixed? Is there some direction I can move where the objective obviously grows without bounds towards +/- inf?
Finally, I also see questions where someone wants the tool to produce all possible solutions.
A truly good exposition about linear programming would probably result in a complete course on the subject, and Aswers is limited in how much I can write (plus I'll only have a finite amount of energy to keep writing.) I'll try to answer each sub-question as separate answers, but if someone else would like to offer their own take, feel free to do so as an answer, since it has been many years for me since I learned linear programming.
The 2022 community contests have concluded! During the 4 weeks, we hope you had a lot of fun and learned some MATLAB skills. Together, we've achieved amazing milestones:
- 500+ entries and 5,000+ votes created in the Mini Hack 2022 contest.
- 100,000+ solutions submitted in Cody 10th Anniversary contest
- 2,000+ participants in both contests
Now, it's time to announce weekly winners and grand prize winners!
Mini Hack - Pick of the MATLAB Graphics Team
We invited the MATLAB Graphics team, the authors of the MATLAB functions used in every entry, to be our Mini Hack judges. Here are their picks in 3 categories:
- Our Top 3:
Rising Hand by Augusto Mazzei
Object used: fill; Judge comments: Clever code, nice metaphor, kind comments
Above the clouds by Tim
Object used: patch (via VOXview); Judge comments: Very pretty, looks like it could be in a video game
Monocular rivalry by Jenny Bosten
Object used: Image; Judge comments: We spent a too much time trying to figure out what this illusion was doing to our brains
- Clever use of Charts:
Object used: Bar3; Judge comments: Cute! Nice fireworks!
Object used: histogram2; Judge comments: We didn't realize there was a ship in the flow data set
Object used: plot; Judge comments: Nifty and very different from other entries.
Object used: scatter; Judge comments: Overlapping markers make for a very cool tunnel-like effect
- Things we still loved:
Object used: image; Judge comments: Domain Warping FTW
Object used: surface; Judge comments: Clever use of transparency
Congratulations and you should be very proud of yourself! It's a huge achievement that your entry is recognized by the MATLAB Graphics team!
Mini Hack - special category for Week 4
Mini Hack - grand prize winners
After an intensive (and very time-consuming) review of votes on winning entries, we have finalized the list of grand prize winners. Huge congratulations! We appreciate the time and effort you spent and the awesome entries you created. Each of you won an Amazon gift card.
Anton Kogios, Brandon Caasenbrood, KARUPPASAMYPANDIYAN M, Teodo, Jenny Bosten, MvLevi, Abdullah Caliskan, Stewart Thomas, Jonas Schlatter, and Tim Davis
Cody 10th Anniversary - surprise prize for 28-day streak winners
We are thrilled to see that 37 players have built a streak of 28 days! Coming back every day to solve problems is an incredible achievement. We decided to show our appreciation by awarding a surprise prize to those 37 players. Congratulations! Each of you will get a MathWorks T-shirt.
Christian Schröder, Stefan Abendroth, Mohammed, Victoria, Vasileios Pasialis, Gerardo Domínguez Ramírez, HH, Anton Kogios, Lizhi Zhu, Marco Fuscà, Armando Longobardi, Monica, Rithik KRT, Ayman, Teodo, Lincoln Poon, Elijah Keifert, siranjeevi gurumani, kazuyoshi kouno, Ryan Koh, Manuela Kaiser, Mehmet OZC, Dyuman Joshi, KOTHAPALLI SRI BRINDA, Gergely Patay, abyss, Takumi, Keita Abe, Petr Cerny, Shubham Shubham, Meredith, Andrew K, Atsushi Ueno, Peter Orthmann, Armando Longobardi, Chuang Tao, and David Romero
Cody 10th Anniversary winners – Week 4
The top 3 players for solving the most problems in week 4 are Christian Schröder, Gerardo Dominguez Ramirez, and Stefan Abendroth, Congratulations! Each of you won an Amazon gift card.
Week 4 lucky winners are Qingrui Liu and Basant Ale.
Cody 10th Anniversary winners – grand prize winners
We know how hard it is to be a top-10 leader in the contest leaderboard! It requires a huge time commitment and advanced MATLAB skills. Congratulations! Each of you will win an Amazon gift card.
Christian Schröder, Stefan Abendroth, Mohammed, Victoria, Vasileios Pasialis, Gerardo Domínguez Ramírez, HH, Anton Kogios, Lizhi Zhu, and Marco Fuscà
Lucky voters and participants
Thank you for your participation in our 2022 contests. You don’t need to be on the top of the leaderboards to win. As we announced, we would give out 20 MathWorks T-shirts to lucky voters and participants of the 2 contests.
Ismail Bera Altan, Robin Stolz, Michael Mellin, Kellan Smith, Neha Shaah, Siranjeevi gurumani, Paul Villain, Andrew Horchler, Meg Noah, Saurabh Chaudhary, Pakize erdogmus, Godfrey Ojerheghan, Selena Mastrodonato, Damir Rasic, Thomas Kjeldsen, Meredith, John Noah Ramiterre, Patience Oliveira, Panda, and Sujeet Kumar Choudhary
On behalf of the MATLAB Central community team, we thank you for joining our celebration of the MATLAB Central community 2022 contests. We hope you enjoyed these contests and look forward to seeing you in next year’s contests.
You provided 10,958 anwers at the acceptance rate of 78.95% and received 3,126 votes. Thank you for your contribution to the community!
MATLAB Central Team
In Week 3, several new milestones have been achieved! Cody 10th contest has reached the 80,000-solution milestone! Mini Hack has over 400 entries. @Tim Davis’ seashell entry actually inspired a MathWorks blog post. Check it out.
During the last week of this contest, we strongly encourage you to inspire your colleagues, classmates, or friends to vote. Let the world know the beauty of Mathematics. Voters will also have the opportunity to win a MATLAB T-shirt.
MATLAB Mini Hack Winners - Week 3
In week 2, we announced the special category for week 3 is nature. Below are the 3 winners for this category.
- Tim , entry: Orchid,
- Shanshan Wang , entry: Colorful butterfly
- Tim Davis, entry: seashell
Winners of other categories are:
- Jenny Bosten, entry: Galaxy, category: space
- Paul Villain, entry: modfun spiral, category: colorful
- Brandon Caasenbrood, entry: Beauty of Discrete-Time Attractors, category: black & white
- Anton Kogios, entry: Parallel Lines?, category: illusion
Congratulations! Each of you won a T-shirt. I just heard we have 4 designs of MATLAB T-shirts. Can you collect all of them?
Cody 10th Anniversary Winners - Week 3
- The top 3 players for solving the most problems in week 3 are Christian Schröder, Marco Fuscà, and Stefan Abendroth, Congratulations! Each of you won an Amazon gift card.
- As long as you participate, you have the opportunity to win MathWorks T-shirts. Week 3 lucky winners are Luffy Wangand Augusto Mazzei.
What’s new in week 4?
MATLAB Mini Hack 2022:
- Week 4’s new category is holiday! Halloween is around the corner. What holidays are you celebrating?
- You are able to leverage Signal Processing Toolbox in your entry.
Cody 10th Anniversary:
- Are you smart than a MathWorker? Challenge yourself by solving our Week 4 special problem group: Are You Smarter Than a MathWorker?
Want a MATLAB T-shirt? We have 10 more to give out in the 10 days between now and Oct. 30th. You might win a MATLAB T-shirt by doing any of these activities:
- Vote on entries you like from the Mini Hack contest
- Solve Cody problems in the Cody 10th contest
- Create or remix entries in the Mini Hack contest
The more activities you do, the higher your chance to win. Every day, we will pick a winner.
What amazing images can be created with no more than 280 characters of MATLAB code? Check out the GALLERY from the MATLAB Mini Hack 2022 contest.
Vote on your favorite MATLAB images before Oct. 30th! We will give out MathWorks T-shirt to 10 lucky voters.
How can I vote?
You can vote for an entry by clicking on the heart icon on an entry card or the vote button on the entry detail page.
We had another wonderful week of community contests 2022. In week 2, the voting for Mini Hack started! About 1000 votes have been cast on 300+ entries. In Cody 10th Anniversary contest, we already have 85 finishers for the two special groups: Matrices and Arrays and Plotting and Visualization.
Now, it’s time to announce the weekly winners!
MATLAB Mini Hack Winners - Week 2
Amazing entries keep coming in every day. In week 2, we announced a space category to celebrate the milestone of NASA’s Dart mission. We’ve picked 4 winners for this new category.
- Stewart Thomas, Lunar Shadows, category: space
- Teodo, NASA's DART Dimorphos Impact, category: space
- Simon Thor, Starry night, category: space
- Abdullah Caliskan, spacetime, category: space
Winners of other categories are:
- MvLevi, Personlized Lyapunov Fractal, category: File Exchange
- KARUPPASAMYPANDIYAN M, Moon View at MATropolis!, category: File Exchange
- Jan Studnicka, Butterfly, category: animal
- Brandon Caasenbrood, Periodic Minimal Surface, category: 3d
- Basil Imoberdorf, Zoom of Fractal action #3, category: fractals
- Pink_panther, Seaweed on Pandora, category: nature
Congratulations! Each of you won a MathWorks T-shirt. If this is the second time you won, you have the option to choose a MathWorks hat or a coffee mug!
Cody 10th Anniversary Winners - Week 2
- The top 3 players for solving most problems in week 2 are Mohammed, Armando Longobardi, and Stefan Abendroth, Congratulations! Each of you won an Amazon gift card.
- You don’t need to be an expert or spend tons of time to win! As long as you participate, you have the opportunity to win MathWorks T-shirts. Week 2 lucky winners are Dylan Baker and Takumi.
What’s new in week 3?
MATLAB Mini Hack 2022:
- Week 3’s new category is nature! We look forward to seeing more nature-themed creative entries from you!
- You are able to leverage up to 2 File Exchange submissions in your code.
Cody 10th Anniversary:
- Week 3 special problem group is Programming Constructs. Have fun!
New in R2022b: GridSizeChangedFcn
tiledlayout() creates a TiledChartLayout object that defines a gridded layout of axes within a figure. When using the 'flow' option, the grid size becomes dynamic and updates as axes are added or as the figure size changes. These features were introduced in R2019b and if you're still stuck on using subplot, you're missing out on several other great features of tiledlayout.
Starting in MATLAB R2022b you can define a callback function that responds to changes to the grid size in flow arrangements by setting the new gridSizeChangedFcn.
Use case
I often use a global legend to represent data across all axes within a figure. When the figure is tall and narrow, I want the legend to be horizontally oriented at the bottom of the figure but when the figure is short and wide, I prefer a vertically oriented legend on the right of the figure. By using the gridSizeChangedFcn, now I can update the legend location and orientation when the grid size changes.
Demo
gridSizeChangeFcn works like all other graphics callback functions. In this demo, I've named the gridSizeChangedFcn "updateLegendLayout", assigned by an anonymous function. The first input is the TiledChartLayout object and the second input is the event object that indicates the old and new grid sizes. The legend handle is also passed into the function. Since all of the tiles contain the same groups of data, the legend is based on data in the last tile.
As long as the legend is valid, the gridSizeChangedFcn updates the location and orientation of the legend so that when the grid is tall, the legend will be horizontal at the bottom of the figure and when the grid is wide, the legend will be vertical at the right of the figure.
Since the new grid size is available as a property in the TiledChartLayout object, I chose not to use the event argument. This way I can directly call the callback function at the end to update the legend without having to create an event.
Run this example from an m-file. Then change the width or height of the figure to demonstrate the legend adjustments.
% Prepare data
data1 = sort(randn(6))*10;
data2 = sort(randn(6))*10;
labels = ["A","B","C","D","E","F"];
groupLabels = categorical(["Control", "Test"]);
% Generate figure
fig = figure;
tcl = tiledlayout(fig, "flow", TileSpacing="compact", Padding="compact");
nTiles = height(data1);
h = gobjects(1,nTiles);
for i = 1:nTiles
ax = nexttile(tcl);
groupedData = [data1(i,:); data2(i,:)];
h = bar(ax,groupLabels, groupedData, "grouped");
title(ax,"condition " + i)
end
title(tcl,"GridSizeChangedFcn Demo")
ylabel(tcl,"Score")
legh = legend(h, labels);
title(legh,"Factors")
% Define and call the GridSizeChangeFcn
tcl.GridSizeChangedFcn = @(tclObj,event)updateLegendLayout(tclObj,event,legh);
updateLegendLayout(tcl,[],legh);
% Manually resize the vertical and horizontal dimensions of the figure
function updateLegendLayout(tclObj,~,legh)
% Evoked when the TiledChartLayout grid size changes in flow arrangements.
% tclObj - TiledChartLayout object
% event - (unused in this demo) contains old and new grid size
% legh - legend handle
if isgraphics(legh,'legend')
if tclObj.GridSize(1) > tclObj.GridSize(2)
legh.Layout.Tile = "south";
legh.Orientation = "horizontal";
else
legh.Layout.Tile = "east";
legh.Orientation = "vertical";
end
end
end
Give it a shot in MATLAB R2022b
- Replace the legend with a colorbar to update the location and orientation of the colorbar.
- Define a GridSizeChangedFcn within the loop so that it is called every time a tile is added.
- Create a figure with many tiles (~20) and dynamically set a color to each row of axes.
- Assign xlabels only to the bottom row of tiles and ylabels to only the left column of tiles.
Learn about other new features
This article is attached as a live script.
You might have read the news that NASA successfully crashed a spacecraft into an asteroid to alter the asteroid’s course. But did you know the spacecraft’s autonomous guidance system was developed in MATLAB and C++? Check out our latest blog post to learn more details.
Let’s celebrate this scientific milestone by creating astronomy-themed entries in the Mini Hack contest. Be creative and leverage the existing submissions in File Exchange. We will award special prizes to the best entries.
Simulink is a block diagram environment used to design systems with multidomain models, simulate before moving to hardware, and deploy without writing code. In this livestream, Sam and Nishan will build up the basics of getting started using Simulink to build models.
Sign up here to get notification when it start streaming at 11:00 am (EDT) on Oct 13 view your timezone
Just in one week, 200 amazing images were created in the Mini Hack contest and 20,000 solutions were submitted in the Cody contest. What an amazing week! Time to announce the winners.
MATLAB Mini Hack Winners - Week 1
Your awesome work made our judging VERY HARD! We came up with several categories for winning entries. Congratulations to the winners! Each of you won a MathWorks T-shirt:
- Pink_panther, entry: Let's Go Fruity: Strawberry, category: File Exchange
- Lateef Adewale Kareem, entry: Umbrella, category: File Exchange (nice use of your own File Exchange entry)
- Teodo, entry: Shock wave, category: creative
- Basil Imoberdorf, entry: Colorful Fibonacci Scatter Spiral, category: colorful
- Stefan Abendroth, entry: Seahorse, category: abstract
- Paul Villain, entry: 102 mod 500, category: intricate
Cody 10th Anniversary Winners - Week 1
- The top 3 players for solving most problems in week 1 are Mohammed, Stefan Abendroth, and Hans Bourgeois. Congratulations! Each of you won an Amazon gift card.
- You don’t need to be an expert or spend tons of time to win! As long as you participate, you have the opportunity to win MathWorks T-shirts. Week 1 lucky winners are Meredith Reid and KARUPPASAMYPANDIYAN M.
In Week 2, we’ve added more fun to the contests!
MATLAB Mini Hack 2022:
- Voting started. Cast your votes on your favorite images. Help us show the world the beauty of mathematics by sharing your work with your friends, classmates, or colleagues.
- Toolboxes unlocked. You are able to leverage the Image Processing Toolbox to generate even more interesting images. We will award the best entries leveraging the Image Processing Toolbox.
Cody 10th Anniversary:
- Week 2 special problem group published. Check out MATLAB Fundamentals - Plotting and Visualization. Will you be able to finish the group in week 2?
The contest development team has identified an issue when trying to link your new entries to submissions in the File Exchange. The issue has prevented some users from successfully linking their entries. We have a fix and will be deploying it today at 3pm EST.
Two fun community contests: MATLAB Mini Hack 2022 and Cody 10th Anniversary start today on Oct. 3rd!
Participants across all skill levels are welcome to join! Even if you have limited time, you still have opportunities to win as long as you participate.
Want to challenge yourself and win Amazon gift Cards and limited-edition Badges?
1. MATLAB Mini Hack 2022: Create your best entry (either a new or a remixed entry).
2. Cody 10th Anniversary: Solve your 1st Cody problem today!
If you have any questions about the contest rules or prizes, let us know by replying to this thread.
We hope you enjoy the contests, improve your MATLAB skills, and win prizes! Now, let the party begin!
Uniform spacing and the problem of round-off error
The vector [3 4 5 6 7 8 9] is uniformly spaced with a step size of 1. So is [3 2 1 0 -1 -2] but with a step size of -1.
The vector [1 2 4 8] is not uniformly spaced.
A vector v with uniform spacing has the same finite interval or step size between consecutive elements of the vector. But sometimes round-off error poses a problem in calculating uniformity.
Take, for example, the vector produced by
format shortg
v = linspace(1,9,7)
v = 1x7
1 2.3333 3.6667 5 6.3333 7.6667 9
Linspace produces linearly spaced vectors but the intervals between elements of v, computed by diff(v), are not identical.
dv = diff(v)
dv = 1x6
1.3333 1.3333 1.3333 1.3333 1.3333 1.3333
dv == dv(1)
ans = 1×6 logical array
1 0 0 1 0 1
diff(dv)
ans = 1x5
4.4409e-16 0 -4.4409e-16 8.8818e-16 -8.8818e-16
Some extra steps are therefore necessary to set a tolerance that ignores error introduced by floating point arithmetic.
New in R2022b: isuniform
Determining uniformity of a vector became a whole lot easier in MATLAB R2022b with the new isuniform function.
isuniform returns a logical scalar indicating whether vector v is uniformly spaced within a round-off tolerance and returns the step size (or NaN if v is not uniform).
Let's look at the results for our vector v,
[tf,step] = isuniform(v)
tf = logical
1
step =
1.3333
How about non-uniformly spaced vector?
[tf,step] = isuniform(logspace(1,5,4))
tf = logical
0
step =
NaN
Give it a shot in MATLAB R2022b
- What happens when all elements of v are equal?
- Can you produce a vector with uniform spacing without using colons or linspace?
- What additional steps would be needed to use isuniform with circular data?
References
- isuniform - documentation
- Floating point numbers - documentation
- Floating point numbers - Cleve's Corner (blog)
This article is attached as a live script.
Always or usually. They're fun.
18%
Sometimes, some of them.
7%
Not yet, but probably will some day
25%
Never, and don't plan to.
50%
3937 票