Forse è più semplice di quello che sembra.
Se hai
[*] la matrice "v" con le coppie di valori (prima colonna con i valori di "a", seconda colonna con i valori di "b")
[*] i set di equazioni
c = 0.5 * 2/(1-a)
d = 3/(pi* b^2)
e = 6+2a^3
m= 3-1(a+b)
[*] se vuoi calcolare i valori di c, d e ed m per ognuna delle 81 coppie di valori di "a" e "b" (nota che se, anche se le equazioni sono "semplificate" e non corrispondono a quelle "vere", nell'esempio, solo l'ultima contiene entrambe le variabili "a" e "b", nelle altre equazioni otterrai solo 9 valori distinti)
puoi impostare un ciclo for oppure sfruttare la proprietà di indexing di MatLab.
Nel caso del ciclo for, in quello che hai impostato
[code+
[i,j]=size(C)
for a=1:1:i
for b=1:1:j
c = 0.5 * 2/(1-a)
d = 3/(pi* b^2)
e = 6+2a^3
m= 3-1(a+b)
end
end
[/code]
ci sono diversi errori.
Assumendo che la matrice "C" sia, in realtà la matrice "v" che hai pubblicato nell'ultima domanda:
[*] un ciclo è sufficiente, se la prima colonna contiene i valori di "a" e la seconda colonna i valori di "b"
[*] usi l'indice del ciclo direttamente nel calcolo mentre dovresti usarlo per accedere ai valori della matrice "v" (o C)
[*] le variabili di output (c, d, e, m) vengono sovrascritte ad ogni iterazione per cui, al termine del ciclo for, conterranno solo l'ultimo valore calcolato
[*] manca l'operatore "*" (moltiplicazione) in alcuni casi (es. 2a)
Una possibile implementazione del ciclo for potrebbe essere:
[n_row,n_col]=size(v)
% Iizializzazione vettori di output
c=nan(n_row,1);
d=c;
e=c;
m=c;
% Loop sui valori delle coppie "a" w "b"
for i=1:n_row
c(i) = 0.5 .* 2./(1-v(i,1));
d(i) = 3./(pi.* v(i,2)^2);
e(i) = 6+2.*v(i,1)^3;
m(i)= 3-1.*(v(i,1)+v(i,2));
end