Results for
In just one week, 500+ amazing entries were created. Math rocks and you rock!
Help us show the world the beauty of mathematics by sharing your work with your friends, classmates, or colleagues. You can also help fight the global pandemic by voting. For each vote, MathWorks will donate $1 to Direct Relief. See the Voting FAQs below for details.
MATLAB Mini Hack Winners - Week 1
Let’s start by saying: your awesome work made our judging VERY HARD! We came up with several categories with one winner each. Congratulations to the winners! Each of you won a special edition T-shirt:
- Adam Danz, entry: pale blue dot , category: Astronomy
- taozim, entry: Collatz Feather , category: Print Art
- Jr, entry: Hi :) , category: 3D Art
- Pink_panther, entry: Guarding Ape of the Math Jungle 1 , category: Animals
- Adrien Leygue, entry: random cut in a d-dimensional checkerboard, category: Black & White
- Barath Narayanan, entry: Julia Set Animation , category: Colorful
- Maximilian Schönau, entry: plot Dark Side , category: Illustration
- Sebastian Kraemer, entry: Cherry blossom tree , category:Plants
- Peter Stampfli, entry: broken inversions , category: deepest remix tree (tie)
- sandeep singh chauhan, entry: BLACK ORCHID, category: deepest remix tree (tie)
- KSSV, entry: I LOVE Matlab, category: widest remix tree
Bonus Prize Winners - Week 1
As we announced last week, we are giving additional giveaways to participants of both the Treasure Hunt contest and the MATLAB Mini Hack contest . Congratulations to our 5 winners. Each of you also won a special edition T-shirt
- Jan Orwat
- warnerchang
- Davide OLIVIERI
- Daniel Niblett
- KARUPPASAMYPANDIYAN M
Voting FAQs:
Q1: Who can vote?
Anyone with a MathWorks account can vote.
Q2: How many times can I vote?
There here is no limit to the number of votes you can cast. Vote for as many entries as you like (one vote per entry).
Q3: How do my votes increase MathWorks’ charity donation?
For every vote an entry gets, we will donate $1 to Direct Relief with a maximum amount of $20 donated per entry. MathWorks will donate up to a maximum of $20,000 based on the combined totals raised by task participation in the Treasure Hunt and voting in the MATLAB Mini Hack .
Q4. How do I win?
At the end of the contest, the top 10 participants on the leaderboard will each get an Amazon gift card and the top 3 will earn special badges. The 10 highest voted entries will win 5 customized T-shirts. See the full contest details.
Every week, we will also award surprise prizes for more fun.
Note that MathWorks staff are NOT eligible for prizes.
Q5: How do votes on my entries determine my rank on the leaderboard?
The total number of votes on ALL of your entries determines your rank on the leaderboard.
Q6: Do votes on remixed entries add votes to the original entry?
No. We count only direct votes on an entry.
Q7: Is the code (also) automatically compared to earlier submissions to determine the remix tree?
No. You have to remix an entry.
Just in 2 days since the contest started, we already have 200+ awesome entries in the MATLAB Mini Hack contests. We are excited to see so many talented and creative community members enjoying the contest and learning from each other.
If you haven’t created your entry, try remixing an entry you like. Make some SMALL changes and see what it would look like. Remix is highly encouraged in this contest.
If you haven’t entered the Treasure Hunt contest, give it a try. Your participation will not only win you a prize but also bump up MathWorks’ donation to a charity organization that fights the global pandemic.
Reminder:
- Voting will start next Monday.
- Weekly surprise giveaways will also be announced next Monday. Still time left to create your entries, original or remixed!
I'm not a programmer but I'm loving Thingspeak!
by way of background: i have been having mysterious PM 2.5 spikes on my PurpleAir several times a day (usually from ~12 ug/m3 to 100 ug/m3!!). i recently figured out what is causing it: i live by a charcoal burger place that sends smoke throughout my neighborhood when they relight their grill at peak hours. it is what it is unfortunately, until these restaurants get properly regulated.
that being said, i like to work in my yard, and id love to be able to just put on an N95 when a charcoal smoke event is happening. so i'm trying to use thingspeak to build a little notification system for me.
the PurpleAir Thingspeak channels are private (by default I believe), so I'm using a Matlab analysis to copy the raw data from the PurpleAir Thingspeak channel over to a channel I can administer.
next i set up TimeControls to run the data update Matlab analysis at 5 minute intervals, and staggered them apart from each other (the channel seems to be updating just about every minute now).
next i set up a React that, upon data insertion of a PM 2.5 value above 35 mg/um3, triggers a ThingHTTP which sends a request to Pushover's API --> so I get text messages and Chrome notifications when there are air events.
this seems to be working great so far -- the air in LA right now is pretty good, so it just captures the transient charcoal smoke events and notifies me of them.
but my concern is --> the air in LA can often get worse for extended periods. Some days, the average will be 40 ug/m3. so when those days inevitably come, will my system just be constantly chirping at me all day about the air values?
if so, is there anything i can do about this? is there a way to tell react to notify me, but then only retest again after an hour, for instance?
thanks for your help, thingspeak community!
Hi everyone,
I need your help. As of 10-4-2021 the option of &headers=false stopped working?
It worked beautifully for about 2 years (circa early 2020) and suddenly on 10-4 the headers are being returned despite this option in the URL (no testing with Chrome isn't a credible test, it internally suppresses them regardless)
Need your help, if there's a way to suppress headers and just return the value of interest as it worked prior to Monday 10-4-2021
Thank you Boyan
How do I code my arduino sketch in order to get the HTTP response from an arduino post?
Hello,
I am working on a project which measures the water level in a well and the temperature of the water. Currently, we have a few of these units deployed in the field and they are working well, but our environmental engineer does not like the water level graphs because they are not "intuitive" enough. The water levels displayed on our graphs are simply the distance between the surface of the water and our distance sensor, so when the water in the well rises, the y-axis value drops, which bothers the environmental guy. Is there a way to flip the y-axis without driving back out to these rural locations and flashing revised code to the mcu? I have been looking around the channel and graph settings and I do not see anything. Google has taken me to some matlab forum links which suggest changing values in objects, which I do not think is any help right now.
Any help is appreciated.
As part of MATLAB Central’s 20 year anniversary celebration, we created the MATLAB Mini Hack . The contest starts today on Oct. 4th!
What to do?
Generate an interesting image using up to 280 characters of MATLAB code.
Who can play?
Participants across all skill levels are welcome. Create original entries of your own code, remix others’ entries and make them your own, or simply vote on ENTRIES you love!
How to win prizes?
Those at the top of the leaderboard at the end of the contest will win up to $300 Amazon gift cards, 5 customized T-shirts, or special badges. Visit the prizes section on the contest page for more information.
To add more fun, we will award RANDOM PRIZES that every participant has a chance to win.
- Each week, we will pick 5 players who participate in both the Treasure Hunt and MATLAB Mini Hack .
- Each week, we will have different surprise giveaways.
Important Notes
- The first week (Oct. 4th, 2021 ~ Oct. 10th 2021) is for creating entries only. Voting starts on Week 2.
- Make sure you follow the contests (click the ‘follow the contests’ button on the top) to get notified when prizes are awarded and of other important announcements. We hope you are the winner!
Hi,
my first time to use thingspeak. I have a graph where from time to time there is a peak with 4000, ussualy the data ist arround 50. When I insert the "hampel(my_variable)" I get a message that the toolbox is requierd.
Is there a different way to get rid of these spikes?
greetings
Title pretty much explains it. I can control a TMC2209 Stepper Motor controller or a BMP280 Barometric Pressure device, but when I hook both up to one MEGA if fails. Help would be greatly appreciated. The goal is to sample the barometric pressure, run a vacuum pump to bring the pressure down inside a vessel, then bring the pressure back to the sampled value and then run stepper motors with the TMC2209.
#include "SparkFunBME280.h"
//Stepper driver pin definitions #define PIN_STEP_ENABLE 14 #define PIN_STEP1_DIRECTION 13 #define PIN_STEP1_STEP 12
BME280 mySensorA; //Uses default I2C address 0x77 BME280 mySensorB; //Uses I2C address 0x76 (jumper closed)
void setup() { //Configuer stepper driver pins as OUTPUTs pinMode(PIN_STEP1_DIRECTION, OUTPUT); pinMode(PIN_STEP1_STEP, OUTPUT); pinMode(PIN_STEP_ENABLE, OUTPUT);
//ENABLE pin has to be pulled LOW for TMC2209 digitalWrite(PIN_STEP_ENABLE, LOW);
//Serial.begin(115200);
//Wire.begin();
mySensorA.setI2CAddress(0x76); //The default for the SparkFun Environmental Combo board is 0x77 (jumper open). //If you close the jumper it is 0x76 //The I2C address must be set before .begin() otherwise the cal values will fail to load.
if(mySensorA.beginI2C() == false) Serial.println("Sensor A connect failed"); //if I remark out his line and the line //like it for SensorB ( 2 lines down ) the stepper will run but I get no pressure readings, I stopped getting pressure //readings as soon as I added the code to operate the TMC2209
mySensorB.setI2CAddress(0x76); //Connect to a second sensor if(mySensorB.beginI2C() == false) Serial.println("Sensor B connect failed");
Wire.begin(); Serial.begin(115200);
}
void loop() { //determine starting direction of Stepper digitalWrite(PIN_STEP1_DIRECTION,HIGH);
// Makes 200 pulses for making one full cycle rotation for(int x = 0; x < 2000; x++) { Serial.println(" Forword "); digitalWrite(PIN_STEP1_STEP,HIGH); delayMicroseconds(50); digitalWrite(PIN_STEP1_STEP,LOW); delayMicroseconds(50); } delay(1000); // One second delay
digitalWrite(PIN_STEP1_DIRECTION,LOW); //Changes the rotations direction // Makes 400 pulses for making two full cycle rotation for(int x = 0; x < 2000; x++) { Serial.println(" Reverse "); digitalWrite(PIN_STEP1_STEP,HIGH); delayMicroseconds(50); digitalWrite(PIN_STEP1_STEP,LOW); delayMicroseconds(50); } delay(1000);
Serial.print(" PressureA: "); Serial.println(mySensorA.readFloatPressure(), 0);
//Serial.print(" PressureB: "); //Serial.println(mySensorB.readFloatPressure(), 0);
Serial.println();
delay(500); }
When I browse thingspeak,It loading so slow and can't read data from my project
I am trying to migrate a project that used to post from an Arduino with a Tinysine Wifly shield (from Roving networks) to a php form/mysql db using this code snippet:
void reportToCloud() {
data = "";
Serial.println("Reporting to cloud...");
if (wifly.available() > 0) {
char ch = wifly.read();
Serial.write(ch);
if (ch == '\n') {
/* add a carriage return */
Serial.write('\r');
}
}
if (wifly.open(site, 80)) {
Serial.print("Connected to ");
Serial.println(site); // Set data to send
static char outstr1[15];
static char outstr2[15];
static char outstr3[15];
static char outstr4[15]; String dataString1 = dtostrf(uvindex, 8, 2, outstr1);
String dataString2 = dtostrf(mq2ratio, 8, 2, outstr2);
String dataString3 = dtostrf(CO2PPM, 8, 2, outstr3);
String dataString4 = dtostrf(temperature, 8, 2, outstr4);
data = String("uvindex=" + dataString1 + "&mq2=" + dataString2 + "&age=" + dataString3 + "&name=" + dataString4);
Serial.print(data); //name = temp && age = co2
//Reset all values
uvindex = 0;
mq2ratio = 0;
CO2PPM = 0;
temperature = 0; /* Send the request */
wifly.println("POST /arduino/data_post.php HTTP/1.0");
wifly.println("Host: www.santiapps.com"); // SERVER ADDRESS HERE TOO
wifly.println("Content-Type: application/x-www-form-urlencoded" );
wifly.print("Content-Length: ");
wifly.println(data.length());
wifly.println();
wifly.print(data);
Serial.println("Posted successfully");
} else {
Serial.println(">>Failed to connect");
} if (Serial.available() > 0) {
wifly.write(Serial.read());
} //Added Sat 14 Nov @820am
wifly.close();
}Now Im trying to make it post to thingspeak for improved analysis capabilities and what not. I get a post successful but I get no data in my thingspeak channel. I've checked the string used and its fine:
void reportToCloud() {
data = "";
Serial.println("Reporting to cloud...");
if (wifly.available() > 0) {
char ch = wifly.read();
Serial.write(ch);
if (ch == '\n') {
/* add a carriage return */
Serial.write('\r');
}
}
if (wifly.open(site, 80)) {
Serial.print("Connected to ");
Serial.println(site); // Set data to send
static char outstr3[15];
static char outstr4[15];
String dataString3 = "33.33";//dtostrf(33.33, 8, 2, outstr3);//dtostrf(CO2PPM, 8, 2, outstr3);
String dataString4 = "44.44";//dtostrf(44.44, 8, 2, outstr4);//dtostrf(temperature, 8, 2, outstr4);
data = String("field3=" + dataString3 + "&field4=" + dataString4);
//Serial.print(data); //for debugging //Reset all individual values
CO2PPM = 0;
temperature = 0; /* Send the request */
String postData = "POST /update?api_key=mykey&"+data+" HTTP/1.0";
//Serial.println(postData);
wifly.println("Host: api.thingspeak.com"); // SERVER ADDRESS HERE TOO
wifly.println("Content-Type: application/x-www-form-urlencoded" );
wifly.print("Content-Length: ");
wifly.println(postData.length());
wifly.println();
wifly.print(postData);
Serial.println("Posted successfully");
} else {
Serial.println(">>Failed to connect");
} if (Serial.available() > 0) {
wifly.write(Serial.read());
} //Added Sat 14 Nov @820am
wifly.close();
}postData is printed with this result:
printing co2... 87 105 102 108 121 45 87 101 98 false returned Free memory: 670 setPrompt hasnt been called Already joined network DeviceID: Wifly-WebClient2 Reporting to cloud... open santiapps.com 80 Connected to santiapps.com POST /update?api_key=mykey&field3=33.33&field4=44.44 HTTP/1.0 Posted successfully close: failed, no *CLOS* Reporting to cloud...
open santiapps.com 80 Connected to santiapps.com POST /update?api_key=mykey=33.33&field4=44.44 HTTP/1.0 Posted successfully close: failed, no *CLOS*
So basically the first snippet works fine and posts to the db via my php form and i can then read it off the db. The second snippet returns what seems to be a successful post but the data is not posted to thingspeak.
what happen to thingspeak? it also loading so slow. it happen for almost a week, until now it has not been like normal
I am using a Microsoft surface laptop (running on Microsoft RT) and using a Explorer browser (which unfortunately cannot be upgraded to Microsoft Edge, or replaced by Chrome or Firefox). Until end of August 2021 I could log into ThingSpeak, with the login (email) entry fields in page https/:thingspeak.com (after clicking "Get started for free"). However since end of August this email entry item does not appear anymore on the webpage of thingspeak.com on my Surface. So I can't login anymore and thus can't use Thingspeak anymore on my Surface RT laptop. This is rather frustrating. Is there a possibility of provide arguments to the URL so that I can login directly (e.g. https://thingspeak.com/login?email?password, or something similar) or do you know another way to login. Your help is greatly appreciated.
My goal is to get the data from two DHT22 sensors, with a single sensor I had no problem but with two sensors I get only a few data and then it interrupts reporting "Read DHT22 failed." I share my code, any suggestions I appreciate
#include <SimpleDHT.h>
#include <ESP8266WiFi.h> String apiKey = "xxxxx";
const char* ssid = "xxxxx";
const char* password = "xxxxx";
const char* server = "api.thingspeak.com";
int pinDHT22 = D0;
int pinDHT221 = D1; SimpleDHT22 dht22(pinDHT22);
SimpleDHT22 dht221(pinDHT221); WiFiClient client;
void setup() {
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop() {
byte temperatura = 0;
byte humedad = 0;
byte temperatura1 = 0;
byte humedad1 = 0; if (dht22.read(pinDHT22, &temperatura, &humedad, NULL)) {
Serial.print("Read DHT22 failed.");
return;
} if (dht221.read(pinDHT221, &temperatura1, &humedad1, NULL)) {
Serial.print("Read DHT221 failed.");
return;
} if (client.connect(server,80)) {
String postStr = apiKey;
postStr +="&field1=";
postStr += String((int)temperatura);
postStr +="&field2=";
postStr += String((int)humedad);
postStr +="&field3=";
postStr += String((int)temperatura1);
postStr +="&field4=";
postStr += String((int)humedad1); postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.println("% send to Thingspeak");
}
client.stop();
Serial.println("Waiting…");
delay(120000);
}Hi,
I have this code posting data. It used to work a couple of years back but now it shows no new data being posted and I want to see what the error is:
#include <Bridge.h> #include <BridgeServer.h> #include <BridgeClient.h> #include <DHT.h>
#define DHTPIN 4 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE);
//********************
#define ARRAY_SIZE 2 String API = "13xxxxxxxxxxxxx";
unsigned long previousMillis = 0; // will store last time LED was updated const long interval = 900000; // interval at which to blink (milliseconds)
void setup() {
Bridge.begin();
Console.begin();
dht.begin();
Serial.begin(9600);
Serial.println("set up");
}
//********************
void postToThingSpeak(String key, float value[]) {
Process p;
String cmd = "curl -d \'key="+key;
for (int i=0;i<ARRAY_SIZE;i++) {
cmd = cmd + "&field"+ (i+1) + "=" + value[i];
}
cmd = cmd + "\' http://api.thingspeak.com/update";
p.runShellCommand(cmd);
Console.println(cmd);
p.close();
Serial.println("posted");
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
// save the last time you blinked the LED
previousMillis = currentMillis; float temperature = dht.readTemperature();
//float temperature = 33.33;
Console.println(temperature);
float humidity = dht.readHumidity();
//float humidity = 44.44;
Console.println(humidity);
float vol[ARRAY_SIZE];
vol[1] = temperature;
vol[0] = humidity;
postToThingSpeak(API, vol); //ACCOUNT
}
//delay(120000); // ThingSpeak will only accept updates every 15 seconds.
}Hi, I've been using ThingSpeak now for a number of years capturing temperature data from a Pi zero and Python. I currently use the Unsecured TCP option, but the recent email about moving to mqtt3 server suggests websockets. I've looked at the example and understand username, password and channel ID, but not what the Client ID is. Can someone tell me what this is please.
Many thanks Alastair
Afternoon Everyone, Looking for some help with my Arduino/Thingspeak sketch.
To give you an idea I have a Lora Sensor sending data to a Lora/Uno receiver, the data I receive is two strings, one for DO and one for Temp, in the parsepacket section below I convert the string to floats and use these as my fields for Thingspeak.
Currently the code allows a connection to Thingspeak, it also correctly associates the DO and Temp float variables with corresponding graphs on the channel.
However after the initial WiFi connection all that happens is zero is written to both graphs and only once, another write will not happen untill I reboot the Arduino.
I'm pretty certain that the order of my Loop is wrong.
My expected results are to write Temp and DO to Thingspeak every 30 seconds, with actual values, not 0. Currently a write happens once and Temp and DO are Zero, despite the packets being received correctly with actual values.
If I can clarify anything or better explain then please feel free to ask, I'm fairly new to this.
TIA. AC
if true
#include <ESP8266WiFi.h>
#include <ThingSpeak.h>
#include <LoRa.h>
#include <SoftwareSerial.h>
#define nss D10
#define rst D14
#define dio0 D2
//
WiFiClient client;
//
const char* ssid = "myssid";
const char* password = "mypassword";
//
char thingSpeakAddress[] = "api.thingspeak.com";
unsigned long channelID = mychannelid;
char* readAPIKey = "myapi";
char* writeAPIKey = "myapi";
unsigned long lastTime = 0;
unsigned long timerDelay = 30000;
unsigned int dataFieldOne = 1;
unsigned int dataFieldTwo = 2;
//
float DO;
float temp;
//
void setup() {
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
LoRa.setPins(nss, rst, dio0);
Serial.begin(115200);
while (!Serial);
if (!LoRa.begin(868E6)) {//914E6
Serial.println("Starting LoRa failed!");
while (1);
}
}
//
void loop() {
int packetSize = LoRa.parsePacket();
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Attempting to connect");
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, password);
delay(5000);
if (packetSize)
{
Serial.print("packetSize = ");
Serial.println(packetSize);
parseLoRaPacket();
}
ThingSpeak.setField(1, DO);
ThingSpeak.setField(2, temp);
int x = ThingSpeak.writeFields(channelID, writeAPIKey);
//
if (x == 200) {
Serial.println("channel update succesful.");
}
else {
Serial.println("Problem updating channel.");
}
}
}
}
//
void parseLoRaPacket() {
String lora_data; // String as local variable
//
while (LoRa.available())
{
lora_data = LoRa.readString();
Serial.print(lora_data);
//
int strIndex = lora_data.indexOf("TEMP: ");
if (strIndex > -1)
{
int startPos = strIndex + strlen("TEMP: ");
temp = lora_data.substring(startPos).toFloat();
Serial.println(temp);
}
strIndex = lora_data.indexOf("DO: ");
if (strIndex > -1)
{
int startPos = strIndex + strlen("DO: ");
DO = lora_data.substring(startPos).toFloat();
Serial.println(DO);
}
}
}
endKindly assist I have been trying to create a small weather station with with DHT11 sensor and CC3200 launchpad and connect it to ThingSpeak but the code won't compile as I am using an Arduino code.
Anyone to please help
if true
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <DHT.h> // Including library for dhtString apiKey = ""; // Enter your Write API key from ThingSpeak
const char *ssid = "Virus"; // replace with your wifi ssid and wpa2 key
const char *pass = "";
const char* server = "api.thingspeak.com";#define DHTPIN 11 //pin where the dht11 is connected
#define DHT dht(DHTPIN, DHT11);
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
dht.begin(); Serial.println("Connecting to ");
Serial.println(ssid);WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected"); }
void loop()
{ float h = dht.readHumidity();
float t = dht.readTemperature(); if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor!");
return;
} if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{ String postStr = apiKey;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr); Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius, Humidity: ");
Serial.print(h);
Serial.println("%. Send to Thingspeak.");
}
client.stop(); Serial.println("Waiting..."); // thingspeak needs minimum 15 sec delay between updates
delay(1000);
}
endJoin 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!