Le due domande non sono chiare:
1) Devo definire una funzione a tratti di questo tipo:
s[phij(t)] = 1 se phie<phij<phia
0 altrimenti
con phie e phia definite nella workspace
cosa rappresenta "s[phij(t)]"?
se "s" vuole essere un vettore, phij(t) deve essere un intero >= 1 e ci vogliono le () invece delle []
phij(t) è la funzione che devi scrivere? Se è così, cosa rappresenta s[phij(t)]?
cosa è "t" uno scalare? Un vettore?
"con phie e phia definite nella workspace" ==> come scritto nella risposta precedente, per "far vedere" ad una funzione delle variabili definite nel Workspace, bisogna che queste vengano passate come parametri alla funzione stessa
Nela seconsa domanda ci sono troppe variabili / indici per cui non è possibile dare una risposta:
cosa rappresenta "2(s[phij(t)]*[Kt*cj(t)+Kn*sj(t)]*sj(t)"? uno scalare?
Ci sono variabili che sembrano "indici" di loop: come sono definiti?
Ad ogni modo, per la prima domanda la risposta sembra implicita nella domanda stessa: si tratta di implementare un blocco "if" del tipo:
if(phie < phij && phij < phia)
s(idx)=1
else
s(idx)=0
end
tutto, però dipende da cosa sia "phij(t)"
Per quanto riguarda la seconda domanda, prescindendo dalle variabili e / indici che hai scritto, una sommatoria si implementa semplicemente con un loop del tipo:
somma=0
for i=1:n
somma=somma+(a(i)*b(i)-c(i))
end
dove, ovviamente, a, b, c sono dei vettori (tanto per fare un esempio)
Consentimi di essere sincero, mi sembra di capire che la difficoltà maggiore sia non tanto l'implementazione delle funzioni che hai descritto, quanto, piuttosto, nella scarsa conoscenza dei "fondamenti" di MatLab e della programmazione in genere.
Spero di sbagliarmi, ma se dovesse essere così, ti consiglio di cominciare con qualcosa di più semplice.