Results for
Hi!
I can't see my data in the charts. I'm using arduino wifi and the connection works. 
Maybe I did something wrong in this options

Is there a way to get a handle or link to the database each time I do a WRITE or group of WRITEs? I need to access the set of records that comprises a user session, which could be many WRITEs. My impression is that Thingspeak appears as a continuous stream with no way to mark a set of WRITEs as a group or session. Methods I have tried like retrieval (READs) using timestamps and other after-the-fact queries are not very accurate or user friendly. Thanks.
You are invited to join our 2023 community contest – MATLAB Flipbook Mini Hack! This year’s contest revolves around creating interesting animations using MATLAB. 
Whether you are a seasoned MATLAB user or just getting started, this contest offers a fantastic opportunity to showcase your skills, learn from others, and engage with the vibrant MATLAB Central community.
Timeframe
This contest runs for 4 weeks from Nov. 6th to Dec. 3rd. 
How to play
- Create a new animation or remix an existing one with up to 2,000 characters of code.
- Simply vote on the animations you love!
Prizes
You will have opportunities to win compelling prizes, including Amazon gift cards, MathWorks T-shirts, and virtual badges. We will give out both weekly prizes and grand prizes.


The MATLAB Central Community team
Hi All,
I'm currently attempting to implement a Hodgkin-Huxley-type model of membrane potential, ideally I would like a species that represents the membrane potential as its own distinct entity, so as the reference elsewhere. I've currently established a molarity-based work around but it would be great if I could set the units for the species as millivolt, but that throws an error.
Is there an established way to do this? I imagine I'm not the first person to be trying to model a voltage-gated ion channel!
Thank you for your help.
Here's a MATLAB class I wrote that leverages the MATLAB Central Interface for MATLAB toolbox, which in turn uses the publicy available Community API. Using this class, I've created a few Favorites that show me what's going on in MATLAB Central - without having to leave MATLAB 🙂
The class has a few convenient queries:
- Results for the last 7 days
- Results for the last 30 days
- Results for the current month
- Results for today
And supporting a bunch of different content scopes:
- All MATLAB Central
- MATLAB Answers
- Blogs
- Cody
- Contests
- File Exchange
- Exclude Answers content
The results are displayed in the command window (which worked best for me) and link to each post. Here's what that looks like for this command 
>> CommunityFeed.thisMonth("app designer", CommunityFeed.Scope.ExcludeAnswers)

Let me know if you find this class useful and feel free to suggest changes.
Hello,
I've looked around and I haven't found anything obvious about this, but is it possible to link to species/reactions, graphically, in a non-mass transfer sense? I have areas in my model where it would conceptually make sense to be able to see that species or reactions are linked, but if I link them in the standard way it demands that it be involved in the stoichiometry. 
Perhaps some kind of dotted line, or similar?
Thank you, best regards,
Dan
we are planning to design a drive for an EV using synchronous reluctance motor. To move further we need some drive circuits for simulating and comparing various motors with synchronous reluctance to justify our literature survey. can we get som circuit suggestions?
New Cheat Sheet Alert! 
Level up your data organization and access skills in MATLAB with our latest cheat sheet! Download the full cheat sheet on MATLAB GitHub for Students here.

                    I rarely/never save .fig files
                
 
                
                    47%
                
  
            
                    Continue working on it later
                
 
                
                    16%
                
  
            
                    Archive for future reference
                
 
                
                    23%
                
  
            
                    Share within my organization
                
 
                
                    10%
                
  
            
                    Share outside my organization
                
 
                
                    2%
                
  
            
                    Other (please leave a comment)
                
 
                
                    2%
                
  
            
            2097 votes
        
    I am running the code from the following URL: https://kr.mathworks.com/help/comm/ref/comm.ricianchannel-system-object.html. I copied and executed the example to visualize the channel's impulse response. However, when I run the same code multiple times with the same path gains and delays, I get different impulse response results each time. What could be the reason for this?
This behavior is unexpected because the code and settings are the same for each run, and the impulse response should remain constant.
This is the code.
fs = 3.84e6;                                  % Sample rate in Hz
pathDelays = [0 200 800 1200 2300 3700]*1e-9; % in seconds
avgPathGains = [0 -0.9 -4.9 -8 -7.8 -23.9];   % dB
kfact = 10;                                   % Rician K-factor
fD = 50;                                      % Max Doppler shift in Hz
ricianChan = comm.RicianChannel( ...
    SampleRate=fs, ...
    PathDelays=pathDelays, ...
    AveragePathGains=avgPathGains, ...
    KFactor=kfact, ...
    MaximumDopplerShift=fD, ....
    Visualization='Impulse and frequency responses');
ricianChan(0.1);
The two images below show the results of running the same code.
 
  
Hi, 
I was wondering if anyone could help me with how I can simplify this part of my script, specifically scenario 1-3, so that it is easier to read. Perhaps with functions etc. (the comments are in swedish sorry heh. But the script works). 
Thanks in advance!
F1_batt_till_P19 = zeros(8760,length(Effekt)); % det som batteriet laddar upp fastigheten med
F1_Elkons_batt = zeros(8760,length(Effekt)); % konsumtionen från nätet av batteriet 
F1_batterilast_tot = zeros(8760,length(Effekt)); % batterilasten lagras kontenueligt. 
F1_elkonsum = [];
for k = 1: length(Effekt) % går igenom alla olika effekter mellan 100 - 1000 kW
   F1_last_batt = 0; % batteriet måste nollas efter varje ny effekt. 
   batterikapacitet = Kapacitet(k); % såhär stort är batteriet beroende på effekten. Beror på C rate (blir dubbelt så stort som effekten). 
   batterikapacitet_min = batterikapacitet * SOC_low/100; % undre gräns 
   batterikapacitet_max = batterikapacitet *SOC_high/100; % övre gräns   
   F1_last_batt = batterikapacitet_min; % hur mycket kapacitet har batteriet. Finns det något . Börjar tomt. 
   for i = 1:12 % gå igenom månaderna
       mon = [31,28,31,30,31,30,31,31,30,31,30,31];
       slut = mon(i)*24;
       % medelkonsumtionen (i kW) per månad Elkons_months_eft(744,12)
       medel_kons = mean(Elkons_months_eft(1:slut, i)); % Månadens medelkonsumtion
       for m = 1:slut % gå igenom timmarna per månad
           % går igenom varje timme (m), för varje månad (i). 
           % scenario 1 - batteriet laddar ur till medelvärdet
           if Elkons_months_eft(m,i) > medel_kons 
               topp = Elkons_months_eft(m,i) - medel_kons; % storleken på toppen över medelvärde
               % Om batteriet inte är tomt från början. Om det kan laddas ur. 
               if F1_last_batt > batterikapacitet_min
                   % Om batteriet kan laddas ur med hela efffekten utan att gå under min
                   if (F1_last_batt - Effekt(k)) >= batterikapacitet_min 
                      % Om toppen är större eller lika med än vad som får kapas med batteriet - hela effekten används.  
                      if topp >= Effekt(k) % A 
                           F1_batt_till_P19( (24*sum(mon(1:i-1)) + m) ,k) = Effekt(k); % effekt under timmen som batteriet tillgodoser till Pyramiden 19
                           F1_last_batt = F1_last_batt - Effekt(k); % batteriet laddas ur med hela effekten den timmen
                      % Om toppen inte är större än effekten - hela toppen kapas. 
                      else % B 
                           F1_batt_till_P19((24*sum(mon(1:i-1)) + m) ,k) = topp; 
                           F1_last_batt = F1_last_batt - topp; 
                      end
                   % Om batteriet inte kan tömmas med hela effekten.    
                   else 
                       liten_effekt = F1_last_batt - batterikapacitet_min; % mängden som kan laddas ur. 
                       % Om toppen är större än det vi kan använda – allt som är kvar används
                       if topp >= liten_effekt % C
                           F1_batt_till_P19((24*sum(mon(1:i-1)) + m) , k) = liten_effekt; % effekt under timmen som batteriet tillgodoser till Pyramiden 19
                           F1_last_batt = F1_last_batt - liten_effekt; % batteriet laddas ur till min 
                       % Om toppen inte är större än det vi kan använda - hela toppen kapas    
                       else % D 
                           F1_batt_till_P19( (24*sum(mon(1:i-1)) + m) ,k) = topp; 
                           F1_last_batt = F1_last_batt - topp; 
                       end
                   end
               end  
            % scenario 2 - batteriet laddar upp och tar från nätet 
           elseif Elkons_months_eft(m,i) < medel_kons 
               % Om batteriet inte är fullt
               if F1_last_batt < batterikapacitet_max 
                   % Om det får plats en laddning av hela effekten – Batteriet laddas upp
                   if (F1_last_batt + Effekt(k)) <= batterikapacitet_max 
                       % Om uppladdningen inte överstiger medelvärdet – Batteriet laddas upp med effekten
                       if (Elkons_months_eft(m,i) + Effekt(k)) <= medel_kons  % A 
                           F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = Effekt(k); % mängden som tas från nätet
                           F1_last_batt = F1_last_batt + Effekt(k);  
                       % Om uppladdningen överstiger medelvärdet – Batteriet laddas upp med det som går    
                       else % B
                           till_medel = medel_kons - Elkons_months_eft(m,i);
                           F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = till_medel; 
                           F1_last_batt = F1_last_batt + till_medel; 
                       end  
                   % Om det får plats mindre än hela efffekten i en laddning – Batteriet laddas fullt     
                   else 
                       plats = batterikapacitet_max - F1_last_batt; % det som får plats i batteriet 
                       % Om elkonsumtionen ej överstiger medelvärdet – Batteriet laddas upp till max-taket
                       if (Elkons_months_eft(m,i) + plats) <= medel_kons % C
                           F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = plats; 
                           F1_last_batt = F1_last_batt + plats;  
                       % Om elkonsumtionen överstiger medelvärdet – Batteriet laddas upp med det som går     
                       else % D
                           till_medel = medel_kons - Elkons_months_eft(m,i);
                           F1_Elkons_batt((24*sum(mon(1:i-1)) + m),k) = till_medel; 
                           F1_last_batt = F1_last_batt + till_medel; 
                       end 
                   end 
               end
           % scenario 3 - om inget händer 
           elseif Elkons_months_eft(m,i) == medel_kons 
               % inget händer. Precis som jag vill ha det. 
           end
       F1_batterilast_tot((24*sum(mon(1:i-1)) + m),k) = F1_last_batt;  % lägger in batterilasten för timmen i en lista. 
       end % slut - for timmar per mån (m)
   end %slut  for - månaderna (i) 
  % tar bort den sista uppladdningen av batteriet så det kommer ner till min värdet iaf
% får ta bort min värdet kostnaden sen manuellt. 
   for p = 0:(8760-1)
       % Om batteriet har laddning över min kvar i slutet
       if F1_last_batt > batterikapacitet_min
           over = F1_last_batt - batterikapacitet_min;
           % Om platsen är större än eller lika med laddningen på batteriet – Batteriet töms ner till min 
           if F1_Elkons_batt(end-p,k) >= over
               F1_Elkons_batt(end-p,k) = F1_Elkons_batt(end-p,k) - over;
               F1_last_batt = batterikapacitet_min;
               F1_batterilast_tot(end-p,k) = batterikapacitet_min;
           % Om platsen är mindre än laddningen på batteriet – Batteriet töms med hela platsen
           elseif F1_Elkons_batt(end-p,k) < over
               F1_last_batt = F1_last_batt - F1_Elkons_batt(end-p,k);
               F1_batterilast_tot(end-p,k) = batterikapacitet_min;
               F1_Elkons_batt(end-p,k) = 0;
           end
       end
   end                
end % slut for - effekt (k)
% summerar ihop året till ett värde. Får ett värde för varje effekt. 
F1_elkonsum_sum =[];
F1_batt_till_P19_sum =[];
F1_Elkons_batt_sum = [];
F1_effekttopp_medel_year = []; % medel effekttopp under året 
for v = 1:length(Effekt)
    F1_elkonsum(:,v) = (Elkonsumtion_eft(:,1) - F1_batt_till_P19(:,v)) + F1_Elkons_batt(:,v); % elnätskonsumtion under året
    F1_elkonsum_sum(v) = sum(F1_elkonsum(:,v));
    F1_batt_till_P19_sum(v) = sum(F1_batt_till_P19(:,v));
    F1_Elkons_batt_sum(v) = sum(F1_Elkons_batt(:,v));
end
% figure; yyaxis right; plot(F1_elkonsum(:,20)); 
% hold on; plot(Elkonsumtion_eft(:,1));
% hold on; yyaxis left; plot(F1_batterilast_tot(:,20)); legend('Konsum','ladd');
% Beräknar maxeffekten (toppen) för varje månad för alla effekter. Blir  en 12 x length(effekt) lista 
% Den går per rad och tar maxeffekten för månaden för alla kolumner = för alla olika effekter. 
F1_effekttopp_months = zeros(12,length(Effekt)); % effekttopp under månaden för alla olika effekter. 
mon = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; 
for b = 1:12
    F1_effekttopp_months(b,:) = max(F1_elkonsum( (24*sum(mon(1:b-1)) + 1) : 24*sum(mon(1:b)) , : ) ); % [kW]
end
% beräknar medeleffekten för året
for v = 1:length(Effekt)
    F1_effekttopp_medel_year(v) = mean(F1_effekttopp_months(:,v));
end 
Hi, I'm losing comms with thingspeak after exactly one hour. I'm on the free plan while I evaluate TS.
I am sending data once a minute. It works fine for one hour, and I get 200-OK responses. After exactly 1 hour, the response from TS is a 404-not found. I do a new DNS lookup, and get a new IP address for TS. Still no response. I do more DNS lookups, and get another different IP address.  It cycles through 3 different IP addresses, but noe of them work one hour after bootup on my device.
I'm running an Arduino Nano with an Ethercard and the JNH library. I can still ping the arduino, serve webpages and ping a monitored device, and get NTP time, all in a 1 minute loop, so I doubt the TCP/IP stack has crashed.
after I restart the device, it works again for exactly one hour, and the I lose comms with Thingspeak again.
Any help would be appreciated!
Thanks,
Adrian
In my struggle to get my SIM7600 connected to thingspeak using MQTT, i went to the basics: simple testing of my connection:
I use this site : https://testclient-cloud.mqtt.cool
Protocol :tcp
Host : mqtt3.thingspeak.com
Port : 1883
Username : got it from my device (double checked !)
Password : got it from my device (double checked !)
When i try to connect I get the message Connection refused : bad user name or password.
I am completely lost. What basic stupi mistake am i missing. I thoroughly read the MQTT help pages.
Any help is appreciated.
Update :
When i select Dedicated connection and i also fill in the will message and will topic, i am able to update my channel. At least some progress. 
my Channel ID 2305210 and Channel ID 2300906 are not working properly. Pl.Guide me 
Hi there,
I hope someone can help me on this.
I have written a code to connect my SIM7600 to Thingspeak using MQTT. It is basically an aruidino code. All instructions are echo's with an OK message so assume those instrictions are correct. However, the final step, publishing the message to the MQTT server return an error : CMQTTCONNLOST : 0,1. 
Any idea which instructions might be wron?
I included the commands send.
10:09:09.031 -> AT+CMQTTPUB=0,0,60,0,0
10:09:09.031 -> +CMQTTPUB: 0,0
10:09:09.031 -> 
10:09:09.031 -> OK
10:09:09.031 -> 
10:09:09.031 -> +CMQTTCONNLOST: 0,1
The program :
SerialAT.begin(115200, SERIAL_8N1, RXD2, TXD2);
delay(1000);
SerialAT.println("AT+CRESET"); // Reset the SIM7600 module
Read_Response(30000);
SerialAT.println("AT+IPR=115200");  // Set Baudrate of the SIM7600 module
Read_Response(30000);
SerialAT.println("AT+CSQ");  // Check signal level
Read_Response(10000);
SerialAT.println("AT+COPS?");  // Query network information
Read_Response(10000);
SerialAT.println("AT+CMQTTSTOP"); //Stop MQTT service
Read_Response(10000);
SerialAT.println("AT+CMQTTSTART"); //Start MQTT service
Read_Response(10000);
SerialAT.println("AT+CSSLCFG=\"sslversion\",0,3"); //Configure SSL contect ssl_ctxindex,sslversion <0,TLS1.2>
Read_Response(10000);
SerialAT.println("AT+CSSLCFG=\"authmode\",0,0"); //Establishing MQTT Connection <ssl_ctx_index,authmode<0,no autentification>
Read_Response(10000);
SerialAT.println("AT+CMQTTACCQ=0,\"Username\",0,4"); // Acquire a client <client_index,client_ID>
Read_Response(10000);
SerialAT.println("AT+CMQTTSSLCFG=0,0"); // Set the SSL context <session_id,ssl_ctx_index>  ssl_ctx_index check AT+CSSLCFG command
Read_Response(10000);
SerialAT.println("AT+CMQTTCONNECT=0,\"tcp://mqtt3.thingspeak.com:1883\",90,1,\"Username\",\"password\""); //Connect to MQTT server <client_index,server_addr,keep_alive time,clean_session,username,password>
Read_Response_Ignore_OK(3000);
String payload="\"channels/"+ String(ChannelId)+"/publish\"";
int Payload_Length;
Payload_Length=payload.length();
SerialAT.println("AT+CMQTTTOPIC=0,"+String(Payload_Length)); // Input the publish message topic <client_index,req_length>
SerialAT.println(payload);
Read_Response_Ignore_OK(3000);
payload="field1=12&field2=13&status=MQTTPUBLISH";
Payload_Length=payload.length();
SerialAT.println("AT+CMQTTPAYLOAD=0,"+String(Payload_Length)); // input the publish message body <client_index,req_length>
SerialAT.println(payload);
Read_Response_Ignore_OK(1000);
SerialAT.println("AT+CMQTTPUB=0,0,60,0,0"); // Publish a message to the server <client_id,qos,pub_timeout,retained>
Read_Response_Ignore_OK(1000);
Serial.print(Receive_buffer);
Serial.println("And we are done");
Adam and Heather will be discussing new features in R2023b and answering your questions in a few hours - visit the link below to check out the preview and sign up for notification. 
Hello all,
I've been trying to shift my workflow more towards simbiology, it has a lot of very interesting features and it makes sense to try and do everything in one place if it works well..! Part of my hesitancy into this was some bad experiences handling units in the past, though this was almost certainly all out of my own ignorance, relatedly:
Getting onto my question.
In this model I have a species traveling around the body via blow flow, think a basic PBPK model. My species are picomolarities, if everything is already in concentrations, why is it necessary to initially divide by the compartment volume? i.e. 1/Pancreas below.

If my model dealt in molar quantities this would make a lot of sense, the division would represent the transition to concentrations. This, however, now necessitates my parameters be in units of liter/minute, which is actually correct, but I'd like clarification on why it's correct, ha!
Perhaps this is more of a modelling question than a simbiology question, but if there are answers I'd love to hear them. Thanks!
Adam Danz just launched a new blog about MATLAB Graphics and App Building.
As you know, He has been a prolific contributor to MATLAB Answers and one of his answers recently won the Editor's Choice Award. 
If there are any topics or questions you are interested in, please share with Adam, and I am sure he will get those into his blog. 
Calling all students! New to MATLAB or need helpful resources? Check out our MATLAB GitHub for Students repository! Find MATLAB examples, videos, cheat sheets, and more!

Visit the repository here: MATLAB GitHub for Students
Imagine x is a large vector and you want the smallest 10 elements.  How might you do it?















