Примерно так:
lam1 = 0:0.1:4; %lam1 now has 41 elements 0, 0.1, 0.2, ..., 4.0
lam = lam1; % just to create another array of the same size, could use zeros()
lam = 1.6*lam1-0.30*lam1.^2;
% note, operating on all elements in both arrays, will overwrite wrong entries in lam next; more elegant (perhaps quicker too) would be to only operate on lam(1:11)
lam(12:end) = lam1(12:end)+0.3;
но если у вас есть куча таких способов, Matlab может написать функцию для их выполнения.
О, и у вас есть lam1==1
в обоих условиях, вы должны это исправить.
РЕДАКТИРОВАТЬ: для дополнительной краткости вы можете написать:
lam = 1.6*(0:0.1:4)-0.3*(0:0.1:4).^2;
lam(12:end) = (1.1:0.1:4)+0.3;
В этой версии я оставил 1 в первой части, вторая часть начинается в 1.1