Con "in matlab" immagino che tu intenda nella command window.
Intanto ti consiglio comunque di scrivere il codice in un file, lo chiami main.m o come vuoi, ma almeno ti ritrovi il flusso di codice senza doverlo scrivere tutte le volte.
Poi se lo vuoi lanciare, evidenzi le parti che vuoi (riga per riga o blocchi di codice) e premi F9 per farlo calcolare.
Se w non ti serve o non devi cambiarlo per altre simulazione puoi definirlo direttamente all'interno della funzione, altrimenti lo definisci all'interno del file principale, o come stai facendo adesso, ma lo passi anche come ingresso alla funzione (dato che viene usato all'interno della funzione stessa), altrimenti la funzione non lo "vede".
Per passare gli ingressi alla funzione, la function devi scriverla così:
function [ t,y ] = prime(t,y,w,sim)
Mentre nel file principale scrivi:
w=...
sim=...
tstan=[0 3000];
y0=[0 0];
[t,y]= ode45(@(z,y)prime(z,y,w,sim), tstan, y0);
Comunque se cerchi sull'help ode45, ci sono diversi esempi, nel secondo passa anche le variabili alla funzione.
Ricordati comunque, nel caso non lo stessi prendendo in considerazione, che se usi nomi di funzioni che possono essere associati ad una parola inglese, di controllare (nell'help) che non esistano funzioni proprie di matlab con lo stesso nome, altrimenti matlab potrebbe darti risultati assurdi o dare errore perchè utilizzerebbe la sua funzione al posto della tua.
Nel tuo caso non esiste una funzione "prime" quindi non c'è problema.