python 3.x – Laplace equation using the central difference method with Python3 code help

enter the description of the image here

the method that I am is
enter the description of the image here

enter the description of the image here

so I wrote a program using Python 3, here is my code creating matrix A

import numpy as np
n=3
Dim=n**2
A=-4*np.eye(Dim)
i=(Dim,Dim)
C=np.zeros(i)
for i in range (0,Dim):
for j in range (0,Dim):
if i==j:
C(i)(j)=A(i)(j)
if (i==j+1) or (i==j-1) or (i-j==3) or (j-i==3):
C(i)(j)=1
print(C)

but I do not know how to write code for f

and how to plot the graph can anyone help me

Central sequence in the algebras of group vN

According to McDuff, a sequence $ {t_ {k} } $ is the central sequence in finite vN algebra $ (M, tau) $ Yes Yes $ | xt_ {k} -t_ {k} x | rightarrow 0 $ as $ k rightarrow infty $. For non-consumable group $ G $, what are the examples of non-trivial central sequences in $ L (G) $?

arduino – Central heating control. 2 DHT sensors, 3 control relays. Code problems

First of all, thank you to everyone who has spent some time helping me.

The problem is that some time ago, I started to mount a thermostat with Arduino from scratch and that, a few months later, I got it, it must be said that the programming is wrong and that electronics is better, I finally managed to make my circuit board, download all the code. NODEMCU and manage the boiler from the mobile phone, a feat for me.

But of course, I was enthusiastic and I took advantage of the fact that we bought an apartment because with some eggs … I wired the whole house and now I want to manage the heating of targeted way. I thought it would cost me much less the subject of the program, but with every step I take, the more I lose.

I comment, I intend to control 3 relays with 2 DHT22 sensors, one for each zone.

• Problem 1. I do not see how to make sure that when a radiator calls for heat, the rest of the radiator relays are activated, the boiler relay stays on.

• Problem 2. When I make a desired GET 192.168.30 / Temp Dispatch 40, I ask the NODEMCU to see it, I activate the radiator relay of the Dispatch, I activate the boiler relay, but I get a GET 192.168.1.30/temp Desired Despacho00, I get it. the radiator relay is disabled, but not the boiler relay.
• I also do not receive a GET object reflected correctly in the web browser.

#include 
#include  
#include "ThingSpeak.h" 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define DHTTYPE DHT11
#define DHTTYPE DHT22
#include 
#include 
#include  
#define DRD_TIMEOUT 10
#define DRD_ADDRESS 0

#define DHTPINDespacho 10 //_____________________________________________PONER PATILLA
#define DHTPINSalon  4//_________________________________________________PONER PATILLA


const int releCaldera = 2; //Pin al que está conectado el rele de salida (PINOUT)

const int releDespacho = 12; //Pin al que está conectado el rele de salida del radiador del Despacho (PINOUT)
const int releSalon = 15; //Pin al que está conectado el rele de salida del radiador del Salon (PINOUT)



float histeresis = 1;
static unsigned long last_loop;

unsigned long int anteriorRefreshDatosDespacho = 0;
unsigned long int anteriorRefreshDatosSalon = 0;


float tempDespacho= 0;
float tempSalon= 0;

float tempDeseadaDespacho = 00;
float tempDeseadaSalon = 00;


int calderaHabilitada;
int estadoRele = 0;
int contconexion = 0;
bool shouldSaveConfig = false;
bool initialConfig = false;


DoubleResetDetector drd(DRD_TIMEOUT, DRD_ADDRESS); //Función de doble reset para configurar NODEMCU

LiquidCrystal_I2C lcd(0x27, 16, 2);


DHT dhtDespacho(DHTPINDespacho, DHT22);
DHT dhtSalon(DHTPINSalon, DHT22);


WiFiClient client;
WiFiServer server(80);

//Parámetros de Thingspeak

const char* serverThingspeak = "api.thingspeak.com";
char  myWriteAPIKey(17) = "0WU6GVSSUPYI8EED";
char  myChannelNumber(11) = "888615";

void saveConfigCallback () {
Serial.println("Should save config");
shouldSaveConfig = true;
  }


void setup() {



dhtDespacho.begin();
dhtSalon.begin();

delay(10);

Serial.begin(115200);
Serial.println();


//Aqui decimos que el rele de la caldera este desconectado
pinMode(releCaldera, OUTPUT);
digitalWrite(releCaldera, LOW);

pinMode(releDespacho, OUTPUT);
pinMode(releSalon, OUTPUT);
pinMode(DHTPINDespacho, INPUT);
pinMode(DHTPINSalon, INPUT);



Serial.println();

if (WiFi.SSID()==""){
    Serial.println("We haven't got any access point credentials, so get them now");   
    initialConfig = true;
    }
    if (drd.detectDoubleReset()) {
    Serial.println("Doble reset detectado");
    initialConfig = true;
      }
      if (initialConfig) {
      Serial.println("Starting configuration portal.");
          lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("INTRODUCIR");
          lcd.setCursor(0,1);
          lcd.print("USUARIO Y PASS");
      WiFiManager wifiManager;
      wifiManager.resetSettings();
      }
    
  //Leer configuración de Json
  
  Serial.println("mounting FS...");

  if (SPIFFS.begin()) {
    Serial.println("mounted file system");
    if (SPIFFS.exists("/config.json")) {
      //file exists, reading and loading
      Serial.println("reading config file");
      File configFile = SPIFFS.open("/config.json", "r");
      if (configFile) {
        Serial.println("opened config file");
        size_t size = configFile.size();
        // Allocate a buffer to store contents of the file.
        std::unique_ptr buf(new char(size));

        configFile.readBytes(buf.get(), size);
        DynamicJsonBuffer jsonBuffer;
        JsonObject& json = jsonBuffer.parseObject(buf.get());
        json.printTo(Serial);
        if (json.success()) {
          Serial.println("nparsed json");

          strcpy(myWriteAPIKey, json("myWriteAPIKey"));
          } else {
          Serial.println("failed to load json config");
        }
      }
    }
  } 

WiFiManagerParameter custom_myWriteAPIKey("API-Key", "myWriteAPIKey", myWriteAPIKey, 17);

WiFiManager wifiManager;

//Establecer configuración guardada

wifiManager.setSaveConfigCallback(saveConfigCallback);

    IPAddress _ip = IPAddress(192, 168, 1, 30);
    IPAddress _gw = IPAddress(192, 168, 1, 1);
    IPAddress _sn = IPAddress(255, 255, 255, 0);
    wifiManager.setSTAStaticIPConfig(_ip, _gw, _sn);

    wifiManager.addParameter(&custom_myWriteAPIKey);
  
  if (!wifiManager.autoConnect()) {
      Serial.println("failed to connect and hit timeout");
      delay(10);
      
      ESP.reset();
      delay(10);
      }

  //Si has llegado aquí estás conectado a una WIFI
  Serial.println("Conectado a una Wifi");
          lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("CONECTANDO...");
          delay(20);

  //Leer parámetros actualizados
  
  strcpy(myWriteAPIKey, custom_myWriteAPIKey.getValue());
  

  //Guardar los parámetros en FS
  
  if (shouldSaveConfig) {
      Serial.println("saving config");
      DynamicJsonBuffer jsonBuffer;
      JsonObject& json = jsonBuffer.createObject();
      json("myWriteAPIKey") = myWriteAPIKey;
    
      File configFile = SPIFFS.open("/config.json", "w");
          if (!configFile) {
          Serial.println("failed to open config file for writing");
            }
      json.printTo(Serial);
      json.printTo(configFile);
      configFile.close();
    //Guardado finalizado
    }
  Serial.println();
  Serial.println("local ip");
  Serial.println(WiFi.localIP());
  delay(10);}
    
void refreshDatosDespacho(){

if (millis() > anteriorRefreshDatosDespacho + 20000){
    anteriorRefreshDatosDespacho = millis();
    float tempDespacho = dhtDespacho.readTemperature();
    float humiDespacho = dhtDespacho.readHumidity();
      if (isnan(tempDespacho) || isnan(humiDespacho)){ 
      Serial.println("Fallo en lectura de temperatura y humedad del Despacho");
      return;}
        if (calderaHabilitada = 1){
          if (tempDespacho + histeresis >= tempDeseadaDespacho && tempDespacho > 0)  digitalWrite(releDespacho, LOW);
        else if (tempDespacho < tempDeseadaDespacho && tempDespacho > 0){ 
        digitalWrite(releDespacho, HIGH);
        digitalWrite(releCaldera, HIGH);}
      else digitalWrite(releDespacho, LOW); 
      }              
      Serial.println();
      Serial.println("Leyendo datos....");
      Serial.print("Temperatura deseada: ");
      Serial.println(tempDeseadaDespacho); 
      Serial.print("Temperatura Despacho: ");
      Serial.println(tempDespacho);
      Serial.print("Humedad Despacho: ");
      Serial.println(humiDespacho);
            lcd.clear();
            lcd.setCursor(0,0);
            lcd.print("Temp Despacho: ");
            lcd.print(tempDespacho);
            lcd.print(" ");
            lcd.print((char)223);
            lcd.print("C");
            lcd.setCursor(0,1);
            lcd.print("Hum Despacho:  ");
            lcd.print(humiDespacho);
            lcd.print(" %");
            int estadoRele = digitalRead(releCaldera);
      if (estadoRele == LOW){
          Serial.print("Estado relé caldera: ");  
          Serial.println("LOW");
          lcd.setCursor(15,0);
          lcd.print(" ");        
            } else {
                    Serial.print("Estado relé caldera: ");  
                    Serial.println("HIGH");
                    lcd.setCursor(15,0);
                    lcd.print("C");
                    } 
                    
 // Start the server
    ThingSpeak.begin(client);
    Serial.println("Cliente thingspeak iniciado");
    server.begin();
    Serial.println("Server iniciado");
    Serial.println(myWriteAPIKey);
    Serial.println("local ip");
    Serial.println(WiFi.localIP());
    delay(10);
    ThingSpeak.setField(1, tempDespacho);
    //ThingSpeak.setField(2, humiPasillo); 
    ThingSpeak.setField(6, estadoRele);
    //ThingSpeak.setField(4, tempDeseadaDespacho);
    ThingSpeak.writeFields(String(myChannelNumber).toInt(), myWriteAPIKey);   
    delay(100);
    Serial.println("Enviando datos...");
    Serial.println();
    
            }
         }

         void refreshDatosSalon(){

  if (millis() > anteriorRefreshDatosSalon + 20000){
      anteriorRefreshDatosSalon = millis();
      float tempSalon = dhtSalon.readTemperature();
      float humiSalon = dhtSalon.readHumidity();
      if (isnan(tempSalon) || isnan(humiSalon)){ 
      Serial.println("Fallo en lectura de temperatura y humedad del Salon");
       return;}
        if (calderaHabilitada = 1){
          if (tempSalon + histeresis >= tempDeseadaSalon && tempSalon > 0)  digitalWrite(releSalon, LOW);
        else if (tempSalon < tempDeseadaSalon && tempSalon > 0){ 
        digitalWrite(releSalon, HIGH);
        digitalWrite(releCaldera, HIGH);}
      else digitalWrite(releSalon, LOW); 
      }         
      Serial.println();
      Serial.println("Leyendo datos....");
      Serial.print("Temperatura deseada: ");
      Serial.println(tempDeseadaSalon); 
      Serial.print("Temperatura Salon: ");
      Serial.println(tempSalon);
      Serial.print("Humedad Salon: ");
      Serial.println(humiSalon);
            lcd.clear();
            lcd.setCursor(0,0);
            lcd.print("Temp Salon: ");
            lcd.print(tempSalon);
            lcd.print(" ");
            lcd.print((char)223);
            lcd.print("C");
            lcd.setCursor(0,1);
            lcd.print("Hum Salon:  ");
            lcd.print(humiSalon);
            lcd.print(" %");
            int estadoRele = digitalRead(releCaldera);
      if (estadoRele == LOW){
          Serial.print("Estado relé caldera: ");  
          Serial.println("LOW");
          lcd.setCursor(15,0);
          lcd.print(" ");        
            } else {
                    Serial.print("Estado relé caldera: ");  
                    Serial.println("HIGH");
                    lcd.setCursor(15,0);
                    lcd.print("C");
                    } 
 // Start the server
    ThingSpeak.begin(client);
    Serial.println("Cliente thingspeak iniciado");
    server.begin();
    Serial.println("Server iniciado");
    Serial.println(myWriteAPIKey);
    Serial.println("local ip");
    Serial.println(WiFi.localIP());
    delay(10);
    ThingSpeak.setField(3, tempSalon);
    //ThingSpeak.setField(2, humiSalon); 
    //ThingSpeak.setField(3, estadoRele);
    //ThingSpeak.setField(4, tempDeseadaSalon);
    ThingSpeak.writeFields(String(myChannelNumber).toInt(), myWriteAPIKey);   
    delay(100);
    Serial.println("Enviando datos...");
    Serial.println();
    
            }
         }


void loop() {


  

  
  drd.loop();
  refreshDatosDespacho();
  refreshDatosSalon();

  
 
   WiFiClient client = server.available();
    if (!client) {
        return;    
        }
  
  // Read the first line of the request
  String req = client.readStringUntil('r');
  Serial.println(req);
  client.flush();

   int  val;
  
      int  valDespacho;

      if (req.indexOf("/tempDeseadaDespacho40") != -1){
      tempDeseadaDespacho = 40;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho40") != -1){
      tempDeseadaDespacho = 22;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho23") != -1){
      tempDeseadaDespacho = 23;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho24") != -1){
      tempDeseadaDespacho = 24;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho25") != -1){
      tempDeseadaDespacho = 25;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho26") != -1){
      tempDeseadaDespacho = 26;
      valDespacho = 1;
      } else if (req.indexOf("/tempDeseadaDespacho00") != -1){
      tempDeseadaDespacho = 00;
      valDespacho = 0;

      } else {
      Serial.println("peticion invalida");
      client.stop();
      return;      
      }


      int  valSalon;

      if (req.indexOf("/tempDeseadaSalon40") != -1){
      tempDeseadaSalon = 40;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon22") != -1){
      tempDeseadaSalon = 22;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon23") != -1){
      tempDeseadaSalon = 23;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon24") != -1){
      tempDeseadaSalon = 24;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon25") != -1){
      tempDeseadaSalon = 25;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon26") != -1){
      tempDeseadaSalon = 26;
      valSalon = 1;
      } else if (req.indexOf("/tempDeseadaSalon00") != -1){
      tempDeseadaSalon = 00;
      valSalon = 0;

      } else {
      Serial.println("peticion invalida");
      client.stop();
      return;      
      }

      calderaHabilitada = val;
      client.flush();

  // Prepara la respuesta web

  
  String sDespacho = "HTTP/1.1 200 OKrnContent-Type: text/htmlrnrnrnrnGPIO is now ";
  sDespacho += (valDespacho)?"high":"low";
  sDespacho += "n";
  
  
   String sSalon = "HTTP/1.1 200 OKrnContent-Type: text/htmlrnrnrnrnGPIO is now ";
  sSalon += (valSalon)?"high":"low";
  sSalon += "n";


  // Send the response to the client
  client.print(sDespacho);
  client.print(sSalon);
  delay(1);
  client.stop();
  Serial.println("Client disonnected");
  }



           
     
    
   



  

What is the perfect furnished apartment in central London with fully equipped kitchen? [on hold]

My family and I plan to visit London for a week. We want a stay like home in London, so we are looking for a serviced apartment.

uk – Can I take the 105 bus to the Heathrow Central Bus Station?

I stay at the Premier Inn on Bath Road the night before my flight from Heathrow T3. I do not really want to shell out more than £ 5 per person for the Hopper Hotel bus as I have a travel card that covers all TfL buses.

According to Google, I should take bus 111 from Oxford Avenue (stop H) to get there. However, since I do not trust TfL services that work as expected, I would prefer a backup option in case the 111 does not show up. in a timely manner for whatever reason.

Apparently, the Oxford Avenue bus stop is also served by route 105, which theoretically doubles my chances of catching a bus without waiting too long to stop, but according to the TfL website, despite the departure of the Heathrow Central Station 105 to go to Greenford, towards the airport, it ends just outside Nene Road. For me it does not make much sense (since the bus has to go to the station to start the journey, why does not it take passengers?), So I was wondering if anyone had any experience of first hand this could confirm one way or another.

https://tfl.gov.uk/bus/route/105?direction=inbound

TfL website shows departure from Heathrow Road 105
TfL website shows departure from Heathrow Road 105

https://tfl.gov.uk/bus/route/105?direction=outbound

but do not stop there on your way back
But do not stop there

[Vn5socks.net] Automatic update 24h / 24, 7/7 – good socks at 11:25

LIVE ~ 167.71.146.116:9050 | 0,263 | New York | New York | 10020 | United States | Checked at vn5socks.net
LIVE ~ 72.221.164.35:60670 | 0.285 | Unknown | Unknown | Unknown | United States | Checked at vn5socks.net
LIVE ~ 5.189.224.84:10000 | 0.302 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 24.249.199.14:57335 | 0.328 | Unknown | Unknown | Unknown | United States | Checked at vn5socks.net
LIVE ~ 162.243.28.56:25028 | 0.259 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 72.217.158.195:54810 | 0.303 | Unknown | Unknown | Unknown | United States | Checked at vn5socks.net
LIVE ~ 5.45.81.173:14785 | 0.349 | Unknown | Unknown | Unknown | Russian Federation | Checked at vn5socks.net
LIVE ~ 124.65.145.126:7302 | 0.222 | Pekin | 22 | Unknown | China | Checked at vn5socks.net
LIVE ~ 104.199.149.155:4444 | 0.074 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 169.239.221.90:50802 | 0.499 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 50.116.38.201:1443 | 0.258 | Absecon | New Jersey | 08205 | United States | Checked at vn5socks.net
LIVE ~ 50.62.35.16:10979 | 0.274 | Scottsdale | AZ | 85260 | United States | Checked at vn5socks.net
LIVE ~ 93.104.209.236:6666 | 0.21 | Unknown | Unknown | Unknown | Germany | Checked at vn5socks.net
LIVE ~ 113.253.224.2:1085 | 0.062 | Central District | 00 | Unknown | Hong Kong | Checked at vn5socks.net
LIVE ~ 42.112.20.116:7200 | 0.006 | Hanoi | 44 | Unknown | Vietnam | Checked at vn5socks.net
LIVE ~ 103.47.210.245:5055 | 0,075 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 79.104.222.121:9050 | 0.417 | Krasnoyarsk | 39 | Unknown | Russian Federation | Checked at vn5socks.net
LIVE ~ 70.168.93.201:17009 | 0.319 | Santa Barbara | California | Unknown | United States | Checked at vn5socks.net

FireHeaven
Review by FireHeaven sure
.
[Vn5socks.net] Automatic update 24/7 – Good socks 11:25
LIVE ~ 167.71.146.116:9050 | 0,263 | New York | NY | 10020 | United States | Checked at vn5socks.net
LIVE ~ 72.221.164.35:60670 | 0.285 | Unknown | Unknown | Unknown | United States | Checked at vn5socks.net
LIVE ~ 5.189.224.84:10000 | 0.302 | Unknown | Unknown | Unknown | Unknown | Checked at vn5socks.net
LIVE ~ 24.249.199.14:57335 | 0.328 | Unknown | Unknown | Unknown | United States | Checked at vn5socks.net
LIVE ~ 162.243.28.56:25028 | 0,259 | Unknown |

Evaluation: 5

.

Central server Discord self-promotion

Promote all that is guilt free on Central Self-Promotion! No prerequisites to announce, no lame rules, no guilt or shame. Just advertising and support!

next jobs for central Indian government, latest jobs for state government, last online form 2019. – Everything Else

upcoming central government works, online form 2019, admission cards, results and many more jobs and government results
Sarkariresultsin keeps you up-to-date with detailed information on job performance in central and regional administrations.
If you want to work in society and be part of the economic development of the country,
then a job in the government sector may be the best option for you.
Every year, many jobs are available in the government sector.
Millions of vacancies are expected to be created this year as well, covering the banking sectors,
railways, insurance, civil service, medical, bank, SSC, army, navy, police, UPPSC,
UPSSSC and many other important sectors. Diplomas for these
jobs vary from intermediate to senior level. www.sarkariresultsin.in provides detailed notification
on all government vacancies with eligibility, eligibility, exam pattern, exam preparation, etc.

Central inputs in the Boostrap 4

Hello, I am a beginner in design, I must center the phone entries of the contact names in the following form in boostrap 4, in boostrap 3 if it worked for me
application

  
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.DropDownList("PosicionId", null, htmlAttributes: new { @placeholder = "Posicion ", @class = "form-control" }) @Html.ValidationMessageFor(model => model.PosicionId, "", new { @class = "text-danger" })
@Html.EditorFor(model => model.Nombre, new { htmlAttributes = new { @placeholder = "Nombre del Candidato ", @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Nombre, "", new { @class = "text-danger" })